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{N} (недельный номер ISO)
- Прошлая неделя: W{N-1}
- Пилот:
${PILOT_NAME:-Пилот}(DS-personal-guideрепозиторий на GitHub) - Account ID: из
DT_USER_ID(env) илиdt_read_digital_twinpath1_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_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{N-1}) - Добавь в начало файла Итоги раздел (сверху):
## Итоги 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{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