otel-java — скилл для Claude Code: что делает и как установить
Настраивает OpenTelemetry в Java-сервисах: конфигурирует Javaagent, Spring Boot Starter и скрывает чувствительные данные из трейсов.
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-java -a claude-codeЧто делает otel-java
Скилл помогает подключать и настраивать OpenTelemetry в Java-приложениях. Он охватывает работу с Javaagent без изменения исходного кода, использование Spring Boot Starter, ручную сборку через AutoConfiguredOpenTelemetrySdk и управление зависимостями через BOM.
Внутри заложены инструкции по декларативной настройке в формате YAML и правила защиты данных. По умолчанию HTTP-инструментация собирает параметры запросов, но выключает заголовки. Скилл задаёт правила очистки url.query, маскирования параметров и фильтрации SQL.
Чтобы избежать галлюцинаций, скилл запрещает модели брать списки спанов и атрибутов из собственной памяти. Вместо этого он предписывает извлекать точные схемы через WebFetch из OpenTelemetry Ecosystem Explorer. Для проверки свежих релизных тегов в репозиториях потребуется утилита gh.
Какие задачи решает
- настроить автоматический сбор телеметрии через OpenTelemetry Javaagent
- подключить Spring Boot Starter с декларативным файлом конфигурации
- скрыть конфиденциальные параметры из
url.queryи HTTP-заголовков - проверить поддерживаемые спаны и метрики библиотек через Ecosystem Explorer
Примеры запросов агенту
- Настрой сбор трейсов через OpenTelemetry Javaagent для сервиса на Spring Boot.
- Скрой конфиденциальные параметры в строке запроса
url.queryв конфигурации телеметрии. - Покажи, какие атрибуты и спаны генерирует агент для HTTP-клиента.
Как установить otel-java
1Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-java -a claude-code2Вручную: положить файлы
~/.claude/skills/otel-java/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/otel-java/
1Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-java -a codex2Вручную: положить файлы
.agents/skills/otel-java/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-java -a cursor2Вручную: положить файлы
.cursor/skills/otel-java/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ollygarden/opentelemetry-agent-skills otel-java2Вручную: положить файлы
.github/skills/otel-java/SKILL.md1Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-java -a gemini-cli2Командой платформы
gemini skills install https://github.com/ollygarden/opentelemetry-agent-skills --path skills/otel-javaВручную: положить файлы
.devin/skills/otel-java/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-java -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о otel-java
Как установить otel-java в Claude Code?
Выполните в терминале команду npx skills add ollygarden/opentelemetry-agent-skills --skill otel-java -a claude-code. Файл навыка сохранится по пути ~/.claude/skills/otel-java/SKILL.md.
Что делает скилл otel-java?
Скилл направляет агента при интеграции OpenTelemetry в проекты на Java. Он охватывает запуск Javaagent, настройку стартера Spring Boot, декларирование параметров в YAML и очистку секретов в HTTP-запросах.
Откуда скилл берёт актуальные параметры инструментовки?
Он запрашивает данные из OpenTelemetry Ecosystem Explorer по адресу explorer.opentelemetry.io через WebFetch. Модель сверяет атрибуты и спаны по актуальным JSON-схемам вместо обращения к собственной памяти.
Исходный текст
SKILL.md · Apache-2.0
--- name: otel-java description: OpenTelemetry in Java — Javaagent zero-code instrumentation, Spring Boot Starter, manual autoconfigure SDK, declarative YAML configuration, BOM dependency management, sensitive-data capture and redaction (url.query, headers, request parameters, SQL sanitization). Use when adding, reviewing, or configuring OpenTelemetry in a Java service. Triggers on "setup otel in java", "java telemetry", "javaagent", "Spring Boot otel", "GlobalOpenTelemetry", "AutoConfiguredOpenTelemetrySdk", "TracerProvider java", "url.query redaction", "capture request headers", or any Java-related OTel question. --- # OpenTelemetry in Java Entry point for OpenTelemetry mechanics in Java services. Load a reference below based on the task; each reference is self-contained. ## References | File | Use when | |---|---| | [`references/declarative-setup.md`](references/declarative-setup.md) | Configuring the SDK via declarative YAML: Javaagent activation, Spring Boot Starter, autoconfigure SDK, BOM, agent-only properties, manual instrumentation entry points. | | [`references/sensitive-data-capture.md`](references/sensitive-data-capture.md) | What HTTP instrumentation captures by default (query strings ON, headers/params OFF), query-parameter redaction (`sensitive-query-parameters`), header/servlet-parameter capture knobs, SQL sanitization. | ## Sources of Truth For YAML schema details, fetch the upstream sources listed in the `otel-declarative-config` skill. For Java-specific facts: | Fact | Fetch | |---|---| | Latest BOM (`opentelemetry-bom`) | `gh api repos/open-telemetry/opentelemetry-java/releases/latest -q '.tag_name'` | | Latest Javaagent | `gh api repos/open-telemetry/opentelemetry-java-instrumentation/releases/latest -q '.tag_name'` | | SDK declarative-config accepted and preferred `file_format` for a selected BOM tag | `WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/<selected-sdk-tag>/sdk-extensions/declarative-config/src/main/java/io/opentelemetry/sdk/autoconfigure/declarativeconfig/OpenTelemetryConfigurationFactory.java` | | Javaagent declarative-config docs (current activation flag, supported `file_format`) | `WebFetch https://opentelemetry.io/docs/zero-code/java/agent/declarative-configuration/` | | Javaagent declarative-config smoke fixture (parser truth for selected agent tag) | `WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/smoke-tests/src/test/resources/declarative-config.yaml` | | Javaagent CHANGELOG (when each schema rc landed) | `WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/CHANGELOG.md` | | Generated Java instrumentation config reference (names, types, defaults, deprecations) | `WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/docs/declarative-configuration-example.yaml` | | Spring Boot Starter declarative-config fixture (selected starter tag) | `WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/smoke-tests-otel-starter/spring-boot-2/src/testDeclarativeConfig/resources/application.yaml` | | Spring Boot starter docs | `WebFetch https://opentelemetry.io/docs/zero-code/java/spring-boot-starter/` | | Per-instrumentation telemetry & config (resolved spans/attributes, metrics, config options, target versions) | `WebFetch https://explorer.opentelemetry.io/data/javaagent/instrumentations/<id>/<id>-<hash>.json` — get `<id>` and the latest `<hash>` from the index (see [below](#what-telemetry-does-an-instrumentation-emit)) | ## What telemetry does an instrumentation emit? For *"what does the agent produce for library X"* — which spans, attributes, metrics, or config knobs — use the [OpenTelemetry Ecosystem Explorer](https://explorer.opentelemetry.io/), which fully maps the Java agent and exposes an agent-friendly surface (Markdown indexes and resolved JSON, no scraping). Do **not** answer from model memory. Navigation: 1. `WebFetch https://explorer.opentelemetry.io/agent/javaagent/index.md` — table mapping display name → `id` → the instrumentation's JSON data URL (the URL embeds the content `<hash>`). 2. `WebFetch` that JSON URL — one self-contained record (a few KB): resolved `configurations`, `telemetry` (spans with `span_kind` + typed attributes, and `metrics`), `javaagent_target_versions`, `semantic_conventions`, and `scope`. Version-specific or *"what changed between releases"*: `https://explorer.opentelemetry.io/agent/javaagent/versions.md` lists versions and marks the latest; `https://explorer.opentelemetry.io/data/javaagent/versions/<version>-index.json` gives the `id`→`hash` map for a version — a differing hash for the same `id` across two versions means that instrumentation changed. Schema: `https://explorer.opentelemetry.io/schemas/javaagent-instrumentation.schema.json`; use `/llms.txt` for the agent-oriented index and `/llms-full.txt` for the full documentation. Prefer this Explorer data over the raw `ecosystem-registry` YAML on GitHub: the Explorer applies upstream metadata corrections that the raw registry does not. ## Cross-References - Schema-level facts: `otel-declarative-config` skill (language-agnostic YAML schema sources). - SDK version selection across languages: `otel-sdk-versions` skill. - Semantic conventions lookup: `otel-semantic-conventions` skill.
© ollygarden · Apache-2.0 · ollygarden/opentelemetry-agent-skills