OpenTelemetry in .NET — DI/builder SDK setup (OpenTelemetry.Extensions.Hosting, AddOpenTelemetry, UseOtlpExporter, OpenTelemetrySdk.Create), native .NET instrumentation APIs (ActivitySource…

Apache-2.0Auto-check passedDevOps & Cloud

Install Otel Dotnet

skills CLI
$ npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ollygarden/opentelemetry-agent-skills otel-dotnet --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ollygarden/opentelemetry-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/otel-dotnet .claude/skills/otel-dotnet && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
otel-dotnet
GitHub stars
106
Token cost
~988 tokens
SKILL.md length
243 words
Files
6 (incl. references)
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

OpenTelemetry in .NET — DI/builder SDK setup (OpenTelemetry.Extensions.Hosting, AddOpenTelemetry, UseOtlpExporter, OpenTelemetrySdk.Create), native .NET instrumentation APIs (ActivitySource…

  • Configuring OpenTelemetry in a .NET
  • SKILL.md covers References, Sources of Truth and Cross-References
  • Calls gh; reaches raw.githubusercontent.com and opentelemetry.io
  • ASP.NET Core service

What it does

Otel Dotnet is an agent skill from ollygarden/opentelemetry-agent-skills. OpenTelemetry in .NET — DI/builder SDK setup (OpenTelemetry.Extensions.Hosting, AddOpenTelemetry, UseOtlpExporter, OpenTelemetrySdk.Create), native .NET instrumentation APIs (ActivitySource, System.Diagnostics.Metrics Meter) plus logging abstractions (ILogger), zero-code CLR-profiler agent, contrib instrumentation packages, performance tuning, and breaking-change audits. Use when adding, reviewing, or configuring OpenTelemetry in a .NET or ASP.NET Core service. Triggers on "setup otel in dotnet", "dotnet…

Its SKILL.md is about 990 tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/api.md`, `references/breaking-changes.md` and `references/instrumentation-libraries.md`).

It sits in DevOps & Cloud, covering Observability. It works with OpenTelemetry, .NET, ASP.NET Core and C#. The repository describes itself as: Vendor-neutral OpenTelemetry skills for AI coding agents like Claude Code, Cursor, and Codex, grounded in upstream sources. The licence is Apache-2.0.

When your agent uses it

  • Configuring OpenTelemetry in a .NET
  • ASP.NET Core service
  • Setup otel in dotnet
  • Dotnet telemetry

Example prompts

  • “setup otel in dotnet”
  • “dotnet telemetry”
  • “.net tracing”
  • “/otel-dotnet”

What it can do on your machine

Read from SKILL.md and the folder at commit 12296db. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • raw.githubusercontent.com
    • opentelemetry.io
    • nuget.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Otel Dotnet loads about 988 tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 206 tokens; SKILL.md has 243 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~206
When it runs · the whole SKILL.md, loaded when a task matches
~988
With references · SKILL.md plus every file in references/, read only if the agent opens them
~17k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ollygarden/opentelemetry-agent-skills at commit 12296db, republished under its Apache-2.0 licence (© ollygarden). 243 words, ~988 tokens.

Download SKILL.mdSave it as .claude/skills/otel-dotnet/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
otel-dotnet
description
OpenTelemetry in .NET — DI/builder SDK setup (OpenTelemetry.Extensions.Hosting, AddOpenTelemetry, UseOtlpExporter, OpenTelemetrySdk.Create), native .NET instrumentation APIs (ActivitySource, System.Diagnostics.Metrics Meter) plus logging abstractions (ILogger), zero-code CLR-profiler agent, contrib instrumentation packages, performance tuning, and breaking-change audits. Use when adding, reviewing, or configuring OpenTelemetry in a .NET or ASP.NET Core service. Triggers on "setup otel in dotnet", "dotnet telemetry", ".net tracing", "ASP.NET Core opentelemetry", "AddOpenTelemetry", "UseOtlpExporter", "OpenTelemetrySdk.Create", "ActivitySource", "System.Diagnostics.Metrics Meter", "ILogger opentelemetry", "OpenTelemetry.Extensions.Hosting", "opentelemetry-dotnet-instrumentation", or any C# OTel question.

OpenTelemetry in .NET

Entry point for OpenTelemetry mechanics in .NET services. Load a reference below based on the task; each reference is self-contained.

References

FileUse when
references/setup.mdSetting up the SDK via the DI/builder path (AddOpenTelemetry().WithTracing/WithMetrics/WithLogging, UseOtlpExporter, OpenTelemetrySdk.Create, OpenTelemetry.Extensions.Hosting), exporter wiring, env-var / IConfiguration inputs, and why there is no released declarative YAML config in .NET.
references/api.mdInstrumenting with native BCL APIs (ActivitySource/Activity, System.Diagnostics.Metrics.Meter, ILogger), how the SDK subscribes (AddSource/AddMeter), attributes, propagation, and the optional OTel API shim.
references/instrumentation-libraries.mdZero-code (the opentelemetry-dotnet-instrumentation CLR-profiler agent), the contrib instrumentation-package catalog, and manual instrumentation following semconv.
references/performance.mdTuning sampling (built-in samplers incl. AlwaysRecordSampler), batch export processor, periodic metric reader, views, exporter choice, async context, graceful shutdown.
references/breaking-changes.mdAuditing existing code for deprecated/renamed APIs and semconv changes across recent core/contrib releases.

Sources of Truth

For YAML schema details (language-agnostic), see the otel-declarative-config skill — but note .NET does not yet have a released declarative-config implementation (see references/setup.md). For .NET-specific facts:

FactFetch
Latest OpenTelemetry core / core-* taggh api repos/open-telemetry/opentelemetry-dotnet/releases/latest -q '.tag_name'
Latest NuGet package (OpenTelemetry, OpenTelemetry.Extensions.Hosting, exporters, OpenTelemetry.Instrumentation.<pkg>)WebFetch https://www.nuget.org/packages/<PackageId> (Version)
Latest auto-instrumentation agentgh api repos/open-telemetry/opentelemetry-dotnet-instrumentation/releases/latest -q '.tag_name'
Core CHANGELOG (per package, at the release being audited)WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-dotnet/<core-tag>/src/<Package>/CHANGELOG.md
Contrib CHANGELOG (per package, at that package's release tag)WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-dotnet-contrib/<package-tag>/src/<Package>/CHANGELOG.md
.NET getting-started / instrumentation docsWebFetch https://opentelemetry.io/docs/languages/dotnet/instrumentation/
Zero-code agent docsWebFetch https://opentelemetry.io/docs/zero-code/dotnet/

Cross-References

  • Schema-level facts: otel-declarative-config skill (language-agnostic YAML schema sources; .NET not yet implemented).
  • SDK version selection across languages: otel-sdk-versions skill.
  • Semantic conventions lookup: otel-semantic-conventions skill.

© ollygarden, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/otel-dotnet of ollygarden/opentelemetry-agent-skills.

  • SKILL.md
  • references/api.md
  • references/breaking-changes.md
  • references/instrumentation-libraries.md
  • references/performance.md
  • references/setup.md

Open the folder on GitHubat commit 12296db

Compare with similar skills

Otel Dotnet next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Otel Dotnet compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Otel Dotnet this skillollygarden/opentelemetry-agent-skills106—~988Automated safety check: PassApache-2.0
Aspire Service DefaultsAaronontheweb/dotnet-skills1.2k1 repos~2.6kAutomated safety check: PassMIT
Loggingcodewithmukesh/dotnet-claude-kit756—~1.6kAutomated safety check: PassMIT
Opentelemetry Net InstrumentationAaronontheweb/dotnet-skills1.2k—~6.9kAutomated safety check: PassMIT
Migrate Dotnet9 To Dotnet10dotnet/skills5.6k2 repos~4.8kAutomated safety check: PassMIT
Otel Instrumentationatherio-danp/cde-dotnetcc109—~1.3kAutomated safety check: NotesNone

Similar skills

  • Aspire Service Defaults

    Aaronontheweb/dotnet-skills

    Sets up a shared ServiceDefaults project for .NET Aspire apps that centralizes OpenTelemetry, health checks, HTTP resilience and service discovery for every service.

    1.2k GitHub starsUsed in 1 repo~2.6k tokens
    DevOps & CloudAuto-check passed
  • Logging

    codewithmukesh/dotnet-claude-kit

    Observability overview and glue for .NET 10: how the pieces fit together, plus the cross-cutting parts owned here — ASP.NET health check endpoints (/health), correlation IDs, and log-level strategy.

    756 GitHub stars~1.6k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Opentelemetry Net Instrumentation

    Aaronontheweb/dotnet-skills

    Provides guidance for implementing OpenTelemetry instrumentation in .NET codebases, covering tracing (Activities/Spans), metrics, logs, naming conventions, error handling, performance, SDK setup…

    1.2k GitHub stars~6.9k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Official

    Migrate a .NET 9 project or solution to .NET 10 and resolve all breaking changes.

    5.6k GitHub starsUsed in 2 repos~4.8k tokens
    DevOps & CloudAuto-check passed
  • Otel Instrumentation

    atherio-danp/cde-dotnetcc

    Add or change OpenTelemetry tracing, metrics, and structured logging in the .NET API (apps/api) — OTLP exporter setup, custom ActivitySource spans, IMeterFactory metrics, log/trace correlation.

    109 GitHub stars~1.3k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check: notes
  • Official

    Migrate a .NET 10 project or solution to .NET 11 and resolve all breaking changes.

    5.6k GitHub starsUsed in 1 repo~3.6k tokens
    DevOps & CloudAuto-check passed

More from ollygarden/opentelemetry-agent-skills

All 19 skills in this repo
  • Otel Collector Builder

    ollygarden/opentelemetry-agent-skills

    Build custom OpenTelemetry Collector distributions with OCB (OpenTelemetry Collector Builder).

    106 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Otel Go

    ollygarden/opentelemetry-agent-skills

    OpenTelemetry in Go — SDK setup, API surface, breaking changes, contrib instrumentation libraries (otelhttp, otelgrpc, otelmongo), compile-time zero-code instrumentation (otelc), and performance…

    106 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Otel Ottl

    ollygarden/opentelemetry-agent-skills

    OpenTelemetry Transformation Language (OTTL) expert for writing and debugging telemetry transformations in the OpenTelemetry Collector.

    106 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Otel Span Events To Logs Migration

    ollygarden/opentelemetry-agent-skills

    Migrate OpenTelemetry Span Events (AddEvent, RecordException, and language equivalents) to the Logs API following the accepted OTEP 4430 migration plan.

    106 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Otel Telemetrygen

    ollygarden/opentelemetry-agent-skills

    Build safe, version-pinned telemetrygen commands for synthetic OTLP traces, metrics, and logs.

    106 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Otel Upgrade

    ollygarden/opentelemetry-agent-skills

    Assess OpenTelemetry package and Collector upgrades across ecosystems.

    106 GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Categories

Questions about Otel Dotnet

What does Otel Dotnet do?

OpenTelemetry in .NET — DI/builder SDK setup (OpenTelemetry.Extensions.Hosting, AddOpenTelemetry, UseOtlpExporter, OpenTelemetrySdk.Create), native .NET instrumentation APIs (ActivitySource…. Otel Dotnet is an agent skill from ollygarden/opentelemetry-agent-skills.Metrics Meter) plus logging abstractions (ILogger), zero-code CLR-profiler agent, contrib instrumentation packages, performance tuning, and breaking-change audits.

When should I use Otel Dotnet?

Otel Dotnet fits situations like: configuring OpenTelemetry in a .NET; ASP.NET Core service; setup otel in dotnet; dotnet telemetry.

How do I install Otel Dotnet in Claude Code?

Run `npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a claude-code`. Or copy the skill folder (skills/otel-dotnet in ollygarden/opentelemetry-agent-skills) into .claude/skills/otel-dotnet in your project. Claude Code loads it when a task matches its description.

How do I install Otel Dotnet in Codex?

Run `npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a codex`. Or copy the skill folder (skills/otel-dotnet in ollygarden/opentelemetry-agent-skills) into .agents/skills/otel-dotnet in your project. Codex loads it when a task matches its description.

Can I use Otel Dotnet in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/otel-dotnet, .gemini/skills/otel-dotnet, .github/skills/otel-dotnet and .opencode/skills/otel-dotnet in your project.

What does Otel Dotnet need to run?

Going by SKILL.md and its folder, Otel Dotnet needs the command-line tools its instructions call (gh).

Does Otel Dotnet access the network?

SKILL.md names 3 domains. In commands or code: raw.githubusercontent.com, opentelemetry.io and nuget.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Otel Dotnet safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Otel Dotnet use?

Otel Dotnet is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Otel Dotnet use?

About 988 tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16k tokens, read only when the agent opens those files.

What are the alternatives to Otel Dotnet?

Skills that share tags, products or a category with Otel Dotnet: Aspire Service Defaults (Aaronontheweb/dotnet-skills, 1.2k stars), Logging (codewithmukesh/dotnet-claude-kit, 756 stars), Opentelemetry Net Instrumentation (Aaronontheweb/dotnet-skills, 1.2k stars) and Migrate Dotnet9 To Dotnet10 (dotnet/skills, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Otel Dotnet?

ollygarden (a GitHub organization) maintains it in ollygarden/opentelemetry-agent-skills, which has 106 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 10, 2026.

Source: ollygarden/opentelemetry-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.