Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Workflow: экосистема скиллов разработки

Этот раздел описывает корпус скиллов как полноценную часть продукта: жизненный цикл задачи (семейство workflow), автономный трек исполнения (/autopilot + /validate//diagnose), генерацию историй (/storyteller) и аварийный тормоз (/mem-explore); память держат скиллы mem/mem-onboarding.

  • Детальная спецификация каждого скилла (режим, механика) — skills.md.
  • Принципы, на которых это держится (Modes, Structured CoT, Grounding, Synthesis Form, водораздел Specs/Memory) — context-engineering.md.

workflow — семейство скиллов для планирования и пошагового выполнения нетривиальных задач разработки, в котором план переживает сессии. В отличие от встроенного plan mode (живёт одну сессию), /work сохраняет план как файлы в plans/, накапливает журнал решений и отклонений, отслеживает прогресс между сессиями.

workflow — рекомендованный способ задействовать память и планирование органично: планирование встроенно опрашивает память (см. «Интеграция с памятью»), а пройденные этапы фиксируют знание о коде через /mem. Скиллы лежат в skills/ этого репозитория; в целевой проект устанавливаются в его .claude/skills/.

Команды

Жизненный цикл задачи (семейство workflow):

Команда Назначение
/prime Загрузить контекст проекта (спека + активный план). Режим не запускает.
/grill Допрос/обсуждение плана или решения. Файлы не пишет.
/blueprint [@path] Создать новый план из обсуждения; с @path — применить итог обсуждения к названному плану.
/prepare [@path] Разведать текущий этап: собрать карту контекста в plans/<prefix>/run-<NN>.md. По умолчанию /work делегирует это субагенту.
/work [@path] Исполнить текущий этап плана.
/checkpoint Сохранить частичный прогресс этапа для перезапуска (посреди этапа).
/step-done Закрыть текущий этап.
/finalize Закрыть весь план.

Автономный трек исполнения (поверх атомарных скиллов):

Команда Назначение
/autopilot [@path] [attended] Оркестратор: гоняет готовый active-план по этапам, спавня атомарные скиллы субагентами, решает по их вердиктам. Дефолт walk-away; слово attended — прогон у руля.
/validate [@path] Гейт этапа: прогон по неподделываемым артефактам (сырой вывод тестов / E2E-скриншоты по истории), вердикт green/defect/blocked.
/diagnose [@path] Root-cause упавшего гейта по долговечным якорям, координаты для fix-forward; код не правит. Вердикт located/inconclusive.

Сопутствующие:

Команда Назначение
/storyteller Превратить согласованное в /grill требование в System-Aware User Story.
/mem-explore Аварийный тормоз: стоп-генерация, широкий retrieval, сверка с правилами.

Память (скиллы mem):

Команда Назначение
/mem Сохранить ADR-заметку (решение, отладка, edge case, исследование).
/mem-onboarding Разовый онбординг существующего проекта в память.

Чтение памяти у memambient (по описанию-триггеру), отдельной команды не требует. Детальная спецификация каждого скилла — skills.md.

Все команды активируются только явным вызовом. Разговор о планировании без команды — не триггер.

Linux Way — почему мелкие команды

Планирование собрано из атомарных глаголов: primegrillblueprint. Каждая команда — одна явная фаза. /grill структурно не умеет писать файлы; запись возможна только под /blueprint. Граница фазы = граница команды — модель физически не может убежать вперёд и начать оформление, пока обсуждение не закончено. Контроль перехода между фазами — у пользователя.

Каждый скилл тонкий и самодостаточный: нужные слайсы общей дисциплины заинлайнены прямо в его текст (канон-источник — work/core.md, в рантайм не подгружается).

Файлы плана

Лежат в plans/ в корне проекта. Сами файлы плана — индекс и файлы шагов — плоские в plans/; per-step леса каждого плана (run-файлы, отчёты гейта/диагностики/автопилота, скриншоты) — в подпапке plans/<prefix>/. Вся директория в .gitignore — план это личное пространство разработчика. Source of truth — спецификация в specs/, она коммитится; план при необходимости пересобирается из спеки.

  • Индекс <prefix>-00-index.md — цель, контекст, блок Grounding (спеки + память), чек-лист этапов, журнал заметок (Решения / Отклонения / Edge cases / Открытые вопросы).
  • Step-файлы <prefix>-NN-<slug>.md — цель этапа, Definition of done, чек-бокс-подзадачи, рабочие заметки.

<prefix> — 3–4 буквы, выбирается автоматически при создании плана. Прогресс = чек-боксы: первый этап без [x] в индексе — текущий.

Статус и фокус. status: в индексе принимает три значения: draft (бэклог — план есть, но не в фокусе; не резолвится и не грузится /prime), active (единственный фокус), completed (закрыт через /finalize). Планов может быть несколько, но active — максимум один. Смена фокуса ручная: правка status: в индексе (старый фокус → draft, следующий → active); скилла промоута/парковки нет.

Жизненный цикл

/prime → /grill → /blueprint
                  ↓
        ┌── (/prepare) ── /work ── /step-done ──┐  (повтор по этапам)
        └────────────────────────────────────────────┘
                  ↓
             /finalize
  1. /prime — загрузить контекст. Опционально, обычно в начале сессии.
  2. /grill — обсудить задачу. Допрос: дерево решений по зависимостям, по одному вопросу, с рекомендованным ответом на каждый.
  3. /blueprint — оформить обсуждённое в план (индекс + все step-файлы).
  4. /work — исполнить текущий этап. На старте — разведка: нетривиальный этап по умолчанию делегируется /prepare-субагенту (карта контекста в plans/<prefix>/run-<NN>.md), тривиальный читается сам; затем продолжение прерванной работы по неотмеченным подзадачам. /prepare можно вызвать и вручную, чтобы подготовить этап заранее.
  5. /step-done — закрыть этап: суммаризировать рабочие заметки в журнал индекса, поставить [x].
  6. /finalize — закрыть план: синхронизировать решения со спекой и с памятью, перевести статус в completed.

/checkpoint вклинивается посреди этапа, когда контекст раздулся: оценивает готовность, проставляет [x] сделанным подзадачам и сносит в рабочие заметки маркер «где встал / следующий шаг», чтобы свежий /work перезапустился. В отличие от /step-done ничего не фиксирует в память, не удаляет run-файл и не закрывает этап.

/blueprint @path применяется между шагами, когда обсуждение в /grill изменило план: добавить этап(ы), занести решение, поправить план.

/storyteller опционально вклинивается после /grill: превращает согласованную бизнес-хотелку в System-Aware User Story до написания плана.

Автономный трек исполнения

Планирование (/grill/blueprint) всегда ручное. Исполнение готового active-плана можно вести двумя сосуществующими путями:

  • Ручной — разработчик сам гоняет (/prepare) → /work → /step-done по этапам, как выше.
  • Автономный/autopilot делает то же поверх атомарных скиллов: на каждом этапе спавнит их субагентами и маршрутизирует прогон по вердиктам из отчётов, не съедая свой контекст. Тяжёлая работа сгорает в одноразовых контекстах субагентов; оркестратор остаётся тонким.
                /autopilot @<index>  (поверх атомарных скиллов)
                  │
   per stage ┌────┴─────────────────────────────────────────────┐
             │  /work ── /validate ─ green ─→ /step-done          │ (повтор по
             │              │ defect                              │  этапам)
             │              └→ /diagnose ─→ /work (fix-forward) ──┘
             └──────────────────────┬───────────────────────────┘
                                     ↓
                                /finalize

Ветка гейта и режим разработки не выбираются оркестратором — живут в спавнимых скиллах по маркерам step-файла (## Стратегия гейта, ## Режим разработки); /autopilot спавнит каждый скилл на пиннутом этапе @<index>#NN (владеет позицией, субагент не ре-резолвит). Стоп-кран (3 прохода этапа без green), 3-уровневая политика неоднозначности и режимы прогона (walk-away / attended) — в спеке /autopilot (skills.md). /validate и /diagnose вызываются и вручную — прогнать гейт или локализовать корень дефекта вне автопилота.

Общая дисциплина

Дисциплина, общая для команд семейства workflow, зафиксирована в каноне work/core.md — это источник для автора скиллов, не рантайм-файл: каждый скилл 2.0 инлайнит нужные ему слайсы и самодостаточен на нормальном пути. Канон держит:

  • Инварианты — максимум один active план (фокус), прочие сосуществуют как draft/completed; плоские файлы плана в plans/, per-step леса в подпапке plans/<prefix>/; прогресс чек-боксами; файлы пишутся только по явному сигналу.
  • Гранулярность этапа — этап = один атомарный осмысленный коммит.
  • Таксономия заметок — четыре секции журнала (Решения / Отклонения / Edge cases / Открытые вопросы), каждая со своим назначением.
  • Дисциплины (см. ниже).
  • Шаблоны индекса и step-файла.

Дисциплины

  • Design discipline — избегать антипаттернов (control-flow sprawl, layer mixing, дублирование); использовать механизмы фреймворка, а не ручные эквиваленты. Применяется и на проектировании, и на исполнении.
  • Testing discipline — тесты обязательны и пишутся вместе с функционалом; тест против спеки, а не под код; покрытие точек отказа, не только happy path; багфикс — сначала воспроизводящий тест. Уровни unit + feature; e2e — отдельный план. Режим разработки этапа (маркер ## Режим разработки, три значения): standard (дефолт) — обычный поток, полная Testing Discipline без строгого test-first; tdd — надстройка Red-Green-Refactor на всю новую функциональность; ui — исследовательская вёрстка без теста-вперёд (проверяется UI-веткой /validate).
  • Architectural thinking — на планировании держать решения в идиомах фреймворка. Imperative layer (на входе) — конвенции проекта как ограничение; retrospective layer (перед записью) — архитектурный блок в /blueprint.

Интеграция с памятью

  • Чтение — поиск в памяти обязателен на планировании и подготовке реализации; на исполнении память доступна для сверки с важными решениями, но не пошаговый шлюз. /prime грузит доменную карту (list_entities); /grill и /blueprint ищут по теме обсуждения; /work — по якорям этапа.
  • Запись/step-done фиксирует знание о коде через /mem (status: current), очищенное от плановой метаинформации. /finalize форкает решения: бизнес-уровень → specs/, «как пришли» → заметка памяти.
  • Индекс плана может держать [[id]]-указатели на заметки; резолвятся лениво через get_notes, когда содержимое реально нужно.

Разделение: specs/ — бизнес-уровень и каталог паттернов; code memory — всё про код и реализацию.

Технические детали

  • Тексты скиллов на английском (экономия токенов); общение с пользователем и все артефакты (планы, заметки, правки спеки) — на русском.
  • Скиллы 2.0 не подгружают core.md в рантайм: операционные слайсы заинлайнены в каждый SKILL.md, core.md — канон автора (см. ../contributing/skill-core-coverage.md).