Agent Skillsmworldorg/markdown-memory › mm-clear-gate

mm-clear-gate

GitHub

执行 /clear 前的只读检查,验证手稿、仓库状态及日志完整性。通过脚本退出码给出明确放行或阻断指令,防止数据丢失。

skills/mm-clear-gate/SKILL.md mworldorg/markdown-memory

Trigger Scenarios

用户输入 /mm gate 用户询问 'можно чистить' 或 'всё ли записано' 准备执行 /clear 操作前

Install

npx skills add mworldorg/markdown-memory --skill mm-clear-gate -g -y
More Options

Use without installing

npx skills use mworldorg/markdown-memory@mm-clear-gate

指定 Agent (Claude Code)

npx skills add mworldorg/markdown-memory --skill mm-clear-gate -a claude-code -g -y

安装 repo 全部 skill

npx skills add mworldorg/markdown-memory --all -g -y

预览 repo 内 skill

npx skills add mworldorg/markdown-memory --list

SKILL.md

Frontmatter
{
    "name": "mm-clear-gate",
    "version": "0.1.0",
    "description": "Гейт перед \/clear — read-only проверка «всё ли записано», вердикт из exit code скрипта, а не из реплики модели. Проверяет свежесть handoff, состояние vault-репо, дерево проекта, запушенность, лог сессии, плюс validate.health как предупреждение. Два режима планки - mid (между этапами GSD, дефолт) и end (конец сессии). Use when user says \"\/mm gate\", \"\/mm-gate\", \"можно чистить\", \"всё ли записано\", \"готов к clear\", \"проверь перед clear\", ЛИБО когда сам собираешься предложить \/clear."
}

mm-clear-gate — гейт перед /clear

Решает проблему: единственным подтверждением «всё сохранено» была фраза модели о сессии, память о которой /clear и стирает. Вердикт должен приходить из скрипта с exit code, а не из реплики.

Вся логика — в скрипте. Скилл его запускает, печатает вывод целиком и переводит exit code в одну строку. Ничего не пересчитывает и не пересказывает.

Запуск

python <repo>/scripts/clear-gate.py --mode mid   # дефолт: между этапами GSD
python <repo>/scripts/clear-gate.py --mode end   # конец сессии

<repo> — корень mm-репозитория (paths.skills_repo из конфига). Проверяемый проект — текущий cwd; можно задать явно через --project <путь>.

Режим: /mm gatemid, /mm gate end (или «конец сессии», «закругляемся») → end.

Что делать с выводом

  1. Напечатай вывод скрипта целиком, дословно — секции блокеров, предупреждений и пройденного. Не сокращай список файлов, не убирай подсказки-команды.
  2. Добавь одну строку по exit code:
    • 0✅ Гейт пройден — можно /clear.
    • 1⛔ Гейт не пройден — чистить нельзя, сначала закрой блокеры выше.
  3. При exit 1 не предлагай /clear и не утверждай, что всё записано. Блокеры перечислены — назови их и остановись.
  4. Ничего не чини сам. Гейт read-only, исправления — отдельное решение оператора.

Планка по режимам

Проверка mid end
Свежесть handoff (HANDOFF.json / .continue-here.md) блокер блокер
Vault-репо: грязный или не запушен блокер блокер
Дерево проекта незакоммичено предупреждение¹ блокер
HEAD впереди origin предупреждение блокер
Лог сессии в <vault>/sessions/ не проверяется блокер
Фаза Complete без passing-VERIFICATION.md блокер² блокер²
validate.health предупреждение предупреждение

¹ становится блокером, если handoff устарел: незаписанное состояние плюс грязное дерево — это уже потеря.

² только фазы текущего milestone (берётся из milestone: в STATE.md). Архивные вехи не трогаем: чинить их поздно, а гейт, краснеющий на том, что никто не пойдёт исправлять, начинают пролистывать. Строки со статусом Deferred, In Progress, Executed — verification partial не проверяются — ловится ровно расхождение «ROADMAP говорит Complete, а verification.status даёт не passed».

Зачем: в execute-phase шаг verify_phase_goal стоит перед update_roadmap и guard'а не имеет, то есть при полном прогоне фаза физически не может стать Complete без отчёта. Но если планы гонять поштучно, а ROADMAP править отдельно, весь хвост workflow (верификация, learnings, todos) пропускается — так у Filtrator фаза 8 простояла Complete без единого VERIFICATION.md, и пять фаз из восьми оказались без отчётов. Сигнал у GSD был всегда (verification.status), но оставался advisory: его никто не читал. Здесь он становится вердиктом.

Почему так: /clear не трогает диск, поэтому между этапами GSD незакоммиченное и незапушенное ничего не теряют — блокировать их значит красить гейт в красный там, где всё в порядке, и приучать себя его пролистывать. Настоящий вопрос mid-режима — записано ли состояние работы (handoff) и доехало ли записанное (vault).

Жёсткие правила

  • Read-only. Только git status / rev-list / log, mtime файлов и validate.health без --repair. Никаких коммитов, пушей и правок.
  • git fetch не выполняется — это сеть и мутация refs. Сравнение идёт с последним известным origin: ahead точен, behind может быть устаревшим (и потому лишь предупреждение).
  • Exit code определяют только блокеры. Предупреждения на вердикт не влияют никогда.
  • 7 forensic-проверок не дублируются — на них есть ссылка в выводе, когда health не healthy.

Edge cases

  • Проект не под GSD — handoff и health помечаются н/д, не блокируют.
  • Vault не найден или не git-репо — предупреждение и подсказка /mm vault, не блокер. Путь к vault собирается из имени в passport.md; если паспорта нет, берётся имя папки и vault может не найтись.
  • Handoff-файлов нет вовсе — блокер: состояние работы нигде не записано.
  • Нет upstream у ветки при наличии remote — блокер: запушенность установить нельзя.

Version History

  • 7d780d7 Current 2026-08-03 09:35

Same Skill Collection

skills/mm-doctor/SKILL.md
skills/mm-focus/SKILL.md
skills/mm-instructions/SKILL.md
skills/mm-projects/SKILL.md
skills/mm-save-session/SKILL.md
skills/mm-update/SKILL.md
skills/mm-vault/SKILL.md
skills/mm/SKILL.md
claude-ai-skills/mm-web-bridge/SKILL.md
skills/mm-handoff/SKILL.md
skills/mm-init-project/SKILL.md
skills/mm-resume/SKILL.md
skills/mm-setup/SKILL.md

Metadata

Files
0
Version
7d780d7
Hash
2a18f1d6
Indexed
2026-08-03 09:35

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-04 21:10
浙ICP备14020137号-1 $Гость$