3.9 KiB
3.9 KiB
ADR-053: Extract bug-discovery skill, AGENTS.md to English
Статус
Accepted (2026-07-29)
Контекст
AGENTS.md (project-local, bind-mounted глобально) накопил процедурные детали, ухудшающие читаемость:
- Bug Discovery Protocol — 8-строчный протокол (проверка дубликатов, шаги создания issue, формат title/body, отчёт). Процедура, не правило — тянет в скилл.
- Tools секция — содержала мягкую enforcement-фразу "НЕ fallback на raw
bash, НЕ обход через
gh api". Но реальный enforcement — deny-list вpermission.bashфайлаopencode.json. Мягкие инструкции не работают (агент всё равно попытается fallback если нет жёсткого block). - Skill descriptions — смесь RU/EN. Descriptions используются для semantic
skill selection (matching). RU-only descriptions (
run-pipeline,code-standards,memoryи др.) ухудшают matching против EN intent. add-skillинструкция — не уточняла язык description, оставляя произвол — новые скиллы плодили RU descriptions.
Решение
- Извлечь Bug Discovery Protocol в скилл
bug-discovery— 6-шаговый протокол в.opencode/skills/bug-discovery/SKILL.md. В AGENTS.md оставить 1 строку: "If a bug is found outside current task scope — load skillbug-discovery." - Перевести AGENTS.md на английский — все 8 секций. Язык остаётся "Always respond to the user in Russian" (взаимодействие с юзером), но правила/directives на EN для consistency с global AGENTS.md (тоже EN).
- Упростить Tools — убрать мягкую enforcement-фразу. Оставить:
"Use tools instead of bash. On failure — STOP + report. Deny-list in
permission.bashofopencode.json." Real enforcement = deny-list. - EN descriptions для 10 скиллов — перевести frontmatter
descriptionна английский (форматыUse when ... Also when user says "..."с RU-триггерами). Тела скиллов НЕ трогать (могут оставаться на русском). - Обновить
add-skill— инструкция и шаблон явно требуют EN description для новых скиллов. RU фразы разрешены только вAlso when user says "...".
Альтернативы
- Оставить Bug Discovery Protocol в AGENTS.md, не извлекать — отвергнуто: AGENTS.md перегружен процедурами. Скиллы — правильное место для процедур (загружаются по триггеру, не загромождают always-loaded directive).
- Принудительная миграция ВСЕХ скиллов на EN descriptions — отвергнуто: 5
скиллов (
branch,repo-init,repo-readme,configure-opencode,add-skill) уже имели EN descriptions. Принудительный обход всех — лишний churn. Мигрированы 10 с RU-only. Будущие — через обновлённыйadd-skillinstruction. - Оставить мягкую enforcement в Tools ("НЕ fallback") — отвергнуто: не
работает. Deny-list — реальный enforcement (raw
git commit,gh issue create *,gh pr merge *заблокированы). Дублирование мягкой инструкции создаёт ложное ощущение enforcement.