OpenTelemetry Agent Skills
This repository contains reusable agent skills for OpenTelemetry.
The skills are non-opinionated by design — there are many valid ways to use OpenTelemetry, and prescribing conventions is out of scope.
They are designed for token-efficient, agent-friendly retrieval: small fetch tables, lookup indexes, and scripts that point at upstream sources of truth instead of copying docs into context. The agent finds what it missed during training; answers stay current as the project evolves.
Installation
skills.sh
Install all skills:
npx skills add https://github.com/ollygarden/opentelemetry-agent-skills
Or install a single skill by pointing at its folder, e.g.:
npx skills add https://github.com/ollygarden/opentelemetry-agent-skills/tree/main/skills/otel-go
Claude Code
-
Register the repository as a plugin marketplace:
/plugin marketplace add ollygarden/opentelemetry-agent-skills -
Install a skill:
/plugin install <skill-name>@opentelemetry-agent-skillsFor example:
/plugin install otel-go@opentelemetry-agent-skills
Repository Structure
Each skill is a self-contained folder under skills/, named to match its name: field per
the agentskills.io specification. Language-specific
skills bundle task-focused references; language-agnostic skills sit alongside them.
skills/
otel-go/
SKILL.md # name: otel-go
references/ # declarative-setup, api, instrumentation-libraries, performance, breaking-changes, compile-time-instrumentation
otel-java/
SKILL.md
references/
otel-js/
SKILL.md
references/
otel-python/
SKILL.md
references/
otel-dotnet/
SKILL.md
references/
otel-browser/
SKILL.md
references/ # setup-sdk, instrumentation, performance
otel-collector/
SKILL.md
components/ # one directory per Collector component (log_dedup, interval, …)
otel-collector-builder/
SKILL.md
references/ # manifest, workflows, troubleshooting
otel-declarative-config/
otel-ottl/
otel-sdk-versions/
otel-semantic-conventions/
otel-span-events-to-logs-migration/
otel-telemetrygen/
otel-weaver/
Available Skills
Language-agnostic skills:
| Skill | Path | Use When |
|---|---|---|
otel-collector |
skills/otel-collector/ |
Configuring OpenTelemetry Collector components — config keys, defaults, validation, signal support, stability, and gotchas. Progressive disclosure via components/<type>/README.md plus on-demand detail files. |
otel-collector-builder |
skills/otel-collector-builder/ |
Building custom OpenTelemetry Collector distributions with OCB — authoring the builder manifest, aligning core/contrib/provider versions, local component development, CI/Docker/multi-arch builds, and build troubleshooting. |
otel-declarative-config |
skills/otel-declarative-config/ |
Configuring OpenTelemetry SDK providers via a single YAML file (otelconf, OTEL_CONFIG_FILE, file_format). Points at the upstream schema, env-var substitution rules, and configuration precedence. |
otel-ottl |
skills/otel-ottl/ |
Authoring or reviewing OTTL statements for transform, filter, routing, and tail_sampling processors; debugging OTTL syntax and semantics; transforming traces, metrics, logs, and profiles in the Collector. |
otel-sdk-versions |
skills/otel-sdk-versions/ |
Choosing the latest compatible released OpenTelemetry SDK or package version for a language and finding setup docs or examples. |
otel-semantic-conventions |
skills/otel-semantic-conventions/ |
Selecting released semantic convention groups, attributes, and span naming rules; checking compliance; looking up exact upstream entries via the bundled query script. |
otel-span-events-to-logs-migration |
skills/otel-span-events-to-logs-migration/ |
Migrating instrumentation from the deprecated Span Event API (AddEvent, RecordException) to the Logs API following the OTEP 4430 deprecation plan. |
otel-telemetrygen |
skills/otel-telemetrygen/ |
Constructing telemetrygen commands for generating synthetic traces, metrics, and logs; load-testing collectors; validating OTTL transforms, tail sampling, and filter rules. |
otel-weaver |
skills/otel-weaver/ |
Authoring an OpenTelemetry Weaver registry, writing Jinja2 templates, generating language bindings, and wiring weaver registry check/generate/diff into CI. |
Language-specific skills:
| Skill | Path | Use When |
|---|---|---|
otel-go |
skills/otel-go/ |
OpenTelemetry in Go: declarative SDK setup with otelconf, API surface, contrib instrumentation libraries (otelhttp, otelgrpc, etc.), compile-time zero-code instrumentation (otelc), performance tuning, and breaking-change audits. |
otel-java |
skills/otel-java/ |
OpenTelemetry in Java: Javaagent zero-code instrumentation, Spring Boot Starter, manual autoconfigure SDK, declarative YAML configuration, and BOM dependency management. |
otel-js |
skills/otel-js/ |
OpenTelemetry in Node.js / JavaScript / TypeScript: NodeSDK setup, declarative YAML configuration via @opentelemetry/configuration, auto-instrumentations, and ESM vs CJS import patterns. |
otel-python |
skills/otel-python/ |
OpenTelemetry in Python: declarative SDK setup via file config, API surface and logging bridge, zero-code instrumentation (opentelemetry-distro / opentelemetry-instrument) and contrib catalog, performance tuning, breaking-change audits. |
otel-dotnet |
skills/otel-dotnet/ |
OpenTelemetry in .NET: DI/builder SDK setup (OpenTelemetry.Extensions.Hosting), native BCL instrumentation (ActivitySource, Meter, ILogger), zero-code CLR-profiler agent and contrib instrumentation catalog, performance tuning, breaking-change audits. |
otel-browser |
skills/otel-browser/ |
OpenTelemetry in the browser (Real User Monitoring / RUM): web tracing SDK (sdk-trace-web, context-zone) and experimental browser-sdk, event- and span-based browser instrumentations (web vitals, navigation, errors, fetch/XHR), sessions, frontend→backend trace propagation, and bundle-size/cost/PII trade-offs. |
Contributing
Contributions are welcome — including pull requests authored and implemented by AI coding agents. See CONTRIBUTING.md for the full guide. The essentials:
- Keep skills DRY. Prefer referencing official docs, examples, and source code that are already maintained instead of copying large amounts of additional knowledge into the skill. There will be exceptions, but the default should be to link or point to the maintained source of truth.
- Design skills to be token efficient. Avoid dumping large files or broad context into a skill when a targeted lookup, focused reference, or small generated artifact will do.
- Stay vendor neutral.
- Skills must conform to the Agent Skills specification.
- PRs that add or substantively change a skill must include harness results: the same prompt run on a frontier model without and with the skill, showing the skill helps.
- Contributors sign the organization-wide OllyGarden CLA on their first pull request.
All participants must follow OllyGarden's Code of Conduct. See SUPPORT.md for help and issue routing, and OllyGarden's organization-wide governance policy for project roles and decision making. Report suspected vulnerabilities privately under the inherited security policy.
No comments yet
Be the first to share your take.