# otel-span-events-to-logs-migration

Помогает перенести события и исключения OpenTelemetry со Span Events на Logs API, сохранив связь записей с активным спаном. Пригодится для миграции и проверки старых вызовов.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 116
- Автор: ollygarden
- Лицензия: Apache-2.0 · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/ollygarden/opentelemetry-agent-skills/tree/HEAD/skills/otel-span-events-to-logs-migration/SKILL.md
- Обновлён: 2026-10-25
- HTML: https://affpapa.org/nevibecode/skills/otel-span-events-to-logs-migration

## Что делает

Скилл предлагает найти вызовы `AddEvent`, `RecordException` и языковые аналоги, затем классифицировать каждое место: перенести в Logs API, заменить атрибутами спана или удалить. При переносе нужно сохранить контекст спана, имя события, атрибуты и временную метку. Для исключений учитываются семантические атрибуты `exception.type` и `exception.message`; стек добавляют, когда это имеет смысл для языка и типа ошибки.

Перед работой скилл предлагает проверить поддержку событий через Logs API в версии OpenTelemetry SDK, наличие настроенного `LoggerProvider` и зависимость нижестоящих систем от событий в proto спана. Если такая совместимость нужна, на уровне SDK настраивается мост из логов обратно в события спана. Это важно: без `LoggerProvider` миграцию сначала придётся дополнить настройкой провайдера.

После изменений агент должен перечитать файлы и сверить результат с чек-листом, приложив ссылки на файлы как подтверждение. Для Go приведены указания по получению логгера и атрибутам записи; для Java — актуальный путь к мосту после удаления прежней реализации из contrib. Подробности по языковым шаблонам вынесены в файлы `references`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-span-events-to-logs-migration -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/otel-span-events-to-logs-migration/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/otel-span-events-to-logs-migration/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-span-events-to-logs-migration -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/otel-span-events-to-logs-migration/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-span-events-to-logs-migration -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/otel-span-events-to-logs-migration/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install ollygarden/opentelemetry-agent-skills otel-span-events-to-logs-migration
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/otel-span-events-to-logs-migration/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-span-events-to-logs-migration -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/ollygarden/opentelemetry-agent-skills --path skills/otel-span-events-to-logs-migration
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/otel-span-events-to-logs-migration/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add ollygarden/opentelemetry-agent-skills --skill otel-span-events-to-logs-migration -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/ollygarden/opentelemetry-agent-skills/tree/HEAD/skills/otel-span-events-to-logs-migration/SKILL.md

## Когда брать
- найти вызовы Span Events в кодовой базе
- классифицировать события для миграции, замены атрибутами или удаления
- перенести события и исключения на Logs API с контекстом спана
- проверить настройку LoggerProvider и обратную совместимость
- сверить изменённые файлы с чек-листом миграции

## Примеры запросов агенту
- Перенеси вызовы `AddEvent` и `RecordException` на Logs API, сохранив связь с активным спаном.
- Найди все вызовы Span Events и классифицируй каждый для миграции, замены атрибутами или удаления.
- Проверь миграцию OpenTelemetry по чек-листу и укажи файлы, подтверждающие каждый выполненный пункт.

## Похожие
- [wizard](https://affpapa.org/nevibecode/skills/wizard.md) — скилл · 553369 установок
- [hyperframes-cli](https://affpapa.org/nevibecode/skills/heygen-com-hyperframes-cli.md) — скилл · 1300000 установок
- [setup-pre-commit](https://affpapa.org/nevibecode/skills/setup-pre-commit.md) — скилл · 489289 установок
- [using-git-worktrees](https://affpapa.org/nevibecode/skills/using-git-worktrees.md) — скилл · 217153 установки
- [finishing-a-development-branch](https://affpapa.org/nevibecode/skills/finishing-a-development-branch.md) — скилл · 214439 установок
- [orca-cli](https://affpapa.org/nevibecode/skills/orca-cli.md) — скилл · 354000 установок

Из того же набора: [ollygarden/opentelemetry-agent-skills](https://affpapa.org/nevibecode/by/ollygarden/opentelemetry-agent-skills.md) — 20 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
