agentsclimarketplace

Mm focus

Skill mworldorg/markdown-memory/skills/mm-focus

A cross-platform, file-based persistent memory and prompt bridge for Claude Code, claude.ai, and Antigravity IDE. Synchronizes project passports, handoffs, and session logs in an Obsidian Vault, connecting web planning with local CLI execution. Install via: npx markdown-memory

Install
npx -y skills add mworldorg/markdown-memory --skill mm-focus

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 23 stars23 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Stage-scoped reload файлов текущего GSD-этапа в свежий контекст ПОСЛЕ ручного /clear, mid-phase. Не сводка «где мы» (это /mm resume), а ЗАГРУЗКА самих рабочих файлов этапа (STATE + CONTEXT/PLAN/SUMMARY по статусу), чтобы сразу продолжать работу. Только для GSD-проектов. Read-only. Use when user says "/mm-focus", "/mm focus", "перечитай этап", "перечитай файлы этапа после clear", "scoped reload", "загрузи текущий этап", "вернуть контекст этапа после /clear".

SKILL.md

8.9 KB, as published. Nobody here has run it

mm-focus — Stage-Scoped Reload after /clear

Решает узкую проблему: ты сделал ручной /clear посреди GSD-фазы, контекст пуст, и нужно снова втянуть в контекст рабочие файлы именно текущего этапа — не сводку, а сами файлы, чтобы продолжить работу с того же места.

Отличие от /mm resume: resume даёт компактную СВОДКУ «где мы» (passport + git + last session + выжимки). mm-focus НИЧЕГО не пересказывает — он загружает полное содержимое минимального scoped-набора файлов текущего этапа в контекст и выдаёт одну строку-ориентир. Это не дубль resume.

Когда вызывать:

  • ПОСЛЕ ручного /clear, mid-phase, когда работа над фазой не закончена.
  • Когда нужно «вернуть в голову» файлы текущего этапа, не читая весь проект.
  • Цикл: GSD-этап в работе → /clear/mm-focus → продолжаешь.

