SKILLEMALL.ai

CB eval-hooks

Аудит хуков Claude Code и Codex на предмет достоверности, безопасности и корректности в settings.json, hooks.json, config.toml, плагинах и хуках frontmatter навыков или агентов. Разрешает каждую команду, проверяет имена событий, типы обработчиков, соответствия, стратегию принятия решений по коду выхода и JSON, а также тайм-ауты в соответствии с документированными правилами каждого хоста, затем поочередно проверяет хуки. Использовать при настройке хуков, отладке хука, который никогда не срабатывает, не блокируется или зависает агент, или при периодической проверке состояния хуков. Не для написания нового хука с нуля.

машинный переводПоказать оригиналСкрыть оригинал«Audit Claude Code and Codex hooks for validity, safety, and correctnes…»

Audit Claude Code and Codex hooks for validity, safety, and correctness across settings.json, hooks.json, config.toml, plugin, and skill or agent frontmatter hooks. Resolves each command, checks event names, handler types, matchers, exit-code and JSON decision strategy, and timeouts against each host's documented rules, then reviews hooks one by one. Use when setting up hooks, debugging a hook that never fires, never blocks, or hangs the agent, or doing a periodic hooks hygiene pass. Not for writing a new hook from scratch.

FlorianBruniaux/claude-code-ultimate-guide Claude Code автор: FlorianBruniaux CC-BY-SA-4.0 1 файл тело ≈ 8 341 токенов Открыть источникgithub.com↗ проанализирован 2 дн назад

Аудит хуков Claude Code и Codex на предмет достоверности, безопасности и корректности в settings.json, hooks.json, config.toml, плагинах и хуках frontmatter…

Как процесс B 71/100 · Почти готов — слабые места: результат и критерий готовности, входы и предусловия, стоимость исполнения

АнализаторРазработкаИИ и агентытип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
86/100
безопасность, качество, тесты
Безопасность 60%
94
Качество 40%
75
Прогон на моделях
не было
Процессный рейтинг
B
71/100
Почти готов
Входы и предусловия вес 11
0
Результат и критерий готовности вес 14
40
Стоимость исполнения вес 6
40
три самых слабых из десяти параметров · все десять

Чем это грозит

Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.

Широкие права средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

Скилл просит больше прав, чем нужно для задачи: широкий доступ к инструментам, секретные переменные окружения, бинарные файлы. Каждое лишнее право расширяет ущерб при ошибке или взломе.

Автору

Сузьте allowed-tools и список переменных до минимума, замените бинарники на исходники или скрипты, которые можно прочитать.

Как улучшить

  1. Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
Для прогона на моделях — необязательно
  • Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
  • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

Находки guard · 2

✓ Критических и высоких находок нет

Средние и низкие: 2
  • средняя Широкие права meta-broad-allowed-tools SKILL.md:1
    Заранее разрешены широкие инструменты: Bash
    allowed-tools: Read Glob Bash Edit

Ещё 1 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.

Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.

По спецификации Agent Skills

  • предупреждение body-long тело SKILL.md ≈ 8341 токенов (рекомендуется < 5000); вынесите детали в references/
  • заметка frontmatter-key неизвестное поле фронтматтера "effort"
  • заметка edit-residue в тексте есть пометки об устаревшем (строки 201, 228): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия

Процессный рейтинг: все десять параметров 71/100

  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 40Результат и критерий готовности. Не сказано, что считать результатом
  • 40Стоимость исполнения. Тело инструкции 8341 токенов: вытесняет саму задачу из окна
  • 50Когда включается. Не сказано, при каком запросе скилл включается
  • 100Инструменты и файлы. Инструменты объявлены во frontmatter
  • 100Шаги. Шагов: 91
  • 100Ошибки и развилки. Развилок: 1, есть раздел про ошибки
  • 100Согласованность. Имя и обязательные поля на месте
  • 100Повторный запуск. Изменяющие операции проверяют текущее состояние
  • 100Отчётность по ходу. Скилл сообщает о ходе работы
  • medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают

Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.

Сигналы качества

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +3Формат ответа не описан: модель каждый раз решает сама
  • -214 эмодзи в инструкциях: шум для модели
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +4Описание говорит, когда скилл НЕ применять
  • +3Длина description 529 символов: достаточно сигнала, не съедает бюджет
  • +4Структура: 27 заголовков
  • +3Пошаговые инструкции: 91 пунктов
  • +4Есть примеры (7 блоков кода)

База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 75.