v1.0.0 to v1.0.0

1 added, 0 removed. Audit A to A.

---
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