Запрещает заявлять что код работает без реального запуска проверок. Перехватывает "тесты должны пройти" и требует выполнить команды верификации прямо сейчас.
npx -y skills add obra/superpowers --skill verification-before-completion --agent claude-codeЗаявлять о завершении работы без проверки — это нечестность, а не эффективность.
Главный принцип: доказательства до заявлений, всегда.
Нарушение буквы этого правила — это нарушение его духа.
НИКАКИХ ЗАЯВЛЕНИЙ О ЗАВЕРШЕНИИ БЕЗ СВЕЖИХ ДОКАЗАТЕЛЬСТВ ПРОВЕРКИ
Если вы не запустили команду проверки в этом сообщении, вы не можете заявлять, что она проходит.
ПЕРЕД заявлением любого статуса или выражением удовлетворения:
1. ОПРЕДЕЛИТЬ: какая команда доказывает это заявление?
2. ЗАПУСТИТЬ: выполнить ПОЛНУЮ команду (свежо, целиком)
3. ПРОЧИТАТЬ: весь вывод, проверить код выхода, посчитать провалы
4. ПРОВЕРИТЬ: подтверждает ли вывод заявление?
- Если НЕТ: укажите фактический статус с доказательствами
- Если ДА: укажите заявление ВМЕСТЕ с доказательствами
5. ТОЛЬКО ТОГДА: сделайте заявление
Пропуск любого шага = ложь, а не проверка
| Заявление | Требует | Недостаточно |
|---|---|---|
| Тесты проходят | Вывод команды тестов: 0 провалов | Прошлый прогон, «должны проходить» |
| Линтер чист | Вывод линтера: 0 ошибок | Частичная проверка, экстраполяция |
| Сборка успешна | Команда сборки: exit 0 | Линтер прошёл, логи выглядят нормально |
| Баг исправлен | Тест исходного симптома: проходит | Код изменён, предполагается исправленным |
| Регресс-тест работает | Цикл red-green проверен | Тест прошёл один раз |
| Агент завершил | Diff в VCS показывает изменения | Агент сообщает «success» |
| Требования выполнены | Построчный чек-лист | Тесты проходят |
| Отговорка | Реальность |
|---|---|
| «Теперь должно работать» | ЗАПУСТИТЕ проверку |
| «Я уверен» | Уверенность ≠ доказательство |
| «Только в этот раз» | Без исключений |
| «Линтер прошёл» | Линтер ≠ компилятор |
| «Агент сказал success» | Проверьте независимо |
| «Я устал» | Усталость ≠ оправдание |
| «Частичной проверки хватит» | Частичная ничего не доказывает |
| «Другие слова — правило не применяется» | Дух важнее буквы |
Тесты: ✅ [запустить команду тестов] [видно: 34/34 проходят] «Все тесты проходят». ❌ «Теперь должно проходить» / «Выглядит верно».
Регресс-тесты (TDD Red-Green): ✅ Написать → запустить (проходит) → откатить фикс → запустить (ДОЛЖЕН УПАСТЬ) → восстановить → запустить (проходит). ❌ «Я написал регресс-тест» (без проверки red-green).
Сборка: ✅ [запустить сборку] [видно: exit 0] «Сборка проходит». ❌ «Линтер прошёл» (линтер не проверяет компиляцию).
Требования: ✅ перечитать план → составить чек-лист → проверить каждый пункт → отчитаться о пробелах или завершении. ❌ «Тесты проходят, фаза завершена».
Делегирование агенту: ✅ агент сообщил успех → проверить diff в VCS → проверить изменения → отчитаться о фактическом состоянии. ❌ доверять отчёту агента.
Из 24 воспоминаний о провалах: партнёр-человек сказал «я тебе не верю» — доверие подорвано; отгружены неопределённые функции — упали бы; отгружены пропущенные требования — неполные функции; время потрачено на ложное завершение → перенаправление → переделка; нарушает: «Честность — базовая ценность. Если соврёшь — тебя заменят.»
ВСЕГДА перед: любой вариацией заявлений об успехе/завершении; любым выражением удовлетворения; любым позитивным утверждением о состоянии работы; коммитом, созданием PR, завершением задачи; переходом к следующей задаче; делегированием агентам.
Правило применяется к: точным фразам; перефразировкам и синонимам; намёкам на успех; любой коммуникации, подразумевающей завершение/корректность.
Никаких срезок в проверке. Запустите команду. Прочтите вывод. ТОЛЬКО ТОГДА заявляйте результат. Это не обсуждается.