otel-dotnet — скилл для Claude Code: OpenTelemetry в .NET
Скилл по OpenTelemetry в .NET и ASP.NET Core: настройка SDK через DI, инструментирование, zero-code агент, аудит ломающих изменений.
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a claude-codeЧто делает otel-dotnet
Скилл отвечает на вопросы про телеметрию в C#-сервисах. Внутри пять справочников, и агент подгружает нужный по задаче: настройка SDK через DI/builder (AddOpenTelemetry, UseOtlpExporter, OpenTelemetrySdk.Create, OpenTelemetry.Extensions.Hosting), работа с нативными API (ActivitySource, System.Diagnostics.Metrics.Meter, ILogger), zero-code агент opentelemetry-dotnet-instrumentation и пакеты contrib, тюнинг производительности, разбор устаревших и переименованных API.
Каждый справочник самодостаточен, поэтому читать всё подряд не нужно. Для актуальных версий скилл берёт данные из источников: релизы opentelemetry-dotnet через gh api, страницы пакетов на NuGet, CHANGELOG по тегам core и contrib, документацию на opentelemetry.io. Декларативного YAML-конфига в .NET пока нет — если ищете именно его, скилл отправит к языко-независимому otel-declarative-config, но рабочей реализации под .NET там не найдёте.
Есть перекрёстные ссылки на скиллы otel-sdk-versions и otel-semantic-conventions — выбор версии SDK и семантические конвенции разбираются отдельно. Полезно, когда сервис уже собирает трейсы, а вы хотите добавить метрики или логи без переписывания кода.
Какие задачи решает
- подключить OpenTelemetry к ASP.NET Core через DI
- настроить экспорт трейсов и метрик по OTLP
- добавить инструментирование через
ActivitySourceиMeter - включить zero-code агент без правок кода
- найти переименованные API после обновления пакетов
Примеры запросов агенту
- Настрой OpenTelemetry в моём ASP.NET Core сервисе через
AddOpenTelemetry - Добавь метрики через
System.Diagnostics.Metrics.Meterи подключи экспорт по OTLP - Проверь код на устаревшие API OpenTelemetry после обновления пакетов
Как установить otel-dotnet
1Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a claude-code2Вручную: положить файлы
~/.claude/skills/otel-dotnet/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/otel-dotnet/
1Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a codex2Вручную: положить файлы
.agents/skills/otel-dotnet/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a cursor2Вручную: положить файлы
.cursor/skills/otel-dotnet/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ollygarden/opentelemetry-agent-skills otel-dotnet2Вручную: положить файлы
.github/skills/otel-dotnet/SKILL.md1Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a gemini-cli2Командой платформы
gemini skills install https://github.com/ollygarden/opentelemetry-agent-skills --path skills/otel-dotnetВручную: положить файлы
.devin/skills/otel-dotnet/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о otel-dotnet
Как установить otel-dotnet в Claude Code?
Выполните npx skills add ollygarden/opentelemetry-agent-skills --skill otel-dotnet -a claude-code, затем проверьте файл ~/.claude/skills/otel-dotnet/SKILL.md.
Что делает otel-dotnet?
Даёт агенту справочники по OpenTelemetry в .NET: настройка SDK, нативные API инструментирования, zero-code агент, производительность и аудит ломающих изменений.
Нужен ли декларативный YAML-конфиг для OpenTelemetry в .NET?
Нет, в .NET его пока нет. Скилл описывает настройку через DI/builder и отсылает к языко-независимому скиллу otel-declarative-config только для схемы YAML.
Исходный текст
SKILL.md · Apache-2.0
--- 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 | File | Use when | |---|---| | [`references/setup.md`](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 released declarative YAML config in .NET. | | [`references/api.md`](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`](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`](references/performance.md) | Tuning sampling (built-in samplers incl. `AlwaysRecordSampler`), batch export processor, periodic metric reader, views, exporter choice, async context, graceful shutdown. | | [`references/breaking-changes.md`](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 have a released declarative-config implementation (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, 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 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-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 · ollygarden/opentelemetry-agent-skills