Claude Skill

day-open

Day Open protocol. Collects yesterday's commits, issues, notes, calendar, bot QA, Scout, world events — builds DayPlan and compact dashboard.

LLM Mart · 0 points · 16 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download TserenTserenov-FMT-exocortex-template-.claude_skills_day-open-4d7b8f2.zip · 14 KB
Part of tserentserenov/fmt-exocortex-template — 50 skills

Install

skills CLI npx skills add https://github.com/TserenTserenov/FMT-exocortex-template/tree/main/.claude/skills/day-open
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install tserentserenov-fmt-exocortex-template@llmmart
Git git clone https://github.com/TserenTserenov/FMT-exocortex-template.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole tserentserenov/fmt-exocortex-template collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Day Open (протокол открытия дня)

Роль: R1 Стратег. Два выхода: DayPlan (git, 80+ строк) + compact dashboard (VS Code, 20-30 строк). Порядок: сначала DayPlan → потом compact. Дата: ПЕРВОЕ действие = date. Режим: memory/day-rhythm-config.yaml → interactive: false = одним блоком, решения → «Требует внимания». Фильтр свежести: issues, видео, заметки — за 2 дня. Urgent — всегда. Issues — только actionable: пропускать read-only репо и upstream без push-доступа. Шаблоны: .claude/skills/day-open/templates.md (читать перед шагами 7a и 7d). Детали шагов: day-open/day-open-details.md

БЛОКИРУЮЩЕЕ: пошаговое исполнение

