maple-onboarding-style
Installation
SKILL.md
Maple OTel onboarding style
Use native OpenTelemetry APIs. Do not invent helper APIs.
Business spans in TypeScript/JavaScript
Use tracer.startActiveSpan with try / catch / finally: record the exception and set Error status before rethrowing, and end the span in finally. The callback form keeps the span active for everything inside it, in browsers too, and keeps the function sync or async as it was. Don't hide this behind a local helper (withSpan, traced, …). Don't add spans around provider SDK calls that OpenInference / provider instrumentation already observes.
Do:
import { metrics, SpanStatusCode, trace } from "@opentelemetry/api"
const tracer = trace.getTracer("orders.api")
const meter = metrics.getMeter("orders.api")
const ordersSubmitted = meter.createCounter("orders.submitted")