Протокол закрытия месяца (Month Close). Стадия 7 каскада ВДВ v9 (PD.METHOD.008). Запускается в первый Пн месяца, до Strategy Session.
Scanned 9/1/2026
Install to Claude Code
npx -y skills add TserenTserenov/FMT-exocortex-template --skill month-close --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Month Close?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tserentserenov-month-close)More formats (shields.io, HTML) on the badges page.
---
name: month-close
description: "Протокол закрытия месяца (Month Close). Стадия 7 каскада ВДВ v9 (PD.METHOD.008). Запускается в первый Пн месяца, до Strategy Session."
argument-hint: ""
version: 1.0.0
layer: L1
status: active
triggers:
slash: [/month-close]
phrases: []
routing:
executor: opus
deterministic: false
agents: single
interaction: multi-step
gates_required: []
gates_enforced: []
gates_rationale: "операционный скилл; WP Gate применим только при создании нового РП, не для операционных вызовов"
---
# Month Close (протокол закрытия месяца)
> **Роль:** R1 Стратег (выполнение), R23 Верификатор (Haiku, чеклист). **Бюджет:** 30-45 мин.
> **Триггер:** первый Пн месяца, перед Strategy Session первой недели.
> **Принцип:** Month Close = агрегация 4-5 Week Close'ов + переосмысление фазы/калибра. Не повторяет Week Close, опирается на его выходы.
> **Позиция в ВДВ v9:** стадия 7 «Закрытие месяца». Вход = Report W{N} предыдущего месяца + Strategy.md. Выход = Strategy.md § Результаты месяца (R1-RN) + `archive/MonthClose YYYY-MM.md`.
> **SKILL.md = L1 платформенный файл.** Пользователь не редактирует напрямую — только через `extensions/`.
## When to use
Протокол закрытия месяца (Month Close). Стадия 7 каскада ВДВ v9 (PD.METHOD.008). Запускается в первый Пн месяца, до Strategy Session.
## БЛОКИРУЮЩЕЕ: пошаговое исполнение
Month Close = протокол. Исполнять ТОЛЬКО пошагово через TodoWrite.
**Шаг 0 — ПЕРВОЕ действие:** создать список задач прямо сейчас (до любых других действий).
Каждый шаг алгоритма → отдельная задача (pending → in_progress → completed).
Переход к следующему — ТОЛЬКО после отметки текущего. Шаг невозможен → blocked (не пропускать молча).
## Предусловия (проверить ДО запуска)
1. **Сегодня первый Пн месяца?** Если нет — СТОП, предложить запустить в правильный день. Исключение: пропущенный Month Close за прошлый месяц (запускать до середины месяца с явным указанием периода).
2. **Week Close предыдущей недели выполнен?** Report W{N-1} существует в `current/` или `archive/`. Если нет — СТОП, сначала `/week-close`.
3. **Month Close прошлого месяца архивирован?** `archive/MonthClose YYYY-MM.md` существует (для месяцев после MVP). Если нет (первый прогон мая 2026) — пропустить проверку.
## Algorithm
### 0. Extensions (before)
Загрузить: `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`.
### 1. Сбор данных (агент)
**1a. Период.** Определить границы месяца: `YYYY-MM-01 .. YYYY-MM-{last}` (фактически — последний Week Close предыдущего месяца).
**1b. Коммиты за месяц.**
```bash
for repo in $(ls {{HOME_DIR}}/IWE/); do
if [ -d {{HOME_DIR}}/IWE/$repo/.git ]; then
count=$(git -C {{HOME_DIR}}/IWE/$repo log --since="$MONTH_START" --until="$MONTH_END" --oneline --no-merges 2>/dev/null | wc -l)
[ "$count" -gt 0 ] && echo "$repo: $count"
fi
done
```
**1c. Week Report'ы месяца.** Собрать `current/Report W{N}.md` за 4-5 недель → список закрытых/перенесённых РП, мультипликаторы, ТОС недель.
**1d. Drift месячный.** `bash ${IWE_SCRIPTS:-$HOME/IWE/scripts}/iwe-drift.sh` → выявить пары, где lag вырос за месяц.
**1e. Decision log.** Канонический файл: `${IWE_GOVERNANCE_REPO:-DS-strategy}/decisions/decision-log-YYYY-MM.md` (WP-109 Ф7, один файл на месяц). Перед чтением выполнить совместимую миграцию: если канонического файла нет, но существует `${IWE_GOVERNANCE_REPO:-DS-strategy}/exocortex/decisions/decision-log-YYYY-MM.md`, создать `decisions/` и переместить старый файл; если существуют оба, не объединять и не перезаписывать молча, сообщить пилоту о расхождении и читать канонический. Если файла нет или в нём нет записей месяца, зафиксировать «решения за месяц не зарегистрированы» и продолжить; отсутствие файла на пустом месяце не является ошибкой Month Close.
**1f. Метрики файлов memory (WP-217 Ф10.2).**
```bash
bash ${IWE_SCRIPTS:-$HOME/IWE/scripts}/memory-health.sh
bash ${IWE_SCRIPTS:-$HOME/IWE/scripts}/memory-bleed.sh
```
HOT-лимит превышен → понизить horizon в frontmatter нужных файлов ДО дальнейших шагов. Кандидаты на понижение из bleed-отчёта → зафиксировать в `MonthClose YYYY-MM.md § T-чеклист T23`.
**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) не имеют контекста.
### 2. Мультипликатор месяца
> Агрегация недельных мультипликаторов, НЕ среднее дневных.
1. **WakaTime месяца** — сумма физического времени за все дни месяца
2. **Бюджет закрыт за месяц** — сумма `Бюджет закрыт` из всех Week Report'ов месяца
3. **Мультипликатор месяца** = Бюджет закрыт / WakaTime. Формат: `N.Nx`
4. **Динамика** — сравнить с прошлым месяцем (рост / падение / стабильно)
### 3. Ретроспектива метрик (человек + агент)
**3a. Фаза стратегической позиции (PD.FORM.078).**
Текущая декларация в Strategy.md § Состояние месяца: [Development / Chaos / Ceiling / Pivot]. Проверить по 5 сигналам PD.FORM.078:
- Оправдались ли сигналы перехода, зафиксированные в начале месяца?
- Фаза стабильна, сдвинулась, или требует пересмотра?
- Решение: оставить / сдвинуть → записать в `MonthClose YYYY-MM.md`.
**3b. Калибр личности (PD.CHR.007).**
Текущий калибр в Strategy.md (например: 3, целевой 4 к концу 2026). Вопросы:
- Появились ли за месяц события/результаты, сигнализирующие рост?
- Разрыв по трём направлениям (горизонт / bus factor / публичность) — какой сократился?
- Пересчёт: оставить / поднять на 0.5 / потребовать дополнительных действий.
### 4. Ревизия проектов P1-P6 (человек)
По `docs/Projects.md`, для каждого активного проекта:
- Какие R-результаты месяца двигали P?
- P застыл (0 часов за месяц) → сигнал: актуален ли P? Не пора ли декомпозировать или закрыть?
- Баланс часов по P — есть ли крен, соответствующий стратегии?
Вывод: 1-2 абзаца в `MonthClose YYYY-MM.md § Ревизия проектов`.
### 5. R-вопросник месяца (человек)
Открыть `memory/r-questionnaire.md` → раздел «Month Close — 6 доп. вопросов» → ответить последовательно (M1-M6).
**Особый статус M6 (decommission):** ответ = список T-действий на перевод в dormant/archived. Агент перед вопросом запускает `bash ${IWE_SCRIPTS:-$HOME/IWE/scripts}/iwe-drift.sh` + читает `sync-manifest.yaml § activity_checks:` → предъявляет кандидатов.
Время: 20-30 мин.
### 6. T-чеклист месяца (агент + человек)
Открыть `memory/t-checklist.md` → раздел «Month Close» → выполнить T23-T25:
- **T23 Lesson Hygiene месячный.** НЕ ротация дневная/недельная (это уже сделано Day/Week Close). Месячный масштаб — **объединение тематических файлов, удаление пустых категорий, сверка что `lessons_*.md` не разрослись за лимит**. Пройти MEMORY.md секция «Уроки» и тематические `lessons_*.md`. Лимит MEMORY.md «Уроки» ≤8 строк.
- **T24 Аудит протоколов на обходимые шаги.** Пройти `memory/protocol-*.md` и `.claude/skills/*/SKILL.md` — выявить шаги, которые агент регулярно пропускает (по `behaviour-report.sh`) или человек обходит молча. Решение: удалить / переформулировать / оставить как есть.
- **T25 Decommission-триаж.** Применить решения из Шага 7 (add-on). Здесь T25 — pointer, не дубль. См. Шаг 7 ниже.
### 7. Add-on: Decommission-триаж (WP-226 Ф2) — реализация T25
> Шаг 5 M6 собирает кандидатов → **Шаг 7 применяет** решения → Шаг 6 T25 = указатель на этот шаг. Единая точка выполнения (избегать тройного прогона).
Для каждого кандидата из Шага 5 M6:
1. Проверить: действие имеет измеримый след (entry в `sync-manifest.yaml § activity_checks:`)? Если нет — дополнить manifest перед решением.
2. Фактическая частота за 3 окна: `bash ${IWE_SCRIPTS:-$HOME/IWE/scripts}/iwe-drift.sh --activity` → счётчик.
3. Решение человека:
- **active → dormant:** переместить в секцию «Спящие действия» соответствующего чеклиста, пометить `dormant_from: YYYY-MM-DD`
- **dormant → archived:** перенести в `${IWE_GOVERNANCE_REPO:-DS-strategy}/archive/retired-actions.md` с причиной
- **dormant → active (реактивация):** вернуть в основной чеклист, пометить `reactivated_from: YYYY-MM-DD`, причина.
4. Зафиксировать решения в `MonthClose YYYY-MM.md § Decommission`.
### 8. Add-on: Decision log review (WP-226 Ф2)
> Обзор решений месяца из WP-109 Ф7 decision register.
1. Открыть канонический файл, уже подготовленный в шаге 1e: `${IWE_GOVERNANCE_REPO:-DS-strategy}/decisions/decision-log-YYYY-MM.md`. Если файл отсутствует или не содержит решений месяца — записать в `MonthClose YYYY-MM.md § Decision log review`: «Решения за месяц не зарегистрированы» и перейти к шагу 9; требование «минимум 1 инсайт» ниже применяется только когда в журнале есть решения.
2. Для каждого решения месяца ответить:
- **Оказалось правильным / неправильным / рано судить?**
- Если неправильное: какой сигнал был пропущен? → кандидат в `memory/feedback_*.md` как урок.
- Если рано судить: когда пересмотреть? → запись в trigger.
3. Записать выводы в `MonthClose YYYY-MM.md § Decision log review` — минимум 1 инсайт (если совсем нечего — это само по себе сигнал, что решения не отслеживаются).
### 9. Обновление Strategy.md § Результаты месяца (человек)
1. Закрытые R{N} — пометить done, краткий итог («что получилось», «что осталось»).
2. Перенесённые R{N} — в следующий месяц (с явным обоснованием: «не удалось из-за X»).
3. Новые R{N} следующего месяца — из черновика Strategy.md § «Черновик: {next month}» → промоция в «Фокус».
4. Если фаза сдвинулась (шаг 3a) → обновить секцию «Состояние месяца — фаза стратегической позиции».
5. Если калибр сдвинулся (шаг 3b) → обновить секцию «Калибр личности».
**EXTENSION POINT (month-close after):** `bash .claude/scripts/load-extensions.sh month-close after` — exit 0 → `Read` каждый файл из вывода (alphabetic) → выполнить. Exit 1 → пропустить. Поддерживает `extensions/month-close.after.md` И `extensions/month-close.after.<suffix>.md`.
### 10. Запись `MonthClose YYYY-MM.md`
Создать `${IWE_GOVERNANCE_REPO:-DS-strategy}/archive/MonthClose YYYY-MM.md` по шаблону (секция «Шаблон отчёта» ниже). Все разделы заполнены, плейсхолдеры заменены.
### 11. Коммит ${IWE_GOVERNANCE_REPO:-DS-strategy}
```bash
cd ~/IWE/${IWE_GOVERNANCE_REPO:-DS-strategy}
# НЕ `git add -A`: в общем клоне (multi-agent) сметает чужое pre-staged → mis-attribution
# (см. sessions/2026-06/2026-06-20-39-*). Перечисли артефакты month-close ЯВНО:
MONTH_FILES=(
"archive/MonthClose YYYY-MM.md"
"docs/Strategy.md"
# + archive/retired-actions.md, decisions/decision-log-YYYY-MM.md,
# memory/t-checklist.md — добавь те, что фактически правил в этом month-close
)
git add "${MONTH_FILES[@]}"
git commit -m "month-close: close YYYY-MM" -- "${MONTH_FILES[@]}"
```
Push при явном триггере «заливай».
### 12. Верификация (Haiku R23)
Запустить sub-agent Haiku в роли R23 Верификатор (context isolation).
Передать: (1) чеклист Month Close ниже, (2) `MonthClose YYYY-MM.md`, (3) изменения в Strategy.md.
По ❌ — исправить до показа пользователю.
---
## Шаблон отчёта `MonthClose YYYY-MM.md`
```markdown
---
type: month-close-report
period: YYYY-MM
closed: YYYY-MM-DD
closer: R1 Стратег
verified: R23 Верификатор
---
# Month Close YYYY-MM
## Обзор
- Период: YYYY-MM-01 .. YYYY-MM-{last}
- WakaTime месяца: {h}
- Бюджет закрыт: {h}
- Мультипликатор: {N.Nx} (прошлый месяц: {N.Nx})
- Коммитов: {N}
- Закрытых РП: {N}
- Перенесённых РП: {N}
## Фаза стратегической позиции (PD.FORM.078)
- Декларация на начало месяца: {Development | Chaos | Ceiling | Pivot}
- Фактически: {подтверждено | сдвинулось в Y}
- Сигналы: {что именно наблюдали}
- Решение: {оставить Development / перейти в Y}
## Калибр (PD.CHR.007)
- Текущий: {N}
- Разрыв: {горизонт / bus factor / публичность — что двигалось}
- Пересчёт: {оставить N / поднять до N+0.5}
## Ревизия проектов
- P1 Созидатель: {h, двигалось / застыло, причина}
- P2 Экосистема+МИМ: {...}
- P3 Платформа+IWE: {...}
- P4 Бот: {...}
- P5 Личное развитие: {...}
- P6 Ближнее окружение: {...}
- Баланс: {крен в сторону X, соответствует / не соответствует стратегии}
## R-вопросник (M1-M6)
- **M1:** ...
- **M2:** ...
- **M3:** ...
- **M4:** ...
- **M5:** ...
- **M6 Decommission:** {список T-действий на dormant/archived}
## Decommission (применённые переходы)
| Действие | Было | Стало | Причина |
|----------|------|-------|---------|
| T-NN | active | dormant | 3 окна без срабатывания |
| ... | | | |
## Decision log review
- Решение X (YYYY-MM-DD): {оказалось правильным / неправильным / рано судить}
- ...
- **Инсайт:** {1+ вывод}
## Результаты R{N} месяца (копия из Strategy.md)
- R1 ...: {done | перенесено | изменено}
- R2 ...: ...
## Задел на следующий месяц
- R1' {черновик}
- R2' {черновик}
- Red line: {главная цель}
## T-чеклист (T23-T25)
- [x] T23 Lesson Hygiene: {что изменено в MEMORY.md}
- [x] T24 Аудит протоколов: {какие шаги пересмотрены}
- [x] T25 Decommission-триаж: {см. таблицу выше}
```
---
## Чеклист Month Close
- [ ] Первый Пн месяца (или явное обоснование задержки)
- [ ] Week Close предыдущей недели выполнен
- [ ] Коммиты за месяц собраны по всем репо
- [ ] Мультипликатор месяца рассчитан + сравнение с прошлым
- [ ] Фаза стратегической позиции пересмотрена (PD.FORM.078)
- [ ] Калибр пересчитан (PD.CHR.007)
- [ ] Ревизия проектов P1-P6 выполнена
- [ ] R-вопросник M1-M6 пройден (ответы в `MonthClose YYYY-MM.md`)
- [ ] T-чеклист T23-T25 выполнен
- [ ] Decommission-триаж применён (таблица переходов)
- [ ] Decision log review: минимум 1 инсайт
- [ ] Strategy.md § Результаты месяца обновлён (R{N} закрыты, перенесены, заведены новые)
- [ ] Strategy.md § Черновик следующего месяца промотирован в Фокус
- [ ] Если фаза/калибр сдвинулись — обновлены соответствующие секции Strategy.md
- [ ] `archive/MonthClose YYYY-MM.md` создан, все секции заполнены
- [ ] ${IWE_GOVERNANCE_REPO:-DS-strategy} закоммичен
- [ ] Верификация R23 пройдена (или явно пропущена)
Все ✅ → «Месяц закрыт. Готов к Strategy Session первой недели.» Иначе — указать что осталось.
---
## Связь с другими масштабами ОРЗ
- **Не заменяет `/week-close`** — Month Close опирается на свежий Week Report предыдущей недели. Сначала `/week-close`, потом `/month-close`.
- **Предшествует Strategy Session первой недели** — её вход = только что обновлённый Strategy.md + `MonthClose YYYY-MM.md`. Не сливать в одну сессию: разные роли (R23 Верификатор для Close, R1 Стратег для Session) и разные артефакты.
- **Триггер вне каскада:** Strategy Session первой недели месяца требует, чтобы Month Close был пройден до неё. DayPlan первого Пн содержит две строки: «Month Close YYYY-MM» (0.75h) и «Strategy Session W{N}» (1-2h).
## Связь с Pack
- **PD.METHOD.008 § Каскад ВДВ v9** — канонический источник стадии 7 «Закрытие месяца»
- **PD.FORM.078** — фазы стратегической позиции (шаг 3a)
- **PD.CHR.007** — калибр личности (шаг 3b)
- **DP.SC.024** — обещание техобслуживания IWE, сценарий SC.024.4 «Месячное ТО» реализуется этим скиллом
## История
- 2026-04-24: скилл создан (WP-196 Ф12.2 + WP-226 Ф2 add-ons). Первый прогон — 4 мая 2026 на закрытие апреля.
<!-- USER-SPACE -->
<!-- /USER-SPACE -->
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!