From 59e9c0787e71ae093df939e228899db5a8aa8d1d Mon Sep 17 00:00:00 2001 From: Dmitry Dementiev Date: Fri, 31 Jul 2026 15:21:10 +0300 Subject: [PATCH] =?UTF-8?q?docs(skills):=20=D0=BF=D0=BB=D0=B5=D0=B9=D0=B1?= =?UTF-8?q?=D1=83=D0=BA=20=E2=80=94=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=82=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BA=20=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=D1=83:=20=D0=BE=D1=81=D1=8C=20=D0=B2?= =?UTF-8?q?=D0=BA=D1=83=D1=81=D0=B0=20=D0=B8=20=D0=BD=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=20=D0=B7=D0=B0=D0=BF=D0=B0=D1=85=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Зачем. Прогон #18 показал, чего не хватает: обе наши ручки выбора (эффорт, модель) про силу, вкус ими не выражается. Решения приняты, но структурные правки скилла отложены — чтобы не потерялись, они записаны в открытый вопрос, который читается при следующем заходе. Что. - Третья ось выбора: разрез по подзадачам на этапе планирования, вкусовое Опусу, руки Кодексу, ось ревью переворачивается. С требованием спросить у пользователя матрицу и примеры. - Набор запахов Фаулера из /code-review Мэтта Покока — сильнее самодельных примеров в блоке Taste; оттуда же правило не сливать находки двух осей. - Разбор журнала Codex-ревьюера: восстановление стенда ловушкой без проверки, самовольные subagent-ы вопреки правилу «глубина один». Проверка. Правка документации, прогонять нечего. Co-Authored-By: Claude Opus 5 (1M context) --- .../references/lessons.md | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/agents/.agents/skills/claude-subagent-playbook/references/lessons.md b/agents/.agents/skills/claude-subagent-playbook/references/lessons.md index 252e08b..73ca7f6 100644 --- a/agents/.agents/skills/claude-subagent-playbook/references/lessons.md +++ b/agents/.agents/skills/claude-subagent-playbook/references/lessons.md @@ -490,6 +490,14 @@ compose down`); отдельных событий эскалации в `--json` долгоживущие службы здоровы», а `kafka` и `prometheus` лежали `exited`: их погасил её же страж и не поднял. `docker compose ps` без `-a` погашенных не показывает вовсе — легко принять за здоровый стенд. + Разбор журнала сессии: ревьюер написал `trap ... EXIT` с `make up` и + счёл восстановление состоявшимся, не проверив его. Ровно тот дефект, + который вкусовая линза и должна ловить, — проверка, проходящая без + доказательства собственного утверждения, — только допустил его сам + ревьюер. Заодно оттуда же: он дважды вызвал `spawn_agent`, то есть + развернул своих субагентов вопреки правилу «глубина один». Правило + живёт в SKILL.md для оркестратора и до Codex-ревьюера не доезжает — + писать его в мандат. - Две линии ревью на одном живом стенде мешают друг другу: стражи гасят службы и роняют таблицы, параллельная линия получает загрязнённые прогоны (заметили обе, независимо). Либо стенд одной линии, либо явный @@ -532,3 +540,34 @@ compose down`); отдельных событий эскалации в `--json` делить между линиями). - Заодно проверить остальные заготовки на то же расхождение «константа живёт в документации вместо `prompts/`». +- **Третья ось выбора — вкус.** Наши две ручки (эффорт, модель) обе про + силу; матрица Тео (@t3dotgg) разводит стоимость, интеллект и вкус и + заставляет выбирать исполнителя на каждую задачу, а не наследовать + дефолт. Прогон #18 показал цену: код технически безупречен и при этом + неправильной формы. Решение пользователя 2026-07-31 — то, что читает + человек, пишет модель со вкусом (в учебном репозитории это почти всё); + Кодексу — техническая работа, где его лимиты и работают на нас; ось + ревью переворачивается. **Спроси у пользователя матрицу и примеры её + применения**: числа Тео расписаны под другой набор моделей (gpt-5.5, + opus-4.8) и требуют пересчёта под наш. + Разрез идёт не по тикету, а **по подзадачам, и назначается на этапе 1**: + что человек будет читать и разбирать — Опусу, руки (сборка образа, + обвязка проверок, повторяющиеся правки) — Кодексу. Два ограничения. + Порядок: сначала вкусовая часть — она задаёт форму, имена и границы, + под которые механическая потом подстраивается; наоборот получится + ретрофит. И один писатель в дереве остаётся в силе — либо + последовательно, либо по разным worktree, шов вести по файлам, которые + не пересекаются. +- **Принести ревьюеру набор запахов.** В `/code-review` Мэтта Покока + (`~/dotfiles/agents/.agents/skills/code-review/SKILL.md`) есть готовая + база из двенадцати запахов Фаулера, которая вклеивается ревьюеру в + промпт целиком, с оговорками «документированный стандарт репозитория + побеждает» и «каждый запах — суждение, не нарушение». Это сильнее моих + трёх самодельных примеров в блоке `Taste:`: имена вроде Speculative + Generality или Data Clumps — слова из претрейна, они поднимают целый + пласт поведения, а пересказ своими словами — нет. Наши CODE и TASK + повторяют его оси Standards и Spec, придуманные независимо; забрать + оттуда стоит и правило «находки двух осей не сливать и не + переранжировать» — оно прямо про то, как уверенный вердикт одной линии + закрывает собой другую. Показательно, что Codex-ревьюер #18 открыл этот + файл сам первой командой прогона: механизма нет, а нужда есть.