# golang-observability

Скилл для инструментирования Go-сервисов: структурные логи, метрики, трейсы, профилирование и RUM. Пригодится, когда нужно накрыть прод наблюдаемостью.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 39800 установок · ★ 3672
- Автор: samber
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/samber/cc-skills-golang/tree/HEAD/skills/golang-observability/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/golang-observability

## Что делает

Скилл описывает пять сигналов наблюдаемости в Go: логи, метрики, трейсы, профили и RUM. Для каждого есть отдельный гайд с примерами кода и разбором стоимости. Логи строятся на `log/slog` со структурным выводом в JSON, метрики — на клиенте Prometheus, трейсы — на OpenTelemetry, профилирование — через pprof и Pyroscope, а события поведения пользователей собирают через PostHog или Segment.

Работает в трёх режимах. По умолчанию — инструментирование нового или существующего кода: объявить метрики, открыть спаны, настроить логирование, подключить pprof. В режиме ревью скилл проверяет изменения в PR: экспортируются ли ожидаемые сигналы, открыты и закрыты ли спаны, одинаковы ли поля в структурных логах. В режиме аудита запускаются до пяти параллельных субагентов — по одному на сигнал — и их находки по покрытию сводятся вместе.

Для работы нужен установленный `go`. Скилл также советует не тащить сторонние библиотеки композиции slog-хендлеров, пока хватает `slog.NewMultiHandler` из стандартной библиотеки. Кардинальность меток в Prometheus держите низкой: идентификаторы пользователей и полные URL в метках — прямой путь к раздутой кардинальности и дорогому хранилищу.

## Требования
- Работает с: Grafana

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/cc-skills-golang --skill golang-observability -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/cc-skills-golang --skill golang-observability -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/cc-skills-golang --skill golang-observability -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install samber/cc-skills-golang golang-observability
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/golang-observability/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/cc-skills-golang --skill golang-observability -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/samber/cc-skills-golang --path skills/golang-observability
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add samber/cc-skills-golang --skill golang-observability -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/samber/cc-skills-golang/tree/HEAD/skills/golang-observability/SKILL.md

## Когда брать
- добавить структурные логи на `log/slog` в новый сервис
- перевести проект с zap, logrus или zerolog на slog
- объявить метрики задержки и доли ошибок для HTTP-эндпоинтов
- связать логи с трейсами через `trace_id`
- проверить в PR, что новый код вообще экспортирует сигналы

## Примеры запросов агенту
- Добавь наблюдаемость в новый HTTP-сервис на Go: структурные логи, метрики Prometheus и трейсы OpenTelemetry
- Проверь инструментирование в этом PR — все ли спаны открываются и закрываются, одинаковы ли поля в логах
- Проведи аудит покрытия наблюдаемостью по кодовой базе и собери находки по каждому сигналу

## Похожие
- [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) — скилл · 353600 установок

Из того же набора: [samber/cc-skills-golang](https://affpapa.org/nevibecode/by/samber/cc-skills-golang.md) — 44 карточки

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