From mddesign
Makes sessions durable across `/clear`, machine reboots, and IDE switches. SessionStart catchup pulls scratch + last MemPalace recall + planning files into context. Stop promotion writes a handoff note and runs memory-keeper. Manual `/mddesign:handoff` re-runs either at any time.
npx claudepluginhub othmanadi/mddesign --plugin mddesignThis skill is limited to using the following tools:
Bridges sessions. The user's session ends; the next session picks up exactly where the last one left off.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Bridges sessions. The user's session ends; the next session picks up exactly where the last one left off.
Triggered automatically by the SessionStart hook. Manually invokable via /mddesign:handoff catchup.
Read task_plan.md if it exists. Note the active phase id and its bullets.Read findings.md if it exists. Note any ## Design Context block.Read progress.md if it exists. Note the most recent ### Phase <id> Result and the most recent ### Handoff <timestamp> entry..agents/memory/scratch/**/*.md./memory-router with a query like "recent decisions for project ".Build a one-paragraph (4-6 sentence) "where we left off" that names:
### Phase ResultPrint this preamble to the user as your first message.
*.tsx|*.vue|*.svelte) but no DESIGN.md, print: "No DESIGN.md found. Run /mddesign:harvest to generate one."task_plan.md does not exist, print: "No task_plan.md. Use planning-with-files to create one before starting work."code-memory-router slash command is not registered, print: "code-memory-router not detected. Memory operations will fall back to scratch only."Triggered automatically by the Stop hook. Manually invokable via /mddesign:handoff promote.
Call the Agent tool with subagent_type: memory-keeper. Pass:
progress.md (last 50 lines)findings.md.agents/memory/scratch/Memory-keeper returns a list of promotion candidates with tier classifications.
For each WHY candidate:
before_mempalace_write) to require approval.memory-layer skill performs the actual /memory-router invocation.Append to progress.md:
### Handoff <ISO timestamp>
**Active phase at session end:** <id>
**Status:** <status>
**Promoted to WHY:** <count> entries
**Open questions:**
- <list>
**Resume next session by:**
- <one-line action>
This block is what SessionStart catchup reads first next time.
| Subcommand | What it does |
|---|---|
/mddesign:handoff (no arg) | Runs catchup. |
/mddesign:handoff catchup | Runs catchup. |
/mddesign:handoff promote | Runs Stop promotion. Useful before a planned /clear. |
task_plan.md directly. Read only.progress.md always lives under ### Handoff <timestamp> for easy grep.User ends Tuesday session mid-Phase 3. Stop fires. Memory-keeper proposes 2 WHY candidates ("decided X for reason Y" and "rejected approach Z"). User approves both. Plugin writes:
### Handoff 2026-04-23T18:42:11Z
**Active phase at session end:** phase-3-build-cta
**Status:** in_progress, button component scaffolded but a11y not yet checked
**Promoted to WHY:** 2 entries
**Open questions:**
- Should the focus ring use colors.primary or colors.accent?
**Resume next session by:**
- Read findings.md "## Design Context", then run /mddesign:critique to check the button against DESIGN.md tokens.
Wednesday morning, user opens a new session. /clear happened or the laptop rebooted. SessionStart fires. Catchup synthesises:
Last session ended in Phase 3 (build-cta), button scaffolded but a11y not yet checked. Decisions promoted: chose primary color for CTA based on contrast vs accent. Open question: focus ring color (primary vs accent). Suggested next step: read findings.md "## Design Context" then
/mddesign:critique.
User reads, says "ok continue". The agent already has every piece of context it needs.