Чего скилл НЕ делает:

  • НЕ выполняет /clear сам — это клиентская операция, недоступная из скилла. Скилл рассчитан на запуск ПОСЛЕ ручного /clear.
  • НЕ пишет ничего — ни в .planning/*, ни в .gsd/*, ни куда-либо ещё (там file-lock'и/хуки). Только чтение.
  • НЕ делает resume-стиль дамп — только scoped-набор этапа.
  • Не для не-GSD проектов — там используй /mm resume.

Процесс

Шаг 1. Определи проект (worktree-aware)

То же, что в mm-resume Шаг 1:

  • Если cwd внутри .claude/worktrees/... — resolve до main repo через .git файл-указатель.
  • Иначе — поднимись до корня (где .git/, package.json, pyproject.toml, и т.п.).
  • Имя проекта = из passport.md frontmatter (если есть) ИЛИ basename корневой папки.

Если нет passport.md ИЛИ проект не под GSD (см. Шаг 2 — ни .planning/, ни .gsd/) — скажи: GSD-фаз тут нет, используй /mm resume. и остановись.

Шаг 2. Dual-detection GSD (v1/core/v2) — как в mm-resume

Определи версию:

  • <project_root>/.planning/ существует:
    • есть <project_root>/.planning/config.jsonGSD Core
    • иначе → GSD v1
  • <project_root>/.gsd/ существует → GSD v2
  • Оба → возьми gsd_version из passport frontmatter; если нет — спроси.
  • Ничего нет → остановись с подсказкой /mm resume (см. Шаг 1).

Шаг 3. Определи текущую фазу и ЭТАП

GSD v1 / Core (.planning/):

  1. Прочитай .planning/STATE.md — оттуда текущий milestone и position (номер/имя текущей фазы).
  2. Найди папку текущей фазы .planning/phases/<NN-current>/.
  3. Определи ЭТАП по статусу фазы в STATE.md (draft/discussed/planned/in-progress/verified/complete) И по наличию артефактов — артефакты приоритетнее, если расходятся:
    • нет CONTEXT.mdDiscuss
    • есть CONTEXT.md, нет PLAN.mdPlan
    • есть PLAN.md, нет SUMMARY.mdExecute
    • есть SUMMARY.md ИЛИ статус verified/completeVerify

GSD v2 (.gsd/): этапная модель в файлах слабее — определи позицию из .gsd/STATE.md (rendered dashboard) и, если доступен sqlite3, из gsd.db (активный slice/tasks). Per-phase PLAN.md/SUMMARY.md может не быть — грузи что есть (см. Шаг 4).

Шаг 4. Прочитай scoped-набор (ЗАГРУЗИ ПОЛНОЕ содержимое в контекст, НЕ пересказывай)

Цель шага — чтобы файлы оказались в контексте целиком. Читай их Read-инструментом полностью. Не выжимай, не суммируй.

GSD v1 / Core (.planning/):

  • Всегда: STATE.md + HANDOFF.json (если есть).
  • Discuss+ строка текущей фазы из ROADMAP.md + PROJECT.md (vision/scope; если файл большой — раздел целей/scope или первые ~40 строк) + CONTEXT.md (если уже есть).
  • Plan+ CONTEXT.md + PLAN.md (если уже частично есть).
  • Execute+ PLAN.md + CONTEXT.md.
  • Verify+ PLAN.md + SUMMARY.md.

Все per-phase файлы — из .planning/phases/<NN-current>/.

GSD v2 (.gsd/):

  • Всегда: .gsd/STATE.md + .gsd/AGENTS.md (≈ CONTEXT).
  • Задачи текущего slice из .gsd/gsd.db через sqlite3, если он в PATH:
    sqlite3 "<project_root>/.gsd/gsd.db" "SELECT title, status FROM tasks WHERE slice_id=(SELECT id FROM slices WHERE active=1) LIMIT 20;"
    
    Если sqlite3 недоступен — пропусти, набор беднее но не падает.
  • Per-phase PLAN.md/SUMMARY.md в v2 может не быть — грузи только то, что реально существует.

Шаг 5. Вывод — МИНИМАЛЬНЫЙ

Это не resume-сводка. Суть в том, что файлы уже в контексте. Выдай только:

📍 Фаза <NN> «<title>» · этап <Discuss|Plan|Execute|Verify> · загружено: <file1>, <file2>, ...

И, если в HANDOFF.json есть «Точка возврата» / what_next — добавь её ОДНОЙ строкой:

↩️ Точка возврата: <следующий конкретный шаг>

Всё. Не делай развёрнутую сводку, не дублируй resume, не пересказывай содержимое загруженных файлов.

Шаг 6. После вывода — жди

Контекст загружен. Пользователь сам решит, что делать дальше.

Edge cases

  • Артефакт этапа отсутствует (напр. на Discuss ещё нет CONTEXT.md): грузи что есть, в строке «загружено» отметь чего нет (CONTEXT.md — нет), не падай.
  • GSD есть, но нет активной фазы (между milestone'ами): скажи GSD: активной фазы нет — /mm resume или /gsd-new-milestone. и остановись.
  • HANDOFF.json отсутствует: пропусти строку «Точка возврата».
  • Расхождение статуса STATE.md и артефактов: верь артефактам (наличие файлов важнее декларации), упомяни расхождение одной фразой.

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

  • Read-only по GSD. НИКОГДА не писать в .planning/* или .gsd/* (file-lock'и/охраняющие хуки). Никаких git-мутаций, никаких авто-коммитов.
  • Не выполнять /clear — это клиентская операция вне скилла; mm-focus запускается ПОСЛЕ ручного /clear.
  • Не дублировать /mm resume — никакого полного дампа и сводки, только scoped-набор текущего этапа и одна строка-ориентир.
  • Только GSD-проекты — нет GSD → отправляй на /mm resume.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.