$npx -y skills add TserenTserenov/FMT-exocortex-template --skill week-close-pilotRun the pilot-facing Week Close protocol with progress review and carry-over.
| 1 | ## Guard |
| 2 | |
| 3 | Перед выполнением проверить: |
| 4 | ```bash |
| 5 | IWE_ROOT="${IWE_ROOT:-$HOME/IWE}" |
| 6 | if [ ! -d "$IWE_ROOT/personal-guide" ]; then |
| 7 | echo "⚠️ personal-guide не найден в $IWE_ROOT. Скилл требует personal-guide репозиторий." |
| 8 | exit 0 |
| 9 | fi |
| 10 | ``` |
| 11 | |
| 12 | |
| 13 | # Скилл: /week-close-pilot — закрытие недели пилота личного руководства |
| 14 | |
| 15 | > **Роль:** R27 Навигатор (совмещена с внутренней рефлексией пилота) |
| 16 | > **Триггер:** пользователь явно вызывает `/week-close-pilot` или автоматический вызов из week-close.sh перед основным Close |
| 17 | > **Результат:** архивированный weekly, гипотеза новой недели, первый daily дня |
| 18 | > **Время:** ~15-20 мин |
| 19 | > **Интеграции:** Таilor (Портной, R27) для рендера личного руководства, Память (indicators + learning domain_events) |
| 20 | |
| 21 | --- |
| 22 | |
| 23 | ## Порядок выполнения |
| 24 | |
| 25 | ### Шаг 1: Определение недель и пилота |
| 26 | |
| 27 | 1. Прочитай текущую дату. |
| 28 | 2. Определи: |
| 29 | - **Текущая неделя:** W{N} (недельный номер ISO) |
| 30 | - **Прошлая неделя:** W{N-1} |
| 31 | - **Пилот:** `${PILOT_NAME:-Пилот}` (`personal-guide` репозиторий на GitHub) |
| 32 | - **Account ID:** из `DT_USER_ID` (env) или `dt_read_digital_twin` path `1_declarative/1_1_identity` |
| 33 | |
| 34 | **Выход:** Две недельные метки, готовность к шагу 2. |
| 35 | |
| 36 | --- |
| 37 | |
| 38 | ### Шаг 2: Чтение данных за прошлую неделю |
| 39 | |
| 40 | Собрать три источника данных за W{N-1}: |
| 41 | |
| 42 | **2a) Текущий weekly-файл:** |
| 43 | - Путь: `personal-guide/weekly/<YYYY-Www>.md` (год — текущий, ISO-неделя) |
| 44 | - Это — weekly пилота прошлой недели, где зафиксированы рабочие продукты, ритм, гипотеза в начало недели |
| 45 | - Прочитать его полностью (разделы: Гипотеза, Рабочие продукты, Ритм, Метрики, Что вышло) |
| 46 | |
| 47 | **2b) Domain events за 7 дней:** |
| 48 | - Источник: Neon БД `learning.domain_event` (query: `WHERE occurred_at > now() - interval '7 days' ORDER BY occurred_at DESC`) |
| 49 | - Поля: `event_type, payload, occurred_at, account_id` |
| 50 | - Фильтр: `account_id = %s::uuid` (значение из `DT_USER_ID` env) |
| 51 | - Результат: список событий (например 30-50 событий за неделю — activity-hub записи) |
| 52 | - Форматирование для контекста: summary **в 3-5 пунктов** (пример: «5 РП открыто, 2 РП закрыто, 15+ коммитов, WakaTime ~32h, день-close 4 раза») |
| 53 | |
| 54 | **2c) RCS профиль пилота (baseline + confidence):** |
| 55 | - Источник: Neon БД `indicators.calculated_profile` |
| 56 | - Поля: `W` (мировоззрение), `M1` (методы саморазвития), `M2` (IWE/ОРЗ), `M3` (домен), `M4` (системное), `IT` (инфраструктура), `A` (агентность) |
| 57 | - Каждый слот: `value` (1-5) + `confidence` (0-100%) |
| 58 | - Результат: компактная таблица с дельтой от週 недели назад (если есть история) |
| 59 | |
| 60 | **Выход:** три блока данных готовы для шага 3. |
| 61 | |
| 62 | --- |
| 63 | |
| 64 | ### Шаг 3: Диалог рефлексии с пилотом |
| 65 | |
| 66 | Проведи **синхронный** диалог с пилотом. Цель — **сконвертировать данные в инсайты** (не просто показать метрики). |
| 67 | |
| 68 | **Вопросы (выбери 2-3, не все):** |
| 69 | |
| 70 | 1. **«На что тебе обратить внимание в цифрах за неделю?»** (указать 1-2 метрики из Шага 2b, которые выбиваются из тренда) |
| 71 | 2. **«Что мешало, кроме запланированного?»** (слушать про контекст за неделю — сбои, срочное, интерфейсные проблемы) |
| 72 | 3. **«Гипотеза на новую неделю: что изменить?»** (основываясь на ответах выше + RCS bottleneck из Шага 2c) |
| 73 | |
| 74 | **Формат диалога:** |
| 75 | - Пиши вопрос отдельным сообщением (без множественных вопросов в один) |
| 76 | - Жди ответа пилота |
| 77 | - На основе ответа уточняй или переходи к следующему вопросу |
| 78 | - **Не спрашивай по завершении:** дальше алгоритм идёт автоматически |
| 79 | |
| 80 | **Выход:** 2-3 инсайта, гипотеза для новой недели. |
| 81 | |
| 82 | --- |
| 83 | |
| 84 | ### Шаг 4: Архивирование прошлого weekly |
| 85 | |
| 86 | Переместить прошлый weekly из `weekly/` в `history/`: |
| 87 | |
| 88 | 1. Прочитай `personal-guide/weekly/<YYYY>-Www.md` (для W{N-1}) |
| 89 | 2. Добавь в начало файла **Итоги раздел** (сверху): |
| 90 | ```markdown |
| 91 | ## Итоги W{N-1} |
| 92 | |
| 93 | **Дата архивирования:** YYYY-MM-DD |
| 94 | **Статус:** закрыто |
| 95 | **Факт vs. гипотеза:** [из диалога шага 3] |
| 96 | **Инсайты:** [краткие выводы из диалога] |
| 97 | **Рекомендация на W{N}:** [гипотеза] |
| 98 | ``` |
| 99 | 3. Переместить файл: `weekly/<YYYY>-Www.md` → `history/<YYYY>-Www-итоги.md` |
| 100 | 4. Запиши в git: `git add history/`, `git commit -m "Archive W{N-1}: итоги + гипотеза на W{N}"` |
| 101 | |
| 102 | **Выход:** weekly прошлой недели в archive, git committed. |
| 103 | |
| 104 | --- |
| 105 | |
| 106 | ### Шаг 5: Генерирование гипотезы новой недели |
| 107 | |
| 108 | На основе инсайтов из Шага 3, создай **краткую гипотезу** на W{N}: |
| 109 | |
| 110 | Форма (заполнить пробелы на основе диалога): |
| 111 | - **Главный вопрос:** [На что пилот хочет сфокусироваться на этой неделе?] |
| 112 | - **Почему сейчас:** [Из контекста прошлой недели / RCS bottleneck] |
| 113 | - **Ключевой результат:** [Один наблюдаемый итог к концу недели] |
| 114 | - **Рычаг:** [Какой из 7 слотов (W/M1-M4/IT/A) он усилит на этой неделе?] |
| 115 | |
| 116 | Сохранить как переменную для шага 6. |
| 117 | |
| 118 | **Выход:** гипотеза готова. |
| 119 | |
| 120 | --- |
| 121 | |
| 122 | ### Шаг 6: Запись нового weekly для W{N} |
| 123 | |
| 124 | Вызови `personal_write` (MCP инструмент) для создания файла: |
| 125 | |
| 126 | - **path:** `weekly/<YYYY>-Www.md` (для W{N}) |
| 127 | - **content:** используй template из `m |