AF golang-error-handling
Идиоматичная обработка ошибок в Golang — создание, оборачивание с помощью %w, errors.Is/As, errors.Join, пользовательские типы ошибок, сигнальные ошибки, panic/recover, единое правило обработки, структурированное логирование с помощью slog, middleware для логирования HTTP-запросов и samber/oops для производственных ошибок. Создано для масштабируемого использования логов с инструментами агрегации логов сторонних разработчиков. Применяйте при создании, оборачивании, проверке или логировании ошибок в коде Go. Для samber/oops → см. навык `samber/cc-skills-golang@golang-samber-oops`; для экосистемы обработчиков slog → см. навык `samber/cc-skills-golang@golang-samber-slog`.
машинный переводПоказать оригиналСкрыть оригинал«Idiomatic Golang error handling — creation, wrapping with %w, errors.I…»
Idiomatic Golang error handling — creation, wrapping with %w, errors.Is/As, errors.Join, custom error types, sentinel errors, panic/recover, the single handling rule, structured logging with slog, HTTP request logging middleware, and samber/oops for production errors. Built to make logs usable at scale with log aggregation 3rd-party tools. Apply when creating, wrapping, inspecting, or logging errors in Go code. For samber/oops specifics → See `samber/cc-skills-golang@golang-samber-oops` skill; for slog handler ecosystem → See `samber/cc-skills-golang@golang-samber-slog` skill.
Идиоматичная обработка ошибок в Golang — создание, оборачивание с помощью %w, errors.Is/As, errors.Join, пользовательские типы ошибок, сигнальные ошибки…
Как процесс F 44/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: err
Как улучшить
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 5. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
missing-refссылка на отсутствующий файл: err - заметка
frontmatter-keyнеизвестное поле фронтматтера "paths"
Процессный рейтинг: все десять параметров 44/100
- 0Инструменты и файлы. Не хватает 1 файла(ов): err
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
- 100Шаги. Шагов: 39
- 100Когда включается. Сказано, когда применять и когда не применять
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1561 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Среди тестов нет случая на инъекцию через данные
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +4Нет примеров входа/выхода
- +2Инструкции на одном языке
- +3Длина description 583 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 6 заголовков
- +3Пошаговые инструкции: 39 пунктов
- +4Справочные файлы упоминаются в инструкциях (3 из 3)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 78.