Sandbox
@ollygarden/opentelemetry-agent-skills

OpenTelemetry skills for Claude Code and other agents

This repository packages OpenTelemetry knowledge as small, reusable agent skills. Each skill uses fetch tables, lookup indexes, and scripts that point at maintained upstream docs and source instead of embedding long reference text.

97 stars10 forksShellUpdated 8d ago
Who it's for

Builders who want their coding agent to work with OpenTelemetry without re-explaining the basics every session.

What it delivers

You can add focused OpenTelemetry guidance to your agent workflow while keeping answers current and easy to retrieve.

What it does

Language-agnostic OpenTelemetry skills

Includes skills for the Collector, OTTL, semantic conventions, telemetry emissions, upgrades, telemetrygen, declarative config, span-event migration, and Weaver.

Language-specific skills

Covers OpenTelemetry for Go, Java, JavaScript, Python, .NET, Ruby, and browser use cases, each with task-focused references.

Token-efficient retrieval

Uses small indexes, lookup tables, and scripts that point at upstream sources of truth instead of copying full docs into the skill.

Validation scripts

Provides `bin/validate-skill.sh` and `bin/check-skill-inventory.py` to check Agent Skills spec conformance and repo rules.

Claude Code plugin support

Includes `.claude-plugin/` files so the repository can be installed as a Claude Code marketplace plugin.

Authoring workflow guidance

Documents the preferred change flow in `docs/preferred-workflow.md` and repository rules in `CONTRIBUTING.md`.

How to get it

  1. 1Install all skills
    npx skills add https://github.com/ollygarden/opentelemetry-agent-skills
  2. 2Or 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
  3. 3Register the repository as a plugin marketplace
    /plugin marketplace add ollygarden/opentelemetry-agent-skills
  4. 4Install a skill
    /plugin install <skill-name>@opentelemetry-agent-skills
  5. 5For example
    /plugin install otel-go@opentelemetry-agent-skills

README

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

  1. Register the repository as a plugin marketplace:

    /plugin marketplace add ollygarden/opentelemetry-agent-skills
    
  2. Install a skill:

    /plugin install <skill-name>@opentelemetry-agent-skills
    

    For 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-ruby/
    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-telemetry-emissions/
    SKILL.md
    <repo>/<path>/     # generated telemetry inventories, one file per version
  otel-telemetrygen/
  otel-upgrade/
    SKILL.md
    references/        # dependency and Collector upgrade workflows
  otel-weaver/

bin/                     # the gates CI runs, runnable locally
  validate-skill.sh      # Agent Skills spec conformance + house rules
  check-skill-inventory.py
  skills-ref.requirement # pinned validator revision; the single source
docs/
  preferred-workflow.md  # how a change moves through this repository
tools/otel-agent-tools/  # Go CLI that generates bundled reference data
tools/otel-telemetry-emission-scan/  # Authoring-time telemetry emission scanner

Available Skills

Language-agnostic skills:

SkillPathUse When
otel-collectorskills/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-builderskills/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-configskills/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-ottlskills/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-versionsskills/otel-sdk-versions/Choosing the latest compatible released OpenTelemetry SDK or package version for a language and finding setup docs or examples.
otel-semantic-conventionsskills/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-migrationskills/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-telemetry-emissionsskills/otel-telemetry-emissions/Looking up which telemetry (spans, metrics, logs, attributes) a collector component or SDK instrumentation package emits at a specific version, and how emission changed across versions — e.g. when upgrading a component or SDK.
otel-telemetrygenskills/otel-telemetrygen/Constructing telemetrygen commands for generating synthetic traces, metrics, and logs; load-testing collectors; validating OTTL transforms, tail sampling, and filter rules.
otel-upgradeskills/otel-upgrade/Assessing OpenTelemetry package and Collector upgrades across ecosystems, including version selection, dependency compatibility, Collector distributions, configuration, builds, runtime behavior, telemetry changes, and rollout risk.
otel-weaverskills/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:

SkillPathUse When
otel-goskills/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-javaskills/otel-java/OpenTelemetry in Java: Javaagent zero-code instrumentation, Spring Boot Starter, manual autoconfigure SDK, declarative YAML configuration, and BOM dependency management.
otel-jsskills/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-pythonskills/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-dotnetskills/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-rubyskills/otel-ruby/OpenTelemetry in Ruby: SDK and Bundler setup, manual tracing, experimental metrics and logs, contrib instrumentation for Rails/Rack/Sinatra/Sidekiq and other gems, propagation, performance, and breaking-change audits.
otel-browserskills/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. Check yours with ./bin/validate-skill.sh and ./bin/check-skill-inventory.py — the same gates CI runs.
  • 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.
  • docs/preferred-workflow.md walks a change through the repository end to end, from branch to merge.
  • 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.

Files in the repo

Repository payload15 top-level entries
  • .claude-plugin
  • .github
  • bin
  • docs
  • skills
  • tools
  • .gitignore
  • AGENTS.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • go.work
  • LICENSE
  • README.md
  • renovate.json
  • SUPPORT.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More skills

obra/
superpowers

An agentic skills framework & software development methodology that works.

285k
1 add

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.

117k
1 add
Vincentwei1021/
anything2explainer

Topic in, narrated explainer video out. A Claude Code / Codex skill that turns any topic into a black-canvas motion-graphics explainer video with TTS voiceover, subtitles and a chapter progress bar. Chinese or English; every frame drawn in code with Remotion.

666

Open-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)

71k