BF keelwright
Движок для vibe-кодеров и loop-кодеров, которые поставляют сгенерированный ИИ код, который они не могут прочитать построчно. Охватывает 28 известных режимов сбоя: SQL-инъекции, жестко закодированные секреты, галлюцинированные пакеты (slopsquatting), взлом вознаграждения (ИИ удаляет тесты для прохождения), циклы гибели (сжигание токенов), ложные отчеты, отсутствие аутентификации, обход бизнес-логики, избыточная инженерия и многое другое. Большинство режимов имеют машинный детектор (запустить инструмент, проверить на диске) плюс правило дисциплины, которому должен следовать агент — несколько (согласованность стиля, угодливость как черта) проверяются только дисциплинарно, а не машинным способом. Регулятор автономии (Автопилот/Контрольная точка/Копилот) позволяет вам утверждать то, что важно; ИИ обрабатывает остальное. Цикл самообучения с ограничениями предохранителя и перезапуском Phoenix. Отчеты на простом языке для не-разработчиков. Проверено состязательным A/B тестированием: Keelwright Score (KDS) до 83/100 на сильных моделях (SWE-bench 78%). Загружайте перед любой сессией кодирования в цикле/агенте, автономным запуском или коммитом.
машинный переводПоказать оригиналСкрыть оригинал«Engine for vibe-coders and loop-coders who ship AI-generated code they…»
Engine for vibe-coders and loop-coders who ship AI-generated code they can't read line by line. Covers 28 known failure modes: SQL injection, hardcoded secrets, hallucinated packages (slopsquatting), reward hacking (AI deletes tests to pass), doom loops (runaway token burn), false reports, missing auth, business logic bypasses, over-engineering, and more. Most modes have a machine-enforced detector (run a tool, check on disk) plus a discipline rule the agent must follow — a few (style consistency, sycophancy-as-trait) are discipline-only, not machine-checked. Autonomy dial (Autopilot/Checkpoint/ Copilot) lets you approve what matters; AI handles the rest. Self-learning loop with circuit-breaker limits and Phoenix restart. Plain-language reports for non-developers. Proven by adversarial A/B testing: Keelwright Score (KDS) up to 83/100 on strong models (SWE-bench 78%). Load before any loop/agent coding session, autonomous run, or commit.
Движок для vibe-кодеров и loop-кодеров, которые поставляют сгенерированный ИИ код, который они не могут прочитать построчно.
Как процесс F 40/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: references/*.md, references/historical/*, references/bindings/<runtime>.md
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 5
✓ Критических и высоких находок нет
Средние и низкие: 5
-
средняя Опасные команды
cmd-pipe-to-shellreferences/security-gates.md:233Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (документация security-скилла)Research: ~26% of community skills carry vulnerabilities (hidden curl|bash, exfil to webhook
security-скилл -
низкая Рискованное назначение
intent-offensive-securityreferences/external-skill-audit-tools.md:24Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)- **68 patterns / 17 categories:** prompt injection, data exfiltration, privilege escalation,
детектор -
низкая Рискованное назначение
intent-offensive-securityreferences/security-gates.md:234Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)sinks, base64 payloads, prompt injection in docs, credential harvesting).
детектор
Ещё 2 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 80. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
missing-refссылка на отсутствующий файл: references/*.md - предупреждение
missing-refссылка на отсутствующий файл: references/historical/* - предупреждение
missing-refссылка на отсутствующий файл: references/bindings/<runtime>.md - предупреждение
missing-refссылка на отсутствующий файл: references/historical/ - предупреждение
missing-refссылка на отсутствующий файл: references/bootstrap/*.md.template - предупреждение
missing-refссылка на отсутствующий файл: scripts/web_heuristic_guard.py - предупреждение
missing-refссылка на отсутствующий файл: scripts/runtime_integration_tester.py - предупреждение
missing-refссылка на отсутствующий файл: scripts/subagent_backoff.py - заметка
frontmatter-keyнеизвестное поле фронтматтера "slug" - заметка
frontmatter-keyнеизвестное поле фронтматтера "triggers" - заметка
frontmatter-keyнеизвестное поле фронтматтера "permissions"
Процессный рейтинг: все десять параметров 40/100
- 0Инструменты и файлы. Не хватает 8 файла(ов): references/*.md, references/historical/*, references/bindings/<runtime>.md
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 85Шаги. Шагов: 54, расплывчатых формулировок: 3
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 2989 токенов
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (5 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 949: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- -212 эмодзи в инструкциях: шум для модели
- -36 из 11 скриптов не упомянуты в SKILL.md
- +2Инструкции на одном языке
- +4Структура: 23 заголовков
- +3Пошаговые инструкции: 54 пунктов
- +4Есть примеры (3 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (21 из 36)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 54.