关于 bro-do-it
bro-do-it 是用于自主完成已确认软件任务的 Agent 技能,涵盖开发、审查和验证。它规定 plan 或 autopilot 模式、专用子 Agent、迭代检查流程,以及未满足验收条件时的停止机制。
主要功能
- 01选择 plan 或 autopilot 模式
- 02将实现工作分配给 developer
- 03执行审查与验证循环
- 04失败后提升 developer 等级
- 05无法验证完成时停止
适用场景
- 01按固定规格实现任务
- 02根据审查意见迭代修复
- 03验证测试和验收条件
- 04工作受阻或未完成时安全停止
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ irpsv/ ai-bro --skill bro-do-it安装后在 Claude Code 中输入/bro-do-it确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/autonomy-and-stop.mdcommit-before-review.mdimplementation-hygiene.mdreview-after-iteration.mdsubagent-model-tiers.mdsubagents/closer-prompt.mddeveloper-prompt.mdverifier-prompt.mdREADME 原文English
来自项目 READMEREADME 暂无中文译文,以下为英文原文;中文介绍见上方。
bro-do-it
Автономно реализуй согласованную задачу и не завершай работу без доказанного результата.
Общие правила
- Входные план и спецификация — неизменяемые источники истины.
- Все изменения реализации выполняют только developer-субагенты по developer-prompt. Тир и семейство модели выбирай до запуска по subagent-model-tiers и правилам тира ниже.
- Developer сам коммитит свои правки по правилам коммита.
- Повторное ревью веди по правилам после итерации. Отдельный reviewer-субагент не нужен.
- Closer и verifier запускай по правилам субагентов.
- После вердикта verifier
PASSнапрямую вызывай/bro-remember-itи закоммить его записи по правилам коммита. - Следуй правилам автономности и остановки.
- Успех требует выполнения всех критериев приемки, отсутствия обязательных замечаний ревью и вердикта verifier
PASS.
Выбор режима
Если в постановке задачи присутствуют шаги реализации, обязательно используй режим plan, иначе применяй режим autopilot.
plan
- ОБЯЗАТЕЛЬНО соблюдай заданные шаги, порядок, технический подход, рамки и критерии приемки.
- Самостоятельно выбирай только детали, которых план не определяет и которые не меняют его способ реализации.
- Если заданный способ или порядок нельзя выполнить как написано, остановись и задай человеку один конкретный вопрос. Не выбирай альтернативу самостоятельно.
autopilot
- Самостоятельно выбери минимальный полноценный способ реализации, совместимый с существующим кодом.
Тир разработки
- Начальный тир developer выбирай по subagent-model-tiers как минимальный достаточный. Тир senior бери только как исключение — при высокой сложности, неопределённости или риске по этому словарю, не «на всякий случай».
- Перед каждой новой итерацией после ошибок быстрых проверок, незакрытых пунктов closer, обязательных замечаний ревью или вердикта verifier
NEEDS_WORKповысь тир на одну ступень:junior→middle→senior. Выше senior тир не повышай. - Все developers одной параллельной итерации используют один текущий тир. Недоступность семейства модели обрабатывай внутри текущего тира и не считай причиной повышения.
Контекст developer
Передавай каждому developer только полный контекст его назначения:
- общую цель задачи;
- относящиеся к его области рамки, ограничения и критерии приемки;
- конкретную единицу работы и границы изменений;
- в режиме plan — обязательный способ и порядок текущей единицы работы;
- в режиме autopilot — самостоятельно принятые допущения, которые не меняют результат;
- важные интерфейсы и зависимости с другими частями;
- номер итерации разработки;
- ошибки быстрых проверок, незакрытые обязательные замечания ревью и findings verifier текущей итерации.
Путь к артефакту передавай только для трассировки: он не расширяет назначение и не заменяет включённые в контекст точные требования. Не поручай developer самостоятельно извлекать область работы из всего артефакта. Не заменяй исходные требования списком исправлений. В следующей итерации сохрани относящийся к назначению исходный контекст и добавь новые ошибки и замечания.
В Task для developer передай полный текст developer-prompt. Подставь контекст назначения вместо <контекст назначения> и полный текст гигиены реализации вместо <гигиена реализации>. Не ссылайся на файлы скилла.
Субагенты
Правила выбора тира и семейства модели — subagent-model-tiers. Тир и модель выбирай до запуска. Текст промпта и контекст проверки полностью передай в Task, без ссылок на файлы скилла. Подставь сформированный контекст вместо <контекст проверки> в промпте.
closer
READONLY-проверка: закрыл ли diff после точки последнего ревью каждое обязательное замечание из открытого списка. Это не ревью кода.
- prompt: closer-prompt
- model: senior
Не запускай closer, если список пуст. Запускай после успешных быстрых проверок и до /bro-review-code, если список не пуст.
В контекст проверки передай:
- полный открытый список обязательных замечаний с идентификаторами;
- объект проверки — изменения после точки последнего ревью;
- базу сравнения — точку последнего ревью.
Из ответа возьми только вердикты по пунктам этого списка. Отсутствующий вердикт считай не закрыт. Любые новые замечания, рекомендации и пересказ отбрось. Не считай пункт закрытым без явного вердикта закрыт.
Если остались незакрытые пункты, оставь в списке только их, верни developer в исходной формулировке и не вызывай /bro-review-code.
verifier
READONLY-проверка готовности задачи: тесты, критерии приемки и изменённые ветви. Это не повторное ревью кода.
- prompt: verifier-prompt
- model: senior
Запускай после ревью без обязательных замечаний.
В контекст проверки передай:
- объект проверки и исходную базу задачи;
- критерии приемки;
- результаты ревью и быстрых проверок.
При NEEDS_WORK передай findings без смыслового пересказа в контекст соответствующего назначения. При BLOCKED устрани блокер автономно и повтори verifier либо выполни защитную остановку. При PASS переходи к итогу и /bro-remember-it.
Ограничения
- Не изменяй исходный код самостоятельно, не изменяй входной план или спецификацию. Коммит уже сделанных изменений этим запретом не считается.
- Не запускай developer, пока в промпте
Taskне подставлен полный текст гигиены реализации вместо<гигиена реализации>. - Не запускай параллельно developers с пересекающимися файлами или зависимыми результатами. Одновременно запущенная независимая группа считается одной итерацией; каждый последующий запуск — новой.
- Не передавай субагенту весь разговор, глобальный контекст без отбора или сведения, не относящиеся к его назначению.
- Не используй
--amendи не включай в коммит файлы вне текущего назначения. - Не вызывай closer и ревью, пока в git-репозитории есть незакоммиченные изменения задачи.
- Не отправляй на повторное
/bro-review-codeвсе изменения задачи относительно исходной базы, если точка последнего ревью уже сдвинута. - Не подменяй публичный вызов
/bro-review-codeпроверкой closer. - Не отправляй на ревью заведомо сломанный результат.
- Не пропускай публичный вызов
/bro-remember-itпосле verifierPASSи не подменяй его собственной записью знаний. Не оставляй его записи незакоммиченными. - Не объявляй задачу выполненной при падающих проверках, неподтверждённых критериях, изменениях вне рамок или открытых
critical,highи блокирующих приемкуmediumзамечаниях. - Не сбрасывай счётчик итераций после ревью или тестов и не продолжай цикл без подтверждённого прогресса.
Порядок работы
- Выбери режим по правилам выше, сформируй контекст задачи и до изменений зафиксируй исходную базу задачи. Точку последнего ревью поставь равной этой базе, список обязательных замечаний — пустым.
- Установи счётчик
Итерация разработки: 0/10и начальный тир разработки по правилам тира. - Перед запуском developer проверь счётчик. Если использованы десять итераций, перейди к шагу 9. Иначе увеличь счётчик, явно зафиксируй
Итерация разработки: N/10и текущий тир, выдели независимые назначения и запусти одного developer либо одновременно независимую группу. - Собери изменения и выполни быстрые релевантные проверки. Если остались незакоммиченные изменения назначения, считай это ошибкой. При ошибках добавь их в контекст соответствующего назначения, примени правила повышения тира выше и перейди к шагу 3.
- Если список обязательных замечаний не пуст, запусти closer. Если остались незакрытые пункты, примени правила повышения тира выше и перейди к шагу 3. Если список пуст или все пункты закрыты, перейди к шагу 6.
- Напрямую вызови
/bro-review-codeпо изменениям после точки последнего ревью, передав этот объект, эту базу, контекст задачи и результаты проверок. Обнови точку последнего ревью на текущий HEAD. При обязательных замечаниях или невыполненных критериях замени ими список, добавь их в контекст соответствующего назначения, примени правила повышения тира выше и перейди к шагу 3. Иначе очисти список и перейди к шагу 7. - Запусти verifier. При
NEEDS_WORKпримени правила повышения тира выше и перейди к шагу 3. ПриBLOCKEDперейди к шагу 9, если блокер нельзя устранить автономно. ПриPASSперейди к шагу 8. - Сообщи, что сделано, какие критерии и проверки подтверждены, какие трудности возникли и какие допустимые ограничения остались. Дополнительно напиши как можно проверить результат самому человеку. Напрямую вызови
/bro-remember-it, передав краткую выжимку итога реализации, затем закоммить его записи по правилам коммита. - Выполни защитную остановку: явно назови задачу незавершённой и перечисли оставшиеся критерии, проверки, замечания и причину остановки.