$npx -y skills add TserenTserenov/FMT-exocortex-template --skill month-closeПротокол закрытия месяца (Month Close). Стадия 7 каскада ВДВ v9 (PD.METHOD.008). Запускается в первый Пн месяца, до Strategy Session.
| 1 | # Month Close (протокол закрытия месяца) |
| 2 | |
| 3 | > **Роль:** R1 Стратег (выполнение), R23 Верификатор (Haiku, чеклист). **Бюджет:** 30-45 мин. |
| 4 | > **Триггер:** первый Пн месяца, перед Strategy Session первой недели. |
| 5 | > **Принцип:** Month Close = агрегация 4-5 Week Close'ов + переосмысление фазы/калибра. Не повторяет Week Close, опирается на его выходы. |
| 6 | > **Позиция в ВДВ v9:** стадия 7 «Закрытие месяца». Вход = Report W{N} предыдущего месяца + Strategy.md. Выход = Strategy.md § Результаты месяца (R1-RN) + `archive/MonthClose YYYY-MM.md`. |
| 7 | > **SKILL.md = L1 платформенный файл.** Пользователь не редактирует напрямую — только через `extensions/`. |
| 8 | |
| 9 | ## When to use |
| 10 | |
| 11 | Протокол закрытия месяца (Month Close). Стадия 7 каскада ВДВ v9 (PD.METHOD.008). Запускается в первый Пн месяца, до Strategy Session. |
| 12 | |
| 13 | ## БЛОКИРУЮЩЕЕ: пошаговое исполнение |
| 14 | |
| 15 | Month Close = протокол. Исполнять ТОЛЬКО пошагово через TodoWrite. |
| 16 | **Шаг 0 — ПЕРВОЕ действие:** создать список задач прямо сейчас (до любых других действий). |
| 17 | Каждый шаг алгоритма → отдельная задача (pending → in_progress → completed). |
| 18 | Переход к следующему — ТОЛЬКО после отметки текущего. Шаг невозможен → blocked (не пропускать молча). |
| 19 | |
| 20 | ## Предусловия (проверить ДО запуска) |
| 21 | |
| 22 | 1. **Сегодня первый Пн месяца?** Если нет — СТОП, предложить запустить в правильный день. Исключение: пропущенный Month Close за прошлый месяц (запускать до середины месяца с явным указанием периода). |
| 23 | 2. **Week Close предыдущей недели выполнен?** Report W{N-1} существует в `current/` или `archive/`. Если нет — СТОП, сначала `/week-close`. |
| 24 | 3. **Month Close прошлого месяца архивирован?** `archive/MonthClose YYYY-MM.md` существует (для месяцев после MVP). Если нет (первый прогон мая 2026) — пропустить проверку. |
| 25 | |
| 26 | ## Algorithm |
| 27 | |
| 28 | ### 0. Extensions (before) |
| 29 | Загрузить: `bash .claude/scripts/load-extensions.sh month-close before`. Exit 0 → `Read` каждый файл из вывода (alphabetic) → выполнить как первые шаги. Exit 1 → пропустить. Поддерживает `extensions/month-close.before.md` И `extensions/month-close.before.<suffix>.md`. |
| 30 | |
| 31 | ### 1. Сбор данных (агент) |
| 32 | |
| 33 | **1a. Период.** Определить границы месяца: `YYYY-MM-01 .. YYYY-MM-{last}` (фактически — последний Week Close предыдущего месяца). |
| 34 | |
| 35 | **1b. Коммиты за месяц.** |
| 36 | |
| 37 | ```bash |
| 38 | for repo in $(ls {{HOME_DIR}}/IWE/); do |
| 39 | if [ -d {{HOME_DIR}}/IWE/$repo/.git ]; then |
| 40 | count=$(git -C {{HOME_DIR}}/IWE/$repo log --since="$MONTH_START" --until="$MONTH_END" --oneline --no-merges 2>/dev/null | wc -l) |
| 41 | [ "$count" -gt 0 ] && echo "$repo: $count" |
| 42 | fi |
| 43 | done |
| 44 | ``` |
| 45 | |
| 46 | **1c. Week Report'ы месяца.** Собрать `current/Report W{N}.md` за 4-5 недель → список закрытых/перенесённых РП, мультипликаторы, ТОС недель. |
| 47 | |
| 48 | **1d. Drift месячный.** `bash ${IWE_SCRIPTS:-$HOME/IWE/scripts}/iwe-drift.sh` → выявить пары, где lag вырос за месяц. |
| 49 | |
| 50 | **1e. Decision log.** `${IWE_GOVERNANCE_REPO:-DS-strategy}/exocortex/decisions/decision-log-YYYY-MM.md` (WP-109 Ф7, реализация: один файл на месяц) — решения, принятые за месяц. |
| 51 | |
| 52 | **1f. Метрики файлов memory (WP-217 Ф10.2).** |
| 53 | |
| 54 | ```bash |
| 55 | bash ${IWE_SCRIPTS:-$HOME/IWE/scripts}/memory-health.sh |
| 56 | bash ${IWE_SCRIPTS:-$HOME/IWE/scripts}/memory-bleed.sh |
| 57 | ``` |
| 58 | |
| 59 | HOT-лимит превышен → понизить horizon в frontmatter нужных файлов ДО дальнейших шагов. Кандидаты на понижение из bleed-отчёта → зафиксировать в `MonthClose YYYY-MM.md § T-чеклист T23`. |
| 60 | |
| 61 | **1g. Стабильные входы (PD.METHOD.008 стадия 7 входы 5+6).** Прочитать `${IWE_GOVERNANCE_REPO:-DS-strategy}/docs/Dissatisfactions.md` (список НЭП) + `${IWE_GOVERNANCE_REPO:-DS-strategy}/docs/Projects.md` (список проектов P1-P6). Без них ревизия проектов (Шаг 4) и промоция новых R (Шаг 9) не имеют контекста. |
| 62 | |
| 63 | ### 2. Мультипликатор месяца |
| 64 | |
| 65 | > Агрегация недельных мультипликаторов, НЕ среднее дневных. |
| 66 | |
| 67 | 1. **WakaTime месяца** — сумма физического времени за все дни месяца |
| 68 | 2. **Бюджет закрыт за месяц** — сумма `Бюджет закрыт` из всех Week Report'ов месяца |
| 69 | 3. **Мультипликатор месяца** = Бюджет закрыт / WakaTime. Формат: `N.Nx` |
| 70 | 4. **Динамика** — сравнить с прошлым месяцем (рост / падение / стабильно) |
| 71 | |
| 72 | ### 3. Ретроспектива метрик (человек + агент) |
| 73 | |
| 74 | **3a. Фаза стратегической позиции (PD.FORM.078).** |
| 75 | |
| 76 | Текущая декларация в Strategy.md § Состояние месяца: [Development / Chaos / Ceiling / Pivot]. Проверить по 5 сигналам PD.FORM.078: |
| 77 | - Оправдались ли сигналы перехода, зафиксированные в начале месяца? |
| 78 | - Фаза стабильна, сдвинулась, или требует пересмотра? |
| 79 | - Решение: оставить / сдвинуть → записать в `MonthClose YYYY-MM.md`. |
| 80 | |
| 81 | **3b. Калибр личности (PD.CHR.007).** |
| 82 | |
| 83 | Текущий ка |