Otel dotnet
Skill ollygarden/opentelemetry-agent-skills/skills/otel-dotnet
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.From its SKILL.md
npx -y skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnetAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- runs commandsInstructs the agent to run 2 commands, including `gh api repos/open-telemetry/opentelemetry-dotnet/releases/latest -q '.tag_name'` and 1 more.
- fetches URLsInstructs the agent to fetch 5 URLs, including https://www.nuget.org/packages/<PackageId> and 4 more.
SKILL.md
3.7 KB, 700 tokens by cl100k_base, as published. Nobody here has run it
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
| File | Use when |
|---|---|
references/setup.md | Setting 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 declarative YAML config in .NET. |
references/api.md | Instrumenting 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.md | Zero-code (the opentelemetry-dotnet-instrumentation CLR-profiler agent), the contrib instrumentation-package catalog, and manual instrumentation following semconv. |
references/performance.md | Tuning sampling, batch export processor, periodic metric reader, views, exporter choice, async context, graceful shutdown. |
references/breaking-changes.md | Auditing 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 implement declarative config (see references/setup.md).
For .NET-specific facts:
| Fact | Fetch |
|---|---|
Latest OpenTelemetry core / core-* tag | gh 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 agent | gh api repos/open-telemetry/opentelemetry-dotnet-instrumentation/releases/latest -q '.tag_name' |
| Core CHANGELOG (per package) | WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-dotnet/main/src/<Package>/CHANGELOG.md |
| Contrib CHANGELOG (per package) | WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-dotnet-contrib/main/src/<Package>/CHANGELOG.md |
| .NET getting-started / instrumentation docs | WebFetch https://opentelemetry.io/docs/languages/dotnet/instrumentation/ |
| Zero-code agent docs | WebFetch https://opentelemetry.io/docs/zero-code/dotnet/ |
Cross-References
- Schema-level facts:
otel-declarative-configskill (language-agnostic YAML schema sources; .NET not yet implemented). - SDK version selection across languages:
otel-sdk-versionsskill. - Semantic conventions lookup:
otel-semantic-conventionsskill.
What ships with it: 5 files
59.3 KB alongside SKILL.md
references/
- api.md11.1 KB
- breaking-changes.md8.7 KB
- instrumentation-libraries.md13.8 KB
- performance.md18.5 KB
- setup.md7.1 KB
Gives 0 of the 12 instructions most monitoring observability skills give in 700 tokens
Counted across 530 of the 532 authors here whose files we hold, read 2026-09-06
- Use structured JSON loggingin 40 of 530, across 36 files
- Link every alert to a runbookin 29 of 530, across 27 files
- Attach correlation IDs to every log linein 19 of 530, across 16 files
- Alert on symptoms rather than causesin 19 of 530, across 17 files
- Use OpenTelemetry for distributed tracingin 15 of 530, across 14 files
- Alert on symptoms users feelin 15 of 530, across 13 files
- Implement health check endpointsin 14 of 530, across 10 files
- Inspect existing dashboards firstin 12 of 530, across 4 files
- Build the minimum useful boardin 12 of 530, across 4 files
- Start from operator questionsin 12 of 530, across 4 files
- Propagate trace context across boundariesin 11 of 530, across 10 files
- Include trace id in all log entriesin 10 of 530, across 9 files
Said here and by no other author read
- Load a reference based on the task
- Fetch the latest release tag using gh api
- Fetch package version using WebFetch
- Fetch agent docs using WebFetch
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.