From 6e767d13ffa650d58a7bdbaec0fa6a6c8fdd340a Mon Sep 17 00:00:00 2001 From: Dmitry Dementiev Date: Fri, 10 Jul 2026 13:07:08 +0300 Subject: [PATCH] =?UTF-8?q?docs(skill):=20=D0=B4=D0=B2=D0=BE=D0=B9=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D1=81=D0=BB=D0=B5=D0=BF=D0=BE=D0=B5=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B2=D1=8C=D1=8E=20=D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B8=20=D1=81=D0=B2=D1=8F=D0=B7?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=81=20/to-tickets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - прогон 2026-07-10 (mws-data-test-t2-presale) дал новую эмпирику этапов 1–2, не отражённую в скилле. - Что: - этап 2: для крупной постановки — второе слепое ревью Кодексом с рамкой «постановку, не реализацию»; классы находок родословных; - этап 1: постановка через /to-tickets, когда репозиторий настроен под скиллы Мэтта Покока; - lessons.md: запись прогона с цифрами и ретро-оговоркой про companion-канал (issue #158). - Проверка: - вычитка диффа свежим взглядом; ссылки ведут на существующие файлы references/. --- .../skills/claude-subagent-playbook/SKILL.md | 18 ++++++++++--- .../references/lessons.md | 27 +++++++++++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/agents/.agents/skills/claude-subagent-playbook/SKILL.md b/agents/.agents/skills/claude-subagent-playbook/SKILL.md index 3450ab5..d0ae688 100644 --- a/agents/.agents/skills/claude-subagent-playbook/SKILL.md +++ b/agents/.agents/skills/claude-subagent-playbook/SKILL.md @@ -61,8 +61,12 @@ description: >- контекста; всё нужное — в файле: цель, критерии приёмки чекбоксами, границы («что трогать нельзя»), «сначала прочитать» (спека, ADR, README с командами), команды проверки. Формат и место — по конвенции репозитория - (например, `.scratch//issues/`). Не хватает фактуры по внешним - библиотекам/API — сначала `/research` и Context7 MCP, выжимку — в + (например, `.scratch//issues/`; репозиторий настроен под скиллы + Мэтта Покока — постановка через `/to-tickets` в сконфигурированный трекер: + тикеты-срезы с рёбрами блокировок вместо ad-hoc файла, конвенции — в + `docs/agents/`, настройка — `/setup-matt-pocock-skills`). Не хватает + фактуры по внешним библиотекам/API — сначала `/research` и Context7 MCP, + выжимку — в «сначала прочитать». Задача просится под test-first — сошлись в ней на `/tdd` (скиллы у Codex те же — общий каталог), ключевые требования продублируй текстом. Готово, когда исполнитель может сделать задачу, @@ -71,7 +75,15 @@ description: >- твоего контекста проверяет задачу против кода: фактические ошибки, скрытые решения-«однострочники», недостающие критерии. Окупается: ловит блокеры, которые исполнитель молча реализовал бы (эмпирика: «русские названия из - `name_ru`» — а в данных `name_ru` английский). Этап закрыт, когда каждая + `name_ru`» — а в данных `name_ru` английский). Постановка крупная или + цена ошибки высока — сделай ревью двойным и слепым, как для кода: вторая + линия — Codex свежим тредом с явной рамкой «ревьюируй постановку, не + реализацию; детали реализации — только если постановка молча предрешает + решение» (без рамки зарывается в детали). Родословные и тут ловят разное: + Codex — уровень требований (недостающие критерии, наблюдаемость, + «формально отчитаться можно»), Клод — механику кода (нереализуемые + формулировки, мёртвые стабы; эмпирика 2026-07-10: пересечение — 2 темы + из ~15). Этап закрыт, когда каждая находка внесена в задачу **решением** или письменно отклонена — «пусть решит исполнитель» решением не считается. 3. **Реализация Кодексом.** Промпт: «задача самодостаточна, следуй буквально, diff --git a/agents/.agents/skills/claude-subagent-playbook/references/lessons.md b/agents/.agents/skills/claude-subagent-playbook/references/lessons.md index 1ea9553..df5aad0 100644 --- a/agents/.agents/skills/claude-subagent-playbook/references/lessons.md +++ b/agents/.agents/skills/claude-subagent-playbook/references/lessons.md @@ -166,3 +166,30 @@ bwrap+userns, AppArmor Ubuntu 24.04 блокирует его до запуск отказах Codex первым делом — `codex --version` и дата обновления. Подробности — references/codex-sandbox-fix-handover-2026-07-10.md (принесено из ветки `codex-sandbox-fix-20260710`). + +## Прогон 2026-07-10: mws-data-test-t2-presale, постановка FTP/CSV DQ (этапы 1–2 без реализации) + +Постановка велась не файлом-задачей, а `/to-tickets` (репозиторий настроен +`/setup-matt-pocock-skills`): 5 тикетов-срезов с рёбрами блокировок; связка +с конвейером легла без трения — тикет и есть файл-задача этапа 1. Урок +поглощён SKILL.md (этап 1). + +**Двойное слепое ревью постановки — впервые, окупилось:** Клод (Опус, +9 находок) поймал механику кода — нереализуемый контракт «таблица под именем +из `table`» (поле недоступно коннектору в момент создания соединения), +мёртвый стаб-ловушку `dataframe`, `load_config` = API-эндпоинт, а не CLI. +Codex (8 находок) поймал уровень требований: параметр из спеки, пропавший в +тикетах; критерий, который можно закрыть формально; поведение при +неподдерживаемом FTP `SIZE`; ненаблюдаемость «понятных ошибок» за общим +`SourceQueryException`. Пересечение — 2 темы из ~15 (Django-противоречие в +тестах, несамодостаточность smoke). Рамка мандата Codex обязательна: +«ревьюируй постановку, не реализацию» — наблюдение пользователя: без неё +зарывается в детали. Урок поглощён SKILL.md (этап 2). + +**Ретро-оговорка:** Codex-ревью этого прогона шло ещё через companion-канал +(обновление скилла с прямым exec приехало позже) — с учётом issue #158 +чистота родословной второй линии не гарантирована; находки от этого не +обесценились, но эмпирику «2 из 15» читать с этой поправкой. + +**Наблюдение пользователя (в память проекта тоже записано):** Codex хорошо +ревьюит планы/постановки, не только код — при явной рамке уровня.