week-close-pilot · v1.0.0 · 2026-06-08 · sha256 e9accf6bfe8def5c

week-close-pilot v1.0.0A

Immutable. This exact content is served forever at /api/v1/blob/e9accf6bfe8def5c.

---
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
triggers:
  slash: [/week-close-pilot]
  phrases: []
routing:
  executor: sonnet
  deterministic: false
---
## Guard

Перед выполнением проверить:
```bash
IWE_ROOT="${IWE_ROOT:-$HOME/IWE}"
if [ ! -d "$IWE_ROOT/personal-guide" ]; then
  echo "⚠️ personal-guide не найден в $IWE_ROOT. Скилл требует personal-guide репозиторий."
  exit 0
fi
```


# Скилл: /week-close-pilot — закрытие недели пилота личного руководства

> **Роль:** R27 Навигатор (совмещена с внутренней рефлексией пилота)  
> **Триггер:** пользователь явно вызывает `/week-close-pilot` или автоматический вызов из 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:-Пилот}` (`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-файл:**
- Путь: `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. Прочитай `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 написан в `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