Day Open = протокол. Блокирующее требование — наблюдаемое свойство: ни один шаг не пропущен молча; каждый шаг отмечается ДО перехода к следующему. Инструмент по умолчанию — список задач сессии (TodoWrite): каждый шаг → отдельная задача (pending → in_progress → completed). TodoWrite недоступен в сессии (клиент не выдал инструмент — штатная ситуация, зависит от сборки клиента) → НЕ останавливаться и НЕ вести протокол «в уме»: сообщить пилоту одной строкой («пошаговый контроль без TodoWrite — веду явную нумерацию»), вести шаги явной нумерацией в ответах («Шаг X из Y: <название> — выполнен») с отметкой каждого перед переходом к следующему, факт замены зафиксировать в отчёте открытия дня. Шаг невозможен → blocked (не пропускать молча). Почему: без явного трекинга агент пропускает шаги из-за загрязнения контекста (SOTA.002). Правило сформулировано через свойство, а не через конкретный инструмент: доступность инструментов контролирует клиент, не шаблон (issues #561, #563).

Алгоритм

0. Extensions (before)

bash .claude/scripts/load-extensions.sh day-open before → Exit 0: Read каждый файл, выполнить. Exit 1: пропустить.

1. Вчера

Прочитать вчерашний DayPlan (только секции «Итоги», «Завтра начать с», «Требует внимания»). Коммиты за вчера по всем $IWE_WORKSPACE/*/ репо.

1b. GitHub Issues

day-open-scaffold.sh (render_repo_issues) делает свип. Critical FMT issues: bash $IWE_SCRIPTS/fmt-critical-alert.sh --no-telegram.

1c. Inbox Triage

Разобрать inbox/fleeting-notes.md, inbox/captures.md, inbox/extraction-reports/*.md (pending-review). Категоризировать по PD.FORM.083. Знание доменное без маркера «Экстрактору» → таблица Кандидаты Экстрактору в DayPlan. Каждая заметка в DayPlan — markdown-ссылка на источник.

2. План на сегодня

Приоритет: (1) carry-over из Day Close → все без обрезки; (2) WeekPlan: in_progress + pending → проверить релевантность, бюджет (Budget Spread); (3) MEMORY.md «РП текущей недели»; (4) mandatory_daily_wps. Слот 1 = саморазвитие.

3. Саморазвитие

Руководство, где остановился, черновики (<governance-repo>/drafts/).

4. Стратегирование

Если strategy_day → DayPlan НЕ создавать, план в WeekPlan. Пропустить шаг 7.

4b. Помидорки

Из day-rhythm-config.yaml → pomodoro.

4c. Календарь

Единый источник — подключённый календарный коннектор (MCP-инструменты календаря; имена зависят от установки, имя содержит «calendar» без учёта регистра, напр. mcp__claude_ai_Google_Calendar__*): список календарей → события каждого за день → секция «Календарь» для DayPlan (Встречи + Напоминания). Если коннектора нет — фоллбэк: bash $IWE_SCRIPTS/server-calendar.sh YYYY-MM-DD. NB: его ответ «Google credentials не настроены» — факт о скрипте (он ходит за собственным файлом ключей ~/.secrets/google-calendar), не о календаре; при работающем коннекторе скрипт не нужен (issue #581). Если strategy_day: та же логика для недели (у фоллбэка — --week YYYY-MM-DD) → секция «Календарь недели» в WeekPlan.

5. IWE за ночь (светофор)

cd "$IWE_TEMPLATE" && bash update.sh --check --fast + проверка Base-репо (FPF, SPF, ZP) на отставание от origin. Обновления → «Требует внимания». Scout report не проревьюен → «Требует внимания».

5a2. Видео

video.enabled: true → показать только новые файлы за сегодня (-mtime 0). false → пропустить.

5c. Редактор контента

content_editor.enabled: true → топ-3 черновика из drafts/ по актуальности/свежести/полноте → таблица в DayPlan. Сигнал готовых постов → «Требует внимания». Любое другое значение, включая отсутствие секции content_editor (issue #804) → пропустить.

6. Мир

news.enabled: false → пропустить. Иначе: Feeds/WebSearch → заголовки с URL. Субагент Haiku (context isolation) анализирует заголовки + топ-5 РП → «Вывод: 2-4 предложения» в начале секции.

6b. Требует внимания

Собрать из шагов 1–6. Нет → не выводить.

6b2. Разметка ТВС

Пометить каждый РП режимом Текущее / Важное / Срочное. Хотя бы один блок Важного обязателен. Срочное — только угроза остановки конвейера.

6c. Extensions (after)

bash .claude/scripts/load-extensions.sh day-open after → Exit 0: Read каждый файл, выполнить. Exit 1: пропустить.

7. Запись

⚠️ Перед шагами 7a и 7d: Read .claude/skills/day-open/templates.md. Файл не найден → сообщить пилоту, не продолжать. Прочитать params.yaml → multiplier_enabled (нет ключа = true). При false выбрать только ветки multiplier:off: не выводить физическое время, WakaTime, плановый/фактический мультипликатор и соответствующую подсекцию Week Close.

7a. DayPlan: <governance-repo>/current/DayPlan YYYY-MM-DD.md по шаблону из templates.md. Предыдущий → archive/day-plans/. 7a2. Session Log: <governance-repo>/sessions/YYYY-MM-DD.md. Если существует — не перезаписывать.

7b. bash .claude/scripts/load-extensions.sh day-open checks → Exit 0: выполнить верификацию. БЛОКИРУЮЩЕЕ: commit запрещён до прохождения всех checks. 7c. git commit + git push. 7d. Compact dashboard → вывести в VS Code по шаблону «Шаблон compact dashboard» из templates.md.

Files (fmt-exocortex-template)
  • day-open-details.md 18.1 KB
    # Day Open — Детали (lazy-load)
    
    > Загружать при необходимости деталей по конкретному шагу.
    > Основной протокол: `day-open/SKILL.md`
    
    ---
    
    ## Шаг 0: Extensions (before)
    
    ```bash
    bash .claude/scripts/load-extensions.sh day-open before
    ```
    Exit 0 → `Read` каждый файл из вывода (alphabetic) → выполнить содержимое как первые шаги.
    Exit 1 → пропустить.
    Поддерживает `extensions/day-open.before.md` И `extensions/day-open.before.<suffix>.md`.
    
    ---
    
    ## Шаг 1: Вчера
    
    Прочитать вчерашний DayPlan (`archive/day-plans/` или `current/`). Взять:
    - Секцию «Итоги» → 1-3 результата
    - Секцию «Завтра начать с:» / carry-over РП → **приоритетный вход** для шага 2
    - Незакрытые вопросы из «Требует внимания»
    
    **Экономия контекста (issue #207):** DayPlan 80–150 строк — НЕ читать целиком. Нужны только три блока: frontmatter (`Read` первых ~10 строк) + секции «Итоги», «Завтра начать с», «Требует внимания» (вытащить `grep`/`awk` по заголовкам или `Read` с offset на конкретные секции). Полный файл — только если структура нестандартная и адресные секции не найдены.
    
    Fallback: файла нет → пропустить, работать из коммитов.
    
    Коммиты за вчера по всем `$IWE_WORKSPACE/*/` репо. Сопоставить с DayPlan.
    
    ---
    
    ## Шаг 1b: GitHub Issues
    
    `gh issue list` по всем репо (включая вложенным). Фильтр 2 дня. Связь с РП по ключевым словам.
    **Только actionable:** пропускать read-only и upstream без push-доступа.
    
    **Свип делает скрипт, не агент (issue #207):** секцию «Новые задачи в репозиториях» наполняет `day-open-scaffold.sh` (`render_repo_issues`) — он сам пропускает каталоги без `.git` и без GitHub-remote и кэширует ответ на 1ч. Вручную перебирать репо через `gh` не нужно — это удваивает токены на пустых репо.
    
    **Critical FMT issues (детектор):**
    ```bash
    bash $IWE_SCRIPTS/fmt-critical-alert.sh --no-telegram
    ```
    Выводит markdown-таблицу открытых issues с label `critical`/`deadline` в FMT-exocortex-template. Если `TG_BOT_TOKEN` и `TG_CHAT_ID` настроены — убрать `--no-telegram` для дублирования в Telegram (MVP detection chain для weekend P0). Источник: peer-session 2026-06-01-18.
    
    ---
    
    ## Шаг 1c: Inbox Triage
    
    **Источники:**
    - `<governance-repo>/inbox/fleeting-notes.md` — свежие заметки
    - `<governance-repo>/inbox/captures.md` — знаниевые кандидаты (если есть)
    - `<governance-repo>/inbox/extraction-reports/*.md` со `status: pending-review` — отчёты Экстрактора (если есть)
    
    **Категоризация заметок** по PD.FORM.083 (8 категорий): НЭП / Задача / Гипотеза / Знание доменное / Знание реализационное / Черновик / Личные данные / Шум. Полная справка → `memory/feedback_note_review_routing.md`. НЕ удалять.
    
    **Carry-over заметок из вчерашнего DayPlan:** проверить по git log (`note-review`), были ли обработаны. Если да → секция «Разбор заметок» = «все обработаны» (с ссылкой на коммит). Не переносить обработанные заметки как carry-over.
    
    **Гиперссылки на заметки (БЛОКИРУЮЩЕЕ):** каждая заметка в секции «Разбор заметок» DayPlan — markdown-ссылка на её источник (`inbox/fleeting-notes.md` для свежих, `archive/notes/Notes-Archive.md#L<line>` для обработанных, `inbox/captures.md` для знания). Причина: после Note-Review сама заметка исчезает из fleeting-notes.md, и без ссылки суть заметки теряется через день. Формат строки таблицы: `[«заголовок»](путь#L<line>) (DD мес HH:MM)`.
    
    **Знаниевые заметки = кандидаты (БЛОКИРУЮЩЕЕ):** заметки категории «Знание доменное» без явного маркера «Экстрактору» в тексте → в DayPlan секция «Разбор заметок» таблицей **Кандидаты Экстрактору** с колонками «Заметка | Тип | Предполагаемый Pack | Действие». Решение «отдать / оставить» принимает пользователь в живом разборе. Note-Review в `captures.md` пишет ТОЛЬКО при явном маркере. Причина: `captures.md` = очередь Экстрактора; любое знание туда = неявное согласие на формализацию, которое Note-Review делать не уполномочен.
    
    ---
    
    ## Шаг 2: План на сегодня
    
    **Приоритет входов (строгий порядок):**
    1. **Carry-over из Day Close (БЛОКИРУЮЩЕЕ):** ВСЕ РП из секции «Завтра начать с» → в план без обрезки. Это решение пользователя — Day Open не фильтрует и не сокращает этот список
    2. **WeekPlan (ОБЯЗАТЕЛЬНО):** прочитать WeekPlan → ВСЕ in_progress и pending РП → проверить каждый: релевантен сегодня? Есть дата/дедлайн сегодня? Просрочен? → добавить.
       **Экономия контекста (issue #207):** WeekPlan 13+ КБ — для шага 2 и Budget Spread нужна только таблица РП (секция «План на неделю» с колонками # / название / h / статус). Читать её адресно (`Read` на секцию или `grep`/`awk` по таблице), а не весь файл.
       **Budget Spread** (если `budget_spread.enabled: true` в day-rhythm-config.yaml): для каждого РП с бюджетом ≥ `threshold_h`:
       - `days_left` = оставшиеся рабочие дни из `budget_spread.working_days` (список кодов дня недели: mon/tue/wed/thu/fri/sat/sun), включая сегодня; ключа нет → как раньше, пн–пт (issue #902 — форма недели пользователя зашита в правило не должна была быть, у пользователя с рабочими выходными бюджет дня завышался в полтора раза)
       - `daily_slot` = round(budget_week / days_left, `rounding`)
       - Нет бюджета в WeekPlan → пропустить, добавить в «Требует внимания»
       - РП уже в плане (carry-over) → взять max(carry_over_budget, daily_slot)
       - Иначе → добавить с daily_slot
       - Не ограничиваться «2-4 штуки» — план дня отражает реальную нагрузку
    3. **MEMORY.md → «РП текущей недели»:** сверить — нет ли РП, упущенных в WeekPlan (ad-hoc, reopened)
    4. `day-rhythm-config.yaml → mandatory_daily_wps` — обязательные РП (проверить наличие в плане, если нет → добавить)
    
    **Слот 1 = саморазвитие.**
    Mandatory РП отсутствуют в WeekPlan → «Требует внимания».
    
    ---
    
    ## Шаг 4c: Календарь (Day Mode)
    
    **Единый источник — календарный коннектор** (MCP-инструменты календаря, имена зависят от установки, имя содержит «calendar» без учёта регистра, напр. `mcp__claude_ai_Google_Calendar__*`): получить список календарей, затем события каждого за день. Классификация и формат — те же, что ниже у скрипта.
    
    Скрипт ниже — **фоллбэк для установок без коннектора** (issue #581). Его ответ «Google credentials не настроены» означает отсутствие файла ключей `~/.secrets/google-calendar`, а не пустой календарь: при работающем коннекторе заводить файл не требуется.
    
    ```bash
    bash $IWE_SCRIPTS/server-calendar.sh YYYY-MM-DD
    ```
    
    **Что делает скрипт (фоллбэк):**
    1. Запрашивает ВСЕ календари из `calendar_ids` (никаких сокращений — см. `feedback_calendar_query_day_open`).
    2. Фильтрует только по `visibility == "private"` (не по названию).
    3. Классифицирует:
       - **Встречи** — несколько участников, длительность >30 мин, нет маркеров задачи.
       - **Напоминания / Тех-операции** — маркеры 🔧 ✅ ⏰ 🔔 📋 ❗ или ключевые слова (backup, проверить, remind, smoke, test), либо ≤30 мин без участников.
    4. Статус относительно текущего времени: ⏳ предстоит / 🔄 идёт / ✅ завершено.
    5. Считает свободные блоки ≥1h в рамках 09:00–22:00.
    
    **Формат в DayPlan:** две таблицы (Встречи + Напоминания) по шаблону `memory/templates-dayplan.md`.
    
    ---
    
    ## Шаг 4c-alt: Календарь недели (Week Mode, strategy_day)
    
    Если сегодня `strategy_day` (из `day-rhythm-config.yaml`):
    ```bash
    bash $IWE_SCRIPTS/server-calendar.sh --week YYYY-MM-DD
    ```
    Результат → вставить в WeekPlan секцию **«Календарь недели W{N}»** (шаблон `memory/templates-dayplan.md`). Позволяет при планировании сразу учитывать встречи и тех-операции.
    
    ---
    
    ## Шаг 5: IWE за ночь (светофор)
    
    **Проверка обновлений IWE:**
    ```bash
    cd "$IWE_TEMPLATE" && bash update.sh --check --fast 2>&1
    ```
    `--fast` (issue #230, v2.5.0) сравнивает только версию манифеста — секунда вместо 2+ минут полного пофайлового сравнения на 300+ файлах. Для полного списка изменений — `bash update.sh --check` (без `--fast`), отдельно, не в составе Day Open.
    Если доступно обновление → «Требует внимания»: «Доступно обновление IWE → `/iwe-update`».
    
    **Проверка Base-репо (FPF, SPF, ZP):**
    ```bash
    for repo in FPF SPF ZP; do
      dir="$IWE_WORKSPACE/$repo"
      [ -d "$dir/.git" ] && (cd "$dir" && git fetch --quiet 2>/dev/null && behind=$(git rev-list --count HEAD..origin/main 2>/dev/null || echo 0) && [ "$behind" -gt 0 ] && echo "$repo: $behind новых коммитов" || echo "$repo: актуален")
    done
    ```
    Если есть новые коммиты → «Требует внимания»: «[repo] обновлён upstream → `cd "$IWE_WORKSPACE/[repo]" && git pull --rebase`». После pull FPF/SPF — запустить локальный reindex MCP-индекса, если установлен.
    
    ---
    
    ## Шаг 5a2: Видео
    
    Если `day-rhythm-config.yaml → video.enabled: true`:
    1. Сканировать директории из `video.directories` на файлы с расширениями из `video.extensions`
    2. Показать ТОЛЬКО новые записи за сегодня (`-mtime 0`). Старые файлы — не оповещать
    3. Есть новые → «N новых видеозаписей сегодня (X ГБ)». Нет → «0 новых записей сегодня»
    4. `video.enabled: false` → пропустить
    
    ---
    
    ## Шаг 5c: Редактор контента (DP.ROLE.033 / DP.SC.127)
    
    `config: content_editor.enabled` (day-rhythm-config.yaml) — `true` → выполнить, иначе (включая отсутствие секции, issue #804) → пропустить.
    1. Читать все `<governance-repo>/drafts/D-NNN-*.md` — frontmatter (`created`, `ttl`, `updated`) + текст.
    2. Читать WeekPlan активной недели — R-таблица (инициативы) + S-таблица (неудовлетворённости).
    3. Оценить каждый черновик: (a) сильная идея — тезис в 1-2 предл.; (b) актуальность — совпадает с ≥1 R или S по тексту; (c) свежесть — `updated`/`created` ≤14 дней и TTL не истёк; (d) полнота — есть вступление + основная часть.
    4. Отобрать топ-3 → секция «Редактор контента» в DayPlan: таблица D-ID / название / R/S-связь / причина.
    5. Список застрявших (TTL истёк) отдельно под таблицей. Не архивировать — только показать.
    6. Сигнал: проверить репо из `config.content_editor.index_repo` на посты со статусом из `config.content_editor.index_ready_status`. Если ≥ `config.content_editor.publish_signal_threshold` → «Требует внимания»: «N готовых постов в Index — запустить цикл публикации (Ц3)?»
    7. Топ-3 формируется каждый день заново — не кэшировать вчерашние рекомендации.
    
    ---
    
    ## Шаг 6: Мир (новости)
    
    Если `day-rhythm-config.yaml → news.enabled: true`: Feeds/WebSearch по настроенным источникам. **Ссылки на источники обязательны** (URL).
    
    ### 6a: News Lens (субагент Haiku)
    
    После сбора заголовков вызвать субагент (Haiku, context isolation) с промптом:
    
    > Ты — разведчик новостей. Тебе дан список заголовков + список активных РП пользователя.
    > Задача: написать 2-4 предложения «Что из этого важно для работы сегодня?»
    > Отвечай только на русском. Без перечисления всех новостей — только синтез.
    > Входные данные:
    > НОВОСТИ: {заголовки с темами}
    > АКТИВНЫЕ РП: {топ-5 РП по приоритету из DayPlan}
    
    Вывод субагента → поле **«Вывод:»** в начале секции «Мир»:
    
    ```
    **Вывод:** <2-4 предложения синтеза>
    
    **AI/LLM:** [Заголовок 1](url) · [Заголовок 2](url) · ...
    **Инженерия:** [Заголовок 1](url) · ...
    **Мировые события:** [Заголовок 1](url) · ...
    ```
    
    Субагент недоступен / таймаут → пропустить «Вывод», показать только ссылки.
    
    ---
    
    ## Шаг 6b2: Разметка ТВС
    
    Модель ТВС — Текущее · Важное · Срочное (см. различения [[Текущее ≠ Важное ≠ Срочное (ТВС)]]).
    
    При сборке плана дня пометить каждый РП/блок режимом ТВС:
    - **Важное (развитие)** — ставить на максимально защищённый слот (утро, после завтрака): вероятность выполнить выше. Хотя бы один блок важного в день обязателен — иначе копится срочное.
    - **Текущее (текучка)** — операционка, во вторую половину дня.
    - **Срочное** — только угроза остановки конвейера; в план дня не закладывается заранее, попадает в течение дня. Проверка нового дела: «может подождать до ближайшей сессии стратегирования?» Да → мимолётная заметка, НЕ срочное. Нет → в план работ на сегодня. Дедлайн или «горит» сам по себе срочным не делает ([[Дедлайн ≠ Срочность]]).
    
    ---
    
    ## Шаг 7a2: Шаблон Session Log
    
    Записать журнал сессии: `<governance-repo>/sessions/YYYY-MM-DD.md`:
    
    ```markdown
    ---
    type: session-log
    date: YYYY-MM-DD
    week: W{N}
    agent: Стратег / Кодировщик
    ---
    
    # Session Log: YYYY-MM-DD
    
    ## Day Open
    - DayPlan: `current/DayPlan YYYY-MM-DD.md`
    - Carry-over: [список из вчерашнего «Завтра начать с»]
    
    ## Сессии дня
    > Заполняется в Day Close: список Quick Close сессий + ключевые рубежи
    
    ## Day Close
    > Дописывается в Day Close: ссылка на `archive/day-plans/DayPlan YYYY-MM-DD.md` + 3 варианта плана на завтра
    ```
    
    Если файл уже существует (двойной Day Open) — не перезаписывать, пропустить.
    
  • SKILL.md 9.9 KB
    ---
    name: day-open
    description: "Day Open protocol. Collects yesterday's commits, issues, notes, calendar, bot QA, Scout, world events — builds DayPlan and compact dashboard."
    argument-hint: ""
    version: 1.1.0
    layer: L1
    status: active
    browser_safe: false
    triggers:
      slash: [/day-open]
      phrases: [открывай]
    routing:
      executor: sonnet
      deterministic: false
    ---
    
    # Day Open (протокол открытия дня)
    
    > **Роль:** R1 Стратег. **Два выхода:** DayPlan (git, 80+ строк) + compact dashboard (VS Code, 20-30 строк).
    > **Порядок:** сначала DayPlan → потом compact. **Дата:** ПЕРВОЕ действие = `date`.
    > **Режим:** `memory/day-rhythm-config.yaml` → `interactive: false` = одним блоком, решения → «Требует внимания».
    > **Фильтр свежести:** issues, видео, заметки — за 2 дня. Urgent — всегда.
    > **Issues — только actionable:** пропускать read-only репо и upstream без push-доступа.
    > **Шаблоны:** `.claude/skills/day-open/templates.md` (читать перед шагами 7a и 7d).
    > **Детали шагов:** `day-open/day-open-details.md`
    
    ## БЛОКИРУЮЩЕЕ: пошаговое исполнение
    
    Day Open = протокол. Блокирующее требование — наблюдаемое свойство: **ни один шаг не пропущен молча**; каждый шаг отмечается ДО перехода к следующему.
    Инструмент по умолчанию — список задач сессии (TodoWrite): каждый шаг → отдельная задача (pending → in_progress → completed).
    **TodoWrite недоступен в сессии** (клиент не выдал инструмент — штатная ситуация, зависит от сборки клиента) → НЕ останавливаться и НЕ вести протокол «в уме»: сообщить пилоту одной строкой («пошаговый контроль без TodoWrite — веду явную нумерацию»), вести шаги явной нумерацией в ответах («Шаг X из Y: <название> — выполнен») с отметкой каждого перед переходом к следующему, факт замены зафиксировать в отчёте открытия дня.
    Шаг невозможен → blocked (не пропускать молча).
    **Почему:** без явного трекинга агент пропускает шаги из-за загрязнения контекста (SOTA.002). Правило сформулировано через свойство, а не через конкретный инструмент: доступность инструментов контролирует клиент, не шаблон (issues #561, #563).
    
    ## Алгоритм
    
    ### 0. Extensions (before)
    `bash .claude/scripts/load-extensions.sh day-open before` → Exit 0: Read каждый файл, выполнить. Exit 1: пропустить.
    <!-- Детали: day-open-details.md § Шаг 0 -->
    
    ### 1. Вчера
    Прочитать вчерашний DayPlan (только секции «Итоги», «Завтра начать с», «Требует внимания»). Коммиты за вчера по всем `$IWE_WORKSPACE/*/` репо.
    <!-- Детали (адресное чтение, fallback): day-open-details.md § Шаг 1 -->
    
    ### 1b. GitHub Issues
    `day-open-scaffold.sh` (`render_repo_issues`) делает свип. Critical FMT issues: `bash $IWE_SCRIPTS/fmt-critical-alert.sh --no-telegram`.
    <!-- Детали (фильтры, кэш): day-open-details.md § Шаг 1b -->
    
    ### 1c. Inbox Triage
    Разобрать `inbox/fleeting-notes.md`, `inbox/captures.md`, `inbox/extraction-reports/*.md` (pending-review). Категоризировать по PD.FORM.083. Знание доменное без маркера «Экстрактору» → таблица **Кандидаты Экстрактору** в DayPlan. Каждая заметка в DayPlan — markdown-ссылка на источник.
    <!-- Детали (гиперссылки, блокирующие правила): day-open-details.md § Шаг 1c -->
    
    ### 2. План на сегодня
    Приоритет: (1) carry-over из Day Close → все без обрезки; (2) WeekPlan: in_progress + pending → проверить релевантность, бюджет (Budget Spread); (3) MEMORY.md «РП текущей недели»; (4) `mandatory_daily_wps`. Слот 1 = саморазвитие.
    <!-- Детали (Budget Spread алгоритм, экономия контекста): day-open-details.md § Шаг 2 -->
    
    ### 3. Саморазвитие
    Руководство, где остановился, черновики (`<governance-repo>/drafts/`).
    
    ### 4. Стратегирование
    Если `strategy_day` → DayPlan НЕ создавать, план в WeekPlan. Пропустить шаг 7.
    
    ### 4b. Помидорки
    Из `day-rhythm-config.yaml → pomodoro`.
    
    ### 4c. Календарь
    Единый источник — подключённый календарный коннектор (MCP-инструменты календаря; имена зависят от установки, имя содержит «calendar» без учёта регистра, напр. `mcp__claude_ai_Google_Calendar__*`): список календарей → события каждого за день → секция «Календарь» для DayPlan (Встречи + Напоминания).
    Если коннектора нет — фоллбэк: `bash $IWE_SCRIPTS/server-calendar.sh YYYY-MM-DD`. NB: его ответ «Google credentials не настроены» — факт о скрипте (он ходит за собственным файлом ключей `~/.secrets/google-calendar`), не о календаре; при работающем коннекторе скрипт не нужен (issue #581).
    Если `strategy_day`: та же логика для недели (у фоллбэка — `--week YYYY-MM-DD`) → секция «Календарь недели» в WeekPlan.
    <!-- Детали (алгоритм классификации, формат): day-open-details.md § Шаг 4c -->
    
    ### 5. IWE за ночь (светофор)
    `cd "$IWE_TEMPLATE" && bash update.sh --check --fast` + проверка Base-репо (FPF, SPF, ZP) на отставание от origin. Обновления → «Требует внимания». Scout report не проревьюен → «Требует внимания».
    <!-- Детали (bash-скрипты): day-open-details.md § Шаг 5 -->
    
    ### 5a2. Видео
    `video.enabled: true` → показать только новые файлы за сегодня (`-mtime 0`). `false` → пропустить.
    <!-- Детали: day-open-details.md § Шаг 5a2 -->
    
    ### 5c. Редактор контента
    `content_editor.enabled: true` → топ-3 черновика из `drafts/` по актуальности/свежести/полноте → таблица в DayPlan. Сигнал готовых постов → «Требует внимания». Любое другое значение, включая отсутствие секции `content_editor` (issue #804) → пропустить.
    <!-- Детали (полный алгоритм оценки): day-open-details.md § Шаг 5c -->
    
    ### 6. Мир
    `news.enabled: false` → пропустить. Иначе: Feeds/WebSearch → заголовки с URL. Субагент Haiku (context isolation) анализирует заголовки + топ-5 РП → «Вывод: 2-4 предложения» в начале секции.
    <!-- Детали (промпт субагента, формат секции): day-open-details.md § Шаг 6 -->
    
    ### 6b. Требует внимания
    Собрать из шагов 1–6. Нет → не выводить.
    
    ### 6b2. Разметка ТВС
    Пометить каждый РП режимом Текущее / Важное / Срочное. Хотя бы один блок Важного обязателен. Срочное — только угроза остановки конвейера.
    <!-- Детали (правила ТВС, различения): day-open-details.md § Шаг 6b2 -->
    
    ### 6c. Extensions (after)
    `bash .claude/scripts/load-extensions.sh day-open after` → Exit 0: Read каждый файл, выполнить. Exit 1: пропустить.
    
    ### 7. Запись
    
    > ⚠️ **Перед шагами 7a и 7d:** `Read .claude/skills/day-open/templates.md`. Файл не найден → сообщить пилоту, не продолжать.
    > Прочитать `params.yaml → multiplier_enabled` (нет ключа = `true`). При
    > `false` выбрать только ветки `multiplier:off`: не выводить физическое время,
    > WakaTime, плановый/фактический мультипликатор и соответствующую подсекцию Week Close.
    
    **7a.** DayPlan: `<governance-repo>/current/DayPlan YYYY-MM-DD.md` по шаблону из `templates.md`. Предыдущий → `archive/day-plans/`.
    **7a2.** Session Log: `<governance-repo>/sessions/YYYY-MM-DD.md`. Если существует — не перезаписывать.
    <!-- Шаблон Session Log: day-open-details.md § Шаг 7a2 -->
    **7b.** `bash .claude/scripts/load-extensions.sh day-open checks` → Exit 0: выполнить верификацию. БЛОКИРУЮЩЕЕ: commit запрещён до прохождения всех checks.
    **7c.** `git commit` + `git push`.
    **7d.** Compact dashboard → вывести в VS Code по шаблону «Шаблон compact dashboard» из `templates.md`.
    
    <!-- USER-SPACE -->
    <!-- /USER-SPACE -->
    
  • templates.md 9 KB
    > Используется в: `.claude/skills/day-open/SKILL.md` (шаги 7a, 7d).
    
    ## Шаблон DayPlan
    
    > **Стиль:** collapsible, без `---`, `<b>` в summary. Приоритет = светофор (🔴🟡🟢). Результат = краткое название из Strategy.md.
    
    ```markdown
    ---
    type: daily-plan
    date: YYYY-MM-DD
    week: W{N}
    status: active
    agent: Стратег
    ---
    
    # Day Plan: DD месяца YYYY (День недели)
    
    <details open>
    <summary><b>План на сегодня</b></summary>
    
    | 🚦 | # | РП | h | Статус | Результат |
    |----|---|-----|---|--------|-----------|
    | ⚫ | N | **Саморазвитие** — [тема] | 1-2 | pending | — |
    | 🔴 | ... | **Название** | X | in_progress | Краткое название |
    
    **Бюджет дня:** ~Yh РП всего / ~Xh физ / Плановый мультипликатор ~N.Nx
    
    </details>
    <details>
    <summary><b>Календарь (DD месяца)</b></summary>
    
    | Время | Событие | Длит. | Связь с РП |
    |-------|---------|-------|------------|
    | HH:MM | Название | Xh | WP-N / — |
    
    ⏱ Свободных блоков ≥1h: [слоты]
    
    </details>
    <details>
    <summary><b>IWE за ночь (светофор)</b></summary>
    
    | Подсистема | Статус | Детали |
    |------------|--------|--------|
    | template-sync | 🟢/🔴 | [статус] |
    | Scout | 🟢/🟡/🔴 | [N находок] |
    
    </details>
    <details>
    <summary><b>Наработки Scout (разбор)</b></summary>
    
    > Отчёт за DD мес — N находок, M capture-кандидатов
    > **Статус ревью:** ⬜ не проверен / ✅ проверен
    
    **Ожидают разбора:** N captures за последние DD дней (без ревью).
    
    </details>
    <details>
    <summary><b>Разбор заметок</b></summary>
    
    > Источник: Note-Review (вчера) или мини-триаж (Day Open шаг 1c).
    > **Если все обработаны** (проверить git log `note-review`) → написать: «Все заметки обработаны (коммит HASH, N заметок). Carry-over: нет.»
    > **Если есть необработанные** → таблица ниже. Неразобранное переносится в следующий DayPlan.
    
    | Заметка | Тип | Предложение | ✅ |
    |---------|-----|-------------|---|
    | «текст» | НЭП / Задача / Черновик / Знание / Шум | → куда | [ ] |
    
    </details>
    <details>
    <summary><b>Редактор контента</b></summary>
    
    > Топ-3 черновика из `drafts/` для работы сегодня.
    
    **Топ-3 к работе:**
    
    | D-ID | Название | R/S | Причина |
    |------|----------|-----|---------|
    | D-??? | Название | R? / S? | Причина готовности |
    
    **Застрявшие (TTL истёк):**
    - D-??? «Название» (ttl: YYYY-MM-DD) — продвинуть / архивировать / обновить TTL?
    
    </details>
    <details>
    <summary><b>Итоги вчера (DD мес)</b></summary>
    
    **Коммиты:** N в M репо | **РП закрыто:** N
    
    </details>
    
    *Создан: YYYY-MM-DD (Day Open)*
    ```
    
    ## Шаблон compact dashboard (VS Code)
    
    > Короткая сводка для быстрого старта. Подробности — в DayPlan (git).
    
    ```markdown
    ## DD месяца YYYY (День недели) — Day Open
    
    **Вчера:** N РП done, N коммитов. Ключевое: #X [название], #Y [название]
    **Issues:** N открытых в M репо [самые свежие: #X repo, #Y repo]
    **Календарь:** [события через запятую или «свободен»]
    **Бюджет:** W{N}: ~Zh РП / ~Yh физ | Сегодня: ~Zh РП / ~Yh физ
    **ТОС:** [узкое горлышко] | Прогресс: R1 ✅/🔄/⏳, R2 ...
    
    ### План дня
    
    | 🚦 | # | РП | h |
    |----|---|-----|---|
    | ⚫ | N | **Саморазвитие** — [тема] | 1 |
    | 🔴 | ... | **Название** | X |
    
    ### Требует внимания
    
    1. [пункт — если есть]
    
    *Нет пунктов → секция не выводится.*
    
    > Подробно: [DayPlan YYYY-MM-DD](ссылка на git)
    ```
    
    ## Шаблон WeekPlan
    
    > **Стиль:** collapsible, без `---`, `<b>` в summary. Приоритет = светофор (🔴🟡🟢). Результат = краткое название из Strategy.md (не ID).
    > **Бюджет:** формат `~Zh РП всего (в том числе Xh на R1-R{N}) / ~Yh физ / Плановый мультипликатор ~N.Nx`. Активные — **жирным**. Done — зачёркнуть: `| ~~#~~ | ~~название~~ | ... |`
    
    ```markdown
    ---
    type: week-plan
    week: W{N}
    date_start: YYYY-MM-DD
    date_end: YYYY-MM-DD
    status: draft
    agent: Стратег
    ---
    
    # WeekPlan W{N}: DD мес — DD мес YYYY
    
    <details open>
    <summary><b>План на неделю W{N}</b></summary>
    
    **Фокус:** [1 предложение]
    **Бюджет:** ~Zh РП всего (в том числе Xh на R1-R{N}) / ~Yh физ / Плановый мультипликатор ~N.Nx
    
    > 🔴 критический 🟡 средний 🟢 низкий
    
    | 🚦 | # | РП | h | Источник | P | Статус | Результат |
    |----|---|-----|---|----------|---|--------|-----------|
    | 🔴 | ... | **Название** — описание | X | R{N} / S-НЭП-X / carry | P3 | in_progress | Краткое название |
    
    > **Колонка «Источник» (Сверка РП↔НЭП, WP-196 Ф11):** `R{N}` = приоритет месяца, `S-НЭП-X` = неудовлетворённость, `carry` = перенос. РП без источника — сигнал «зачем это делаем?»
    > **Колонка «P» (S-25):** проект P1-P6 из `docs/Projects.md` (если применимо).
    
    **Сводка:** N РП, Xh. 🔴 Xh (N) 🟡 Xh (N) 🟢 Xh (N)
    **Off-plan:** [список]
    
    ### Time-boxing (PD.METHOD.017)
    
    - Маленькие (≤4h): N
    - Большие (4-15h): N
    - Open-ended: 0 (запрещены)
    
    ### Что НЕ берём в эту неделю и почему
    - РП X — отложен, причина: ...
    
    </details>
    <details>
    <summary><b>ТОС + запрос недели</b></summary>
    
    > ОДНО ограничение, снятие которого разблокирует наибольшую пропускную способность (PD.METHOD.017 шаг 4).
    
    **ТОС:** [одна формулировка]
    **Запрос недели:** [что нужно от себя или от других]
    
    </details>
    <details>
    <summary><b>Итоги прошлой недели W{N-1}</b></summary>
    
    > **Split (ОПТ-5, WP-297):** факты переехали в `WeekReport W{N-1}`. Здесь только ссылка.
    
    См. `current/WeekReport W{N-1} YYYY-MM-DD.md` (ссылка через frontmatter `week_report:`).
    
    </details>
    <details>
    <summary><b>Стратегическая сверка</b></summary>
    
    | ID | Результат | Бюджет | Статус | P | Связанные РП |
    |----|-----------|--------|--------|---|-------------|
    | R1 | ... | ... | ... | P3 | WP-X, WP-Y |
    
    **ТОС-месяца:** [узкое горлышко]
    **Расхождения:** [план vs факт]
    
    </details>
    <details>
    <summary><b>Повестка сессии стратегирования</b></summary>
    
    - [ ] Ревью прошлой недели (источник: WeekReport W{N-1})
    - [ ] Inbox Triage (недельный)
    - [ ] НЭП: проверить O1-O{N}
    - [ ] Стратегическая сверка
    - [ ] **Применённые критерии отбора РП** (PD.METHOD.017): ТОС + Budget fit + Time-boxing
    - [ ] **Сверка РП↔НЭП:** для каждого РП источник (R{N} / S-НЭП)
    - [ ] Видео-ревью (С3)
    - [ ] Проверка активации + ревью спящих
    
    ### Вопросы для обсуждения
    1. ...
    
    </details>
    <details>
    <summary><b>Сверка РП↔НЭП (для Week Close)</b></summary>
    
    | РП | Источник (R/S-НЭП) | Результат | Снимает НЭП? |
    |----|--------------------|-----------|--------------|
    | ... | ... | ... | да / частично / нет |
    
    </details>
    <details>
    <summary><b>Рекомендации изменений в НЭП и Стратегию (для Week Close)</b></summary>
    
    - **НЭП:** ...
    - **Strategy.md:** ...
    
    </details>
    <details>
    <summary><b>Inbox Triage (недельный)</b></summary>
    
    [из fleeting-notes, unsatisfied-questions, WP context files]
    
    </details>
    <details>
    <summary><b>Контент-план W{N}</b></summary>
    
    1. **#NNN Название** — канал, бюджет, дедлайн
    
    </details>
    <details open>
    <summary><b>План на понедельник DD мес</b></summary>
    
    | 🚦 | # | РП | h | Результат |
    |----|---|-----|---|-----------|
    
    </details>
    
    *Создан: YYYY-MM-DD (Strategy Session)*
    ```
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related