run-protocol

Step-by-step execution of the OWC protocol with mandatory checkpoint at each step. Prevents skipping steps (including verification).

SKILL.md

GitHub

Выполнение протокола

Принцип: Протокол = последовательность шагов. Каждый шаг отмечается ДО перехода к следующему. Пропустить шаг нельзя. Проблема, которую решает: Агент «забывает» финальные шаги (верификация, backup) из-за загрязнения контекста (SOTA.002).

Аргументы: $ARGUMENTS

Шаг 1. Определить протокол

Аргумент Маршрутизация (краткая) Полный алгоритм
day-open / open day memory/protocol-open.md (§ Масштаб: День) .claude/skills/day-open/SKILL.md
open session или задание memory/protocol-open.md (§ Масштаб: Сессия) — (inline в protocol-open.md)
day-close / close day memory/protocol-close.md (§ Маршрутизация) .claude/skills/day-close/SKILL.md
close session memory/protocol-close.md (§ Quick Close) — (inline в protocol-close.md)
week-close memory/protocol-close.md (§ Маршрутизация) .claude/skills/week-close/SKILL.md

Если у аргумента есть Skill-файл → читай его (содержит полный алгоритм + чеклист). Protocol-файл = слим-маршрутизатор + Quick Close inline.

Шаг 1b. Загрузить extensions (БЛОКИРУЮЩЕЕ)

Определи имя протокола: day-open, day-close, week-close, protocol-close, protocol-open.

Проверь и прочитай (если существуют):

  1. extensions/{protocol}.before.md → добавить как первые шаги в TodoWrite
  2. extensions/{protocol}.after.md → добавить как шаги после основного алгоритма, перед верификацией
  3. extensions/{protocol}.checks.md → добавить как шаг перед git commit (БЛОКИРУЮЩЕЕ: commit запрещён до прохождения checks)

Не существует → пропустить молча. Существует → прочитать и включить в план.

Шаг 2. Извлечь шаги

Из алгоритма протокола (Skill-файл или protocol-файл) и extensions извлеки пронумерованный список шагов. Запиши их как задачи (TodoWrite; инструмент недоступен в сессии — на моделях новее Sonnet 4.6 он по умолчанию выключен клиентом, включается переменной CLAUDE_CODE_ENABLE_TODO_TOOLS=1 в env настроек (issue #1216); до тех пор или на установках без этой переменной вести те же шаги явной нумерацией в ответах с отметкой каждого до перехода к следующему, сообщив об этом пилоту одной строкой — issues #561, #563):

Порядок задач:

  1. Extensions .before.md (если есть)
  2. Основные шаги из алгоритма
  3. Extensions .after.md (если есть)
  4. Extensions .checks.md + git commit (если есть артефакт для коммита)
  5. Верификация закрытия (sub-agent Haiku R23 по чеклисту закрытия) — только для close-протоколов, см. шаг 4
  • Каждый основной шаг = отдельная задача
  • Для close-протоколов последняя задача = «Верификация закрытия (sub-agent Haiku R23)»; в open и прочих протоколах такой задачи нет
  • Статус: pending

Шаг 3. Выполнять последовательно

Для каждого шага:

  1. Отметь шаг как in_progress
  2. Выполни его
  3. Отметь как completed
  4. Перейди к следующему

БЛОКИРУЮЩЕЕ: НЕ пропускай шаги. Если шаг невозможен — отметь как blocked и спроси пользователя.

Шаг 4. Верификация закрытия (только close-протоколы)

Шаг нужен только при закрытии: Quick Close (close, close session), Day Close, Week Close, Month Close. В open и прочих протоколах верификации R23 нет, шаг пропускается. Quick Close: если в params.yaml стоит verify_quick_close: false — шаг пропускается. Day, Week и Month Close этому ключу не подчиняются.

После выполнения всех шагов закрытия:

  1. Запусти sub-agent Haiku в роли R23 (изоляция контекста): передай чеклист закрытия (из протокола или скилла закрытия), список изменённых файлов и краткое резюме
  2. R23 сверяет выполнение с чеклистом закрытия
  3. По ❌ — исправить ДО показа результата пользователю

Правила

  • Один шаг in_progress одновременно
  • Не забегай вперёд — контекст загрязняется (SOTA.002)
  • Шаг протокола фиксируй по ходу работы, а не в момент сжатия: на PreCompact агент ничего не получает. Хук precompact-checkpoint.sh снимает слепок реплик (вне проекта, $CLAUDE_CONFIG_DIR/iwe-checkpoints/), precompact-restore.sh возвращает его после сжатия — но только то, что уже попало в последние реплики, не шаг протокола отдельно
  • Если протокол прерван пользователем — запиши оставшиеся шаги в checkpoint