week-close-pilot
Run the pilot-facing Week Close protocol with progress review and carry-over.
Install
npx skills add https://github.com/TserenTserenov/FMT-exocortex-template/tree/main/.claude/skills/week-close-pilot
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install tserentserenov-fmt-exocortex-template@llmmart
git clone https://github.com/TserenTserenov/FMT-exocortex-template.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole tserentserenov/fmt-exocortex-template collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Guard
Перед выполнением проверить:
IWE_ROOT="${IWE_ROOT:-$HOME/IWE}"
if [ ! -d "$IWE_ROOT/DS-personal-guide" ]; then
echo "⚠️ DS-personal-guide не найден в $IWE_ROOT. Скилл требует DS-personal-guide репозиторий."
exit 0
fi
Скилл: /week-close-pilot — закрытие недели пилота личного руководства
Роль: R27 Навигатор (совмещена с внутренней рефлексией пилота)
Триггер: пользователь явно вызывает/week-close-pilot. (issue #409: строка обещала автовызов из несуществующегоweek-close.shперед основным Close — такой автоматизации нигде в поставке нет, вызов только ручной) Результат: архивированный weekly, гипотеза новой недели, первый daily дня
Время: ~15-20 мин
Интеграции: Таilor (Портной, R27) для рендера личного руководства, Память (indicators + learning domain_events)
Порядок выполнения
Шаг 1: Определение недель и пилота
- Прочитай текущую дату.
- Определи:
- Текущая неделя: W (недельный номер ISO)
- Прошлая неделя: W
- Пилот:
${PILOT_NAME:-Пилот}(DS-personal-guideрепозиторий на GitHub) - Account ID: из
DT_USER_ID(env) илиdt_read_digital_twinpath1_declarative/1_1_identity
Выход: Две недельные метки, готовность к шагу 2.
Шаг 2: Чтение данных за прошлую неделю
Собрать три источника данных за W:
2a) Текущий weekly-файл:
- Путь:
DS-personal-guide/weekly/<YYYY-Www>.md(год — текущий, ISO-неделя) - Это — weekly пилота прошлой недели, где зафиксированы рабочие продукты, ритм, гипотеза в начало недели
- Прочитать его полностью (разделы: Гипотеза, Рабочие продукты, Ритм, Метрики, Что вышло)
2b) Domain events за 7 дней:
- Источник: Neon БД
learning.domain_event(query:WHERE occurred_at > now() - interval '7 days' ORDER BY occurred_at DESC) - Поля:
event_type, payload, occurred_at, account_id - Фильтр:
account_id = %s::uuid(значение изDT_USER_IDenv) - Результат: список событий (например 30-50 событий за неделю — activity-hub записи)
- Форматирование для контекста: summary в 3-5 пунктов (пример: «5 РП открыто, 2 РП закрыто, 15+ коммитов, WakaTime ~32h, день-close 4 раза»)
2c) RCS профиль пилота (baseline + confidence):
- Источник: Neon БД
indicators.calculated_profile - Поля:
W(мировоззрение),M1(методы саморазвития),M2(IWE/ОРЗ),M3(домен),M4(системное),IT(инфраструктура),A(агентность) - Каждый слот:
value(1-5) +confidence(0-100%) - Результат: компактная таблица с дельтой от週 недели назад (если есть история)
Выход: три блока данных готовы для шага 3.
Шаг 3: Диалог рефлексии с пилотом
Проведи синхронный диалог с пилотом. Цель — сконвертировать данные в инсайты (не просто показать метрики).
Вопросы (выбери 2-3, не все):
- «На что тебе обратить внимание в цифрах за неделю?» (указать 1-2 метрики из Шага 2b, которые выбиваются из тренда)
- «Что мешало, кроме запланированного?» (слушать про контекст за неделю — сбои, срочное, интерфейсные проблемы)
- «Гипотеза на новую неделю: что изменить?» (основываясь на ответах выше + RCS bottleneck из Шага 2c)
Формат диалога:
- Пиши вопрос отдельным сообщением (без множественных вопросов в один)
- Жди ответа пилота
- На основе ответа уточняй или переходи к следующему вопросу
- Не спрашивай по завершении: дальше алгоритм идёт автоматически
Выход: 2-3 инсайта, гипотеза для новой недели.
Шаг 4: Архивирование прошлого weekly
Переместить прошлый weekly из weekly/ в history/:
- Прочитай
DS-personal-guide/weekly/<YYYY>-Www.md(для W) - Добавь в начало файла Итоги раздел (сверху):
## Итоги W{N-1} **Дата архивирования:** YYYY-MM-DD **Статус:** закрыто **Факт vs. гипотеза:** [из диалога шага 3] **Инсайты:** [краткие выводы из диалога] **Рекомендация на W{N}:** [гипотеза] - Переместить файл:
weekly/<YYYY>-Www.md→history/<YYYY>-Www-итоги.md - Запиши в git:
git add history/,git commit -m "Archive W{N-1}: итоги + гипотеза на W{N}"
Выход: weekly прошлой недели в archive, git committed.
Шаг 5: Генерирование гипотезы новой недели
На основе инсайтов из Шага 3, создай краткую гипотезу на W:
Форма (заполнить пробелы на основе диалога):
- Главный вопрос: [На что пилот хочет сфокусироваться на этой неделе?]
- Почему сейчас: [Из контекста прошлой недели / RCS bottleneck]
- Ключевой результат: [Один наблюдаемый итог к концу недели]
- Рычаг: [Какой из 7 слотов (W/M1-M4/IT/A) он усилит на этой неделе?]
Сохранить как переменную для шага 6.
Выход: гипотеза готова.
Шаг 6: Запись нового weekly для W
Вызови personal_write (MCP инструмент) для создания файла:
- path:
weekly/<YYYY>-Www.md(для W) - content: используй template из
monthly-theme-template.md+ гипотеза из Шага 5 - Разделы:
- Гипотеза (4-6 строк из Шага 5)
- Рабочие продукты (2-3 конкретных артефакта, которые должны появиться)
- Ритм (слоты W/M1-M4, планируемое время)
- Метрики (какие метрики отслеживать на неделю)
- Комментарий (что проверить в конце недели)
Выход: новый weekly написан в DS-personal-guide репо.
Шаг 7: Запись daily для первого дня недели W
Вызови personal_write для дневного файла:
- path:
daily/YYYY-MM-DD.md(для пн W) - content: scaffold с пустыми слотами Day Open (календарь, план на день, первый пункт из Weekly)
Выход: daily создан, пилот готов к Day Open в пн.
Шаг 8: Отчёт
Отправь одно сообщение с резюме (без вопросов):
✅ W{N-1} закрыта
• Архивирован weekly с итогами
• Гипотеза на W{N}: [краткая фраза, макс 10 слов]
• Новый weekly готов: <YYYY>-Www.md
• Daily для пн {дата} создан
→ Ready for Day Open
Выход: скилл выполнен.
Предохранители
- ⛔ Шаг 3 без диалога: Если пилот не отвечает на вопрос, перейди к следующему вопросу после 20s (не жди бесконечно)
- ⛔ Неполные данные на Шаг 2: Если weekly не найден или БД недоступна — сообщи об этом и заверши скилл (не генерируй данные из ничего)
- ⛔ Двойное архивирование: Проверь что weekly не был уже архивирован в прошлый раз (иди по git history)
Связи
- Входная точка:
protocol-close.md(шаг 1 неделя-close вызывает этот скилл как шаг 0) - Выходная точка: результаты готовы для
/day-openв пн W - Таilor (Портной): Скилл вызывает
personal_write(встроенная интеграция), которая в фоне запускает render-pilot-guides.py (Ф28.7) - Memory: RCS profile читается через MCP (
get_tailor_context), events из learning БД через SQL
Files (fmt-exocortex-template)
-
SKILL.md 10.1 KB
--- name: week-close-pilot description: "Run the pilot-facing Week Close protocol with progress review and carry-over." version: 1.0.0 layer: L3 status: active browser_safe: false triggers: slash: [/week-close-pilot] phrases: [] routing: executor: sonnet deterministic: false --- ## Guard Перед выполнением проверить: ```bash IWE_ROOT="${IWE_ROOT:-$HOME/IWE}" if [ ! -d "$IWE_ROOT/DS-personal-guide" ]; then echo "⚠️ DS-personal-guide не найден в $IWE_ROOT. Скилл требует DS-personal-guide репозиторий." exit 0 fi ``` # Скилл: /week-close-pilot — закрытие недели пилота личного руководства > **Роль:** R27 Навигатор (совмещена с внутренней рефлексией пилота) > **Триггер:** пользователь явно вызывает `/week-close-pilot`. (issue #409: строка обещала автовызов из несуществующего `week-close.sh` перед основным Close — такой автоматизации нигде в поставке нет, вызов только ручной) > **Результат:** архивированный weekly, гипотеза новой недели, первый daily дня > **Время:** ~15-20 мин > **Интеграции:** Таilor (Портной, R27) для рендера личного руководства, Память (indicators + learning domain_events) --- ## Порядок выполнения ### Шаг 1: Определение недель и пилота 1. Прочитай текущую дату. 2. Определи: - **Текущая неделя:** W{N} (недельный номер ISO) - **Прошлая неделя:** W{N-1} - **Пилот:** `${PILOT_NAME:-Пилот}` (`DS-personal-guide` репозиторий на GitHub) - **Account ID:** из `DT_USER_ID` (env) или `dt_read_digital_twin` path `1_declarative/1_1_identity` **Выход:** Две недельные метки, готовность к шагу 2. --- ### Шаг 2: Чтение данных за прошлую неделю Собрать три источника данных за W{N-1}: **2a) Текущий weekly-файл:** - Путь: `DS-personal-guide/weekly/<YYYY-Www>.md` (год — текущий, ISO-неделя) - Это — weekly пилота прошлой недели, где зафиксированы рабочие продукты, ритм, гипотеза в начало недели - Прочитать его полностью (разделы: Гипотеза, Рабочие продукты, Ритм, Метрики, Что вышло) **2b) Domain events за 7 дней:** - Источник: Neon БД `learning.domain_event` (query: `WHERE occurred_at > now() - interval '7 days' ORDER BY occurred_at DESC`) - Поля: `event_type, payload, occurred_at, account_id` - Фильтр: `account_id = %s::uuid` (значение из `DT_USER_ID` env) - Результат: список событий (например 30-50 событий за неделю — activity-hub записи) - Форматирование для контекста: summary **в 3-5 пунктов** (пример: «5 РП открыто, 2 РП закрыто, 15+ коммитов, WakaTime ~32h, день-close 4 раза») **2c) RCS профиль пилота (baseline + confidence):** - Источник: Neon БД `indicators.calculated_profile` - Поля: `W` (мировоззрение), `M1` (методы саморазвития), `M2` (IWE/ОРЗ), `M3` (домен), `M4` (системное), `IT` (инфраструктура), `A` (агентность) - Каждый слот: `value` (1-5) + `confidence` (0-100%) - Результат: компактная таблица с дельтой от週 недели назад (если есть история) **Выход:** три блока данных готовы для шага 3. --- ### Шаг 3: Диалог рефлексии с пилотом Проведи **синхронный** диалог с пилотом. Цель — **сконвертировать данные в инсайты** (не просто показать метрики). **Вопросы (выбери 2-3, не все):** 1. **«На что тебе обратить внимание в цифрах за неделю?»** (указать 1-2 метрики из Шага 2b, которые выбиваются из тренда) 2. **«Что мешало, кроме запланированного?»** (слушать про контекст за неделю — сбои, срочное, интерфейсные проблемы) 3. **«Гипотеза на новую неделю: что изменить?»** (основываясь на ответах выше + RCS bottleneck из Шага 2c) **Формат диалога:** - Пиши вопрос отдельным сообщением (без множественных вопросов в один) - Жди ответа пилота - На основе ответа уточняй или переходи к следующему вопросу - **Не спрашивай по завершении:** дальше алгоритм идёт автоматически **Выход:** 2-3 инсайта, гипотеза для новой недели. --- ### Шаг 4: Архивирование прошлого weekly Переместить прошлый weekly из `weekly/` в `history/`: 1. Прочитай `DS-personal-guide/weekly/<YYYY>-Www.md` (для W{N-1}) 2. Добавь в начало файла **Итоги раздел** (сверху): ```markdown ## Итоги W{N-1} **Дата архивирования:** YYYY-MM-DD **Статус:** закрыто **Факт vs. гипотеза:** [из диалога шага 3] **Инсайты:** [краткие выводы из диалога] **Рекомендация на W{N}:** [гипотеза] ``` 3. Переместить файл: `weekly/<YYYY>-Www.md` → `history/<YYYY>-Www-итоги.md` 4. Запиши в git: `git add history/`, `git commit -m "Archive W{N-1}: итоги + гипотеза на W{N}"` **Выход:** weekly прошлой недели в archive, git committed. --- ### Шаг 5: Генерирование гипотезы новой недели На основе инсайтов из Шага 3, создай **краткую гипотезу** на W{N}: Форма (заполнить пробелы на основе диалога): - **Главный вопрос:** [На что пилот хочет сфокусироваться на этой неделе?] - **Почему сейчас:** [Из контекста прошлой недели / RCS bottleneck] - **Ключевой результат:** [Один наблюдаемый итог к концу недели] - **Рычаг:** [Какой из 7 слотов (W/M1-M4/IT/A) он усилит на этой неделе?] Сохранить как переменную для шага 6. **Выход:** гипотеза готова. --- ### Шаг 6: Запись нового weekly для W{N} Вызови `personal_write` (MCP инструмент) для создания файла: - **path:** `weekly/<YYYY>-Www.md` (для W{N}) - **content:** используй template из `monthly-theme-template.md` + гипотеза из Шага 5 - **Разделы:** - Гипотеза (4-6 строк из Шага 5) - Рабочие продукты (2-3 конкретных артефакта, которые должны появиться) - Ритм (слоты W/M1-M4, планируемое время) - Метрики (какие метрики отслеживать на неделю) - Комментарий (что проверить в конце недели) **Выход:** новый weekly написан в `DS-personal-guide` репо. --- ### Шаг 7: Запись daily для первого дня недели W{N} Вызови `personal_write` для дневного файла: - **path:** `daily/YYYY-MM-DD.md` (для пн W{N}) - **content:** scaffold с пустыми слотами Day Open (календарь, план на день, первый пункт из Weekly) **Выход:** daily создан, пилот готов к Day Open в пн. --- ### Шаг 8: Отчёт Отправь **одно** сообщение с резюме (без вопросов): ``` ✅ W{N-1} закрыта • Архивирован weekly с итогами • Гипотеза на W{N}: [краткая фраза, макс 10 слов] • Новый weekly готов: <YYYY>-Www.md • Daily для пн {дата} создан → Ready for Day Open ``` **Выход:** скилл выполнен. --- ## Предохранители - ⛔ **Шаг 3 без диалога:** Если пилот не отвечает на вопрос, перейди к следующему вопросу после 20s (не жди бесконечно) - ⛔ **Неполные данные на Шаг 2:** Если weekly не найден или БД недоступна — сообщи об этом и заверши скилл (не генерируй данные из ничего) - ⛔ **Двойное архивирование:** Проверь что weekly не был уже архивирован в прошлый раз (иди по git history) --- ## Связи - **Входная точка:** `protocol-close.md` (шаг 1 неделя-close вызывает этот скилл как шаг 0) - **Выходная точка:** результаты готовы для `/day-open` в пн W{N} - **Таilor (Портной):** Скилл вызывает `personal_write` (встроенная интеграция), которая в фоне запускает render-pilot-guides.py (Ф28.7) - **Memory:** RCS profile читается через MCP (`get_tailor_context`), events из learning БД через SQL
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.