Как повторить
- Скачайте репозиторий LenaWhynot/whynot-skills целиком или только папку
pre-release/. - Положите папку
pre-releaseв~/.claude/skills/. Для Codex путь другой:~/.agents/skills/. Установки в один клик через каталог плагинов у этого навыка нет, папку копируют вручную. - Откройте корень проекта в Claude Code и вызовите
/pre-release. - Агент запустит два скрипта. Их можно запустить и вручную:
bash "/путь/к/pre-release/detect_stack.sh"
bash "/путь/к/pre-release/scan_leaks.sh"detect_stack.sh определяет фреймворк, базу данных и место деплоя. scan_leaks.sh ставит каждой находке красную, жёлтую или зелёную метку и в конце печатает строку SUMMARY: FAIL=X WARN=Y PASS=Z.
- Затем агент проходит
checklist.md: приватность, RLS (правила доступа к строкам в базе), неудачные попытки входа, security-заголовки, OWASP, серверная валидация, rate limiting, CAPTCHA, CORS, вебхуки, миграции, откат. По вашей просьбе он сохранит отчёт в.pre-release-report.md. В коммит этот файл не добавляйте. - Вердикты:
PASSставится, если критичные проверки пройдены и блокеров нет.FAILозначает найденный красный блокер.NEEDS REVIEWозначает, что автоматически проверить пункт нельзя.
Как проверить результат
После вызова должны появиться два блока: вывод detect_stack.sh со строками frontend:, backend:, db/auth:, деплой: и вывод scan_leaks.sh с итоговой строкой SUMMARY. Если реальных утечек в проекте нет, вставьте заведомо ложный ключ вида sk-... в тестовый файл: скрипт должен отметить его красным. Если SUMMARY не печатается или скрипт падает молча, проверьте пути и права на файлы.
Как это устроено
Нижний слой состоит из bash-скриптов на grep. Они ищут префиксы ключей sk-, AKIA, ghp_, AIza (Anthropic/OpenAI, AWS, GitHub, Google), закоммиченный .env, CORS со звёздочкой и str(e) в ответе API, то есть текст серверной ошибки, который уходит пользователю. Скрипты ничего не решают сами: они печатают находку с файлом и строкой.
Верхний слой: чек-лист, который читает модель. Политику RLS в Supabase или поведение платёжного вебхука при повторной доставке события шаблоном не проверить, здесь нужно понимать код. Так модель тратит контекст только на пункты, где требуется суждение.
Ссылки
- Папка pre-release в whynot-skills: навык целиком, включая
SKILL.md,checklist.md,security-zones.mdс разбором вебхуков и миграций и оба скрипта.
Источник: lena.whynot, Instagram.