About otel-semantic-conventions
otel-semantic-conventions is a skill for developers who need released OpenTelemetry naming and attribute guidance. It queries targeted convention details and helps verify implementations against a local upstream checkout.
Key features
- 01Query released convention groups and attributes
- 02Select conventions before creating custom keys
- 03Check local upstream repository guidance
- 04Include version and source context
Use cases
- 01Choose span names and telemetry attributes
- 02Check convention compliance in an implementation
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ ollygarden/ opentelemetry-agent-skills --skill otel-semantic-conventionsAfter installing, type/otel-semantic-conventionsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
evals/evals.jsonreferences/otel-semantic-conventions.mdsdk-semconv-packages.mdsemconv-selection.mdscripts/query-otel-semantic-conventions.shtest-query-otel-semantic-conventions.shDetails
From the project READMEOpenTelemetry Semantic Conventions
Use this skill when you need released semantic convention guidance for naming, attributes, or compliance checks.
Workflow
- Start with released semantic conventions, not model memory.
- do not load the full semantic convention spec into context
- use the bundled lookup script to query only the needed released group or attribute
- for local verification against a checked-out upstream repo, set
OTEL_SEMCONV_REPO=/path/to/semantic-conventions
- Choose the closest released group before inventing custom keys.
- identify the boundary type such as
http,db,messaging,rpc, ornetwork - pick one primary group first, then add related groups only when they add needed context
- for
gen_ai.*, OpenAI, or MCP conventions, useopen-telemetry/semantic-conventions-genai; it has no tagged release as of 2026-10-25, so cite the commit and label the guidance unreleased (the lookup script does not cover it); the core repository keeps only deprecated GenAI-era stubs after v1.42.0 - see
references/semconv-selection.md - to target a version a language's semconv package actually exposes (works offline, dated), see
references/sdk-semconv-packages.md
- Query only the released guidance you need.
- list groups:
./scripts/query-otel-semantic-conventions.sh --groups - inspect one group:
./scripts/query-otel-semantic-conventions.sh http - inspect one kind:
./scripts/query-otel-semantic-conventions.sh http spans - inspect one exact attribute or entry:
./scripts/query-otel-semantic-conventions.sh http http.request.method - see
references/otel-semantic-conventions.md - after changing the parser, run
OTEL_SEMCONV_REPO=/path/to/semantic-conventions bash ./scripts/test-query-otel-semantic-conventions.sh
- Apply the released naming and attribute rules directly.
- use required and recommended attributes before optional ones
- derive semconv-governed span names directly from the released naming rule
- do not prepend or append protocol labels, hostnames, product names, business hints, or other custom prose to semconv-governed span names
- if the released naming rule does not provide a low-cardinality target, use the simpler fallback allowed by that convention
- if no released key exists, use a stable custom namespace and keep values bounded
- Return the result with exact source context.
- include the group name, released version, and source URL from the script output
- call out any concrete compatibility limitation if the implementation cannot fully match the released guidance
Comments
Markdown supported