Mpm Session Resume logo

Mpm Session Resume

Community
bobmatnyc
mpm-session-resume

Load context from paused session

Overview

Publisherbobmatnyc
Repositoryclaude-mpm
Skill namempm-session-resume
Stars
152
Forks
34
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by bobmatnyc on GitHub. Read the source before you install it.

Installation

Install the Mpm Session Resume AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/bobmatnyc/claude-mpm.git /tmp/claude-mpm
mkdir -p .claude/skills
cp -r /tmp/claude-mpm/plugin/skills/mpm-session-resume .claude/skills/mpm-session-resume
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Mpm Session Resume in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Mpm Session Resume on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Mpm Session Resume is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

/mpm-session-resume

Load and display context from a paused session, with optional browsing and selection when multiple sessions exist.

What This Does

When invoked, this skill:

  1. Scans the project-local session store at .claude-mpm/sessions/ for paused sessions
  2. Loads the most recent session (by file modification time) or a specific session selected with --select
  3. Validates that the session's project_path matches the current project — sessions from other projects are skipped
  4. Calculates time elapsed since pause and git changes since pause
  5. Displays a formatted resume prompt with summary, accomplishments, and next steps
  6. Returns the session data so the PM can continue work with full context

Note: Resume always validates that the session belongs to the current project. You will never accidentally resume a session from a different project.

Usage

/mpm-session-resume                    # resume most recent session (existing behaviour)
/mpm-session-resume                    # with no args: also lists sessions when >1 exists
/mpm-session-resume --select 2         # resume the 2nd most-recent session (1-based index)
/mpm-session-resume --select 20240101  # resume by partial session ID match
/mpm-session-resume <session-id>       # resume by exact session ID (backward-compatible)

What it shows (listing mode — no args, multiple sessions):

  • Numbered list of sessions, most-recent first
  • Session ID (timestamp portion), time elapsed, project name, topic/summary

What it shows (resume mode):

  • Session summary and time elapsed since pause
  • Completed work and current tasks
  • Git context and recent commits (new commits since pause)
  • Pending TaskList items (from Claude Code TaskCreate/TaskList)
  • Next recommended actions

Implementation

Run the console script directly — no interpreter resolution needed:

bash
# Resume most recent session (lists if multiple exist)
claude-mpm session resume

# Resume the 2nd most recent session
claude-mpm session resume --select 2

# Resume by partial session ID (date prefix)
claude-mpm session resume --select 20240101

# Resume by exact session ID
claude-mpm session resume session-20240101-143022

# Resume from a specific project directory
claude-mpm session resume --project-path /path/to/project

Permission note (Bug #735): Do not probe for sessions with ls .claude-mpm/sessions/ 2>/dev/null — that swallows stderr, so a permission-denied read looks identical to "no sessions" and resume wrongly reports nothing to resume. The claude-mpm session resume command handles this correctly via check_session_dir_access().

If claude-mpm session resume fails

If the command exits non-zero, capture the full error and show it verbatim — do not summarise with a generic "not importable" message:

bash
claude-mpm session resume 2>&1
rc=$?
if [ "$rc" -ne 0 ]; then
    echo ""
    echo "ERROR: claude-mpm session resume failed (exit $rc)."
    echo "Full error shown above."
    echo ""
    echo "Diagnostic steps:"
    echo "  1. Verify claude-mpm is on PATH:  command -v claude-mpm"
    echo "  2. Check the actual import error:  python3 -c 'import claude_mpm' 2>&1"
    echo "  3. If a transitive dep fails (e.g. shadowed stdlib module), check"
    echo "     sys.path[0] is not /tmp:  python3 -c 'import sys; print(sys.path[0])'"
fi

Note on misleading ImportError messages (issue #781): A bare except ImportError can fire for transitive failures (e.g. a stray /tmp/bisect.py shadowing stdlib bisect) unrelated to claude_mpm itself. Always inspect the actual exception — e.name tells you which module failed. If e.name does not start with claude_mpm, the problem is a shadowed or missing transitive dependency, not a missing claude_mpm installation.

Session Storage Location

Session location: project-local .claude-mpm/sessions/session-*.md (and .json)

Sessions are stored relative to the project root so each project has its own isolated session history. Resume always validates that the session belongs to the current project — you will never accidentally load a session from another checkout.

The store contains:

<project-root>/.claude-mpm/sessions/
├── LATEST-SESSION.txt                  # Pointer to most recent session
├── session-YYYYMMDD-HHMMSS.md          # Human-readable
└── session-YYYYMMDD-HHMMSS.json        # Machine-readable (loaded by resume)

Resume reads the .json file (authoritative machine-readable format). The .md file is for humans; resume will not attempt to parse it as JSON.

Token Budget

Token usage: ~20-40k tokens (10-20% of context budget)

This loads the session summary, accomplishments, next steps, git history, and pending task list into context so the PM can continue work without rediscovering state.

What Gets Loaded

From the paused session:

  • Session ID and pause timestamp
  • Project path (recorded at pause time, for display only)
  • Git branch, recent commits, and file status at pause
  • Summary, accomplishments, and next steps
  • TaskList state (pending/in-progress tasks)
  • Context message (if provided at pause)

Calculated at resume time:

  • Human-readable time elapsed (e.g., "2 hours ago", "3 days ago")
  • Git commits added since pause
  • File changes since pause

Notes

  • Reads existing sessions only. Does NOT create new files.
  • Session pause is manual-only via /mpm-session-pause skill; this skill loads them.
  • Session files are kept after resume (not auto-deleted) so you can resume multiple times.

Differentiating from Native Claude Code Resume

This skill is fundamentally different from Claude Code's native claude --resume/--continue and checkpoint-rewind (Esc-Esc / /rewind):

  • Native claude --resume/--continue: Replays the full raw conversation transcript (persisted to a JSONL file on disk) and continues the exact same conversation thread, typically scoped to the same working directory. This is not ephemeral — the transcript survives the tool exiting.
  • /mpm-session-pause + /mpm-session-resume: Captures a condensed textual summary (git state, todos, task list, accomplishments) into .claude-mpm/sessions/*.json files, loaded into a brand-new conversation rather than replaying the transcript. Useful for cross-project handoff, long-form work spanning many separate conversations, or a fresh context window with just the essential summary instead of the full raw history.

Related Commands

  • /mpm-session-pause — Pause current session and save state
  • claude-mpm session pause — CLI entry point for pause
  • claude-mpm session resume --help — Full CLI usage

See the "Context Usage Monitoring" section of the mpm-session-management skill for how context-usage thresholds and warnings work (session pause is manual-only; there is no auto-pause).

Frequently asked questions

What does the Mpm Session Resume AI skill do?

Load context from paused session

Why use Mpm Session Resume on TypingMind?

Because you install it once and use it with any model. Mpm Session Resume is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Mpm Session Resume in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/bobmatnyc/claude-mpm/tree/main/plugin/skills/mpm-session-resume. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Mpm Session Resume?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Mpm Session Resume?

As many as you like. As long as a model supports skills, you can use Mpm Session Resume with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Mpm Session Resume AI skill free?

It is published on GitHub by bobmatnyc. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