Agent skill

CPR Session Resume

by EliaAlberti in EliaAlberti/cpr-compress-preserve-resume

Loads context from recent CPR session logs at the start of a session and can search past sessions by topic, then writes a short resume report.

MITAuto-check passedAgent Workflows

Install CPR Session Resume

skills CLI
$ npx skills add EliaAlberti/cpr-compress-preserve-resume --skill resume -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install EliaAlberti/cpr-compress-preserve-resume resume --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/EliaAlberti/cpr-compress-preserve-resume.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/resume .claude/skills/resume && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
resume
GitHub stars
514
Token cost
~623 tokens
SKILL.md length
176 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Loads context from recent CPR session logs at the start of a session and can search past sessions by topic, then writes a short resume report.

  • Starting a new session and catching up on what was done last time
  • SKILL.md covers Session data and Report
  • Calls python3
  • Finding past sessions that dealt with a topic such as authentication

What it does

CPR is a persistent memory plugin for Claude Code that saves, searches and restores conversation context. This skill is the restore side: the /cpr:resume command runs a bundled Python script that collects the project's session logs, so the agent has nothing to open or list, and then writes a report from that data. CLAUDE.md is already in context and is not re-read.

By default it covers the last three sessions. A number after the command, such as 5 or 10, widens that, and a topic word such as auth or migration also searches every log for that term. The report uses a fixed banner format headed by the project name, with one-line bullets that keep exact paths, identifiers and flags from the logs.

If there are no logs yet, it says so in two lines and points to /cpr:compress. If autosaved transcripts are newer than the last curated log, it mentions them once, since they hold the full conversation without a summary. Raw logs are opened only when you ask something the summaries cannot answer.

When your agent uses it

  • Starting a new session and catching up on what was done last time
  • Finding past sessions that dealt with a topic such as authentication
  • Checking whether newer autosaved transcripts exist beyond the last summary

Example prompts

  • “/cpr:resume 5 to catch up on the last five sessions.”
  • “/cpr:resume auth to see what we did around authentication.”
  • “Catch me up on the migration work from the earlier CPR logs.”

Requirements

  • The CPR plugin installed
  • Python 3 to run the bundled resume script
  • Pre-approved tools (allowed-tools): Read, Bash(python3 *)

What it can do on your machine

Read from SKILL.md and the folder at commit cfd1e77. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash(python3 *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

CPR Session Resume loads about 623 tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 176 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~623

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from EliaAlberti/cpr-compress-preserve-resume at commit cfd1e77, republished under its MIT licence (© EliaAlberti). 176 words, ~623 tokens.

Download SKILL.mdSave it as .claude/skills/resume/SKILL.md (or your agent's skills folder).
name
resume
description
Load context from recent CPR session logs, and search past sessions by topic. Use at the start of a session or when you need to know what happened before.
allowed-tools
Read, Bash(python3 *)
argument-hint
[N] [topic]
disable-model-invocation
true

/cpr:resume

Bring this session up to speed from the project's session logs. The data below was collected by a script, so there is nothing to open or list: read it, then write the report.

Usage: /cpr:resume for the last 3 sessions, /cpr:resume 5 for the last 5, /cpr:resume auth to also search every log for "auth", /cpr:resume 10 migration for both. CLAUDE.md is already in your context; do not re-read it.

Session data

!python3 "${CLAUDE_PLUGIN_ROOT}/scripts/resume_context.py" $ARGUMENTS

Report

Write the report from the data above, in this shape. Keep each bullet to one line, and keep exact values from the logs: paths, identifiers, flags.

══════════════════════════════════════════════
 RESUMING: {project name}
══════════════════════════════════════════════

CONTEXT:
- {what was last worked on}
- {important project state from the logs and CLAUDE.md}

BLOCKERS:
- {from the logs, or "None"}

══════════════════════════════════════════════
 MOST RECENT SESSION: {date time}
 Topic: {topic}
══════════════════════════════════════════════

**Keywords:** {confidence keywords}
**Outcome:** {outcome}

**Key points:**
- {decision, learning or fix}
- {pending task}

══════════════════════════════════════════════
 PREVIOUS SESSIONS ({count})
══════════════════════════════════════════════

- {date}: {topic}, {outcome in a few words}

══════════════════════════════════════════════
 RELATED SESSIONS (topic: "{topic}")      only when a topic was given
══════════════════════════════════════════════

- {date}: {topic}, {why it matched}

══════════════════════════════════════════════
 READY TO:
══════════════════════════════════════════════

- {next step from CLAUDE.md or the latest log}
- {pending task}
══════════════════════════════════════════════

If the data says there are no logs yet, say so in two lines and point to /cpr:compress. If it lists autosaved transcripts newer than the last curated log, mention them once: they hold the full conversation but no summary, and /cpr:resume <topic> searches them.

Read a raw log only when the user asks a question the summaries cannot answer; the summaries exist so that the raw archives never have to be loaded.

© EliaAlberti, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/resume of EliaAlberti/cpr-compress-preserve-resume.

Open the folder on GitHubat commit cfd1e77

Compare with similar skills

CPR Session Resume next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

CPR Session Resume compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
CPR Session Resume this skillEliaAlberti/cpr-compress-preserve-resume514—~623Automated safety check: PassMIT
Mindmemos CLImindscale-noah/MindMemOS1k—~3.4kAutomated safety check: PassNone
File-Based Planning in ArabicOthmanAdi/planning-with-files27k—~3.2kAutomated safety check: NotesMIT
File-Based Planning in SpanishOthmanAdi/planning-with-files27k—~3.8kAutomated safety check: NotesMIT
Beads Task Memorygastownhall/beads28k—~1.2kAutomated safety check: PassMIT
Session History Searchslopus/happy24k—~3.1kAutomated safety check: PassMIT

Similar skills

  • Mindmemos CLI

    mindscale-noah/MindMemOS

    Give an AI agent persistent, cross-session long-term memory through MindMemOS.

    1k GitHub stars~3.4k tokensUpdated 10 days ago
    Agent WorkflowsAuto-check passed
  • File-Based Planning in Arabic

    OthmanAdi/planning-with-files

    Arabic edition of a file-based planning skill that keeps task_plan.md, findings.md and progress.md on disk so multi-step agent work survives lost context.

    27k GitHub stars~3.2k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check: notes
  • File-Based Planning in Spanish

    OthmanAdi/planning-with-files

    Spanish edition of a planning skill that keeps a multi-step agent task on track with task_plan.md, findings.md and progress.md on disk, with recovery after a session reset.

    27k GitHub stars~3.8k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check: notes
  • Beads Task Memory

    gastownhall/beads

    Tracks multi-session work with dependencies in the bd issue tracker so the agent can find ready tasks and recover its context after conversation compaction.

    28k GitHub stars~1.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Searches past Claude Code, Codex and Cursor sessions and summarizes what was worked on, tried or decided, using extraction scripts instead of reading raw logs.

    24k GitHub stars~3.1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Adds, searches, lists, updates and deletes memories on the Mem0 platform from the terminal with the mem0 command, including a JSON mode built for agents.

    67k GitHub stars~2k tokensUpdated today
    Agent WorkflowsAuto-check: notes

More from EliaAlberti/cpr-compress-preserve-resume

  • CPR Compress

    EliaAlberti/cpr-compress-preserve-resume

    Saves the current session as a searchable log with a curated summary and the raw transcript, so a later session can resume from it.

    514 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed
  • CLAUDE.md Preserve

    EliaAlberti/cpr-compress-preserve-resume

    Writes this session's durable learnings into the project's CLAUDE.md and keeps the file short by archiving stale sections.

    514 GitHub stars~889 tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about CPR Session Resume

What does CPR Session Resume do?

Loads context from recent CPR session logs at the start of a session and can search past sessions by topic, then writes a short resume report. CPR is a persistent memory plugin for Claude Code that saves, searches and restores conversation context. This skill is the restore side: the /cpr:resume command runs a bundled Python script that collects the project's session logs, so the agent has nothing to open or list, and then writes a report from that data.

When should I use CPR Session Resume?

CPR Session Resume fits situations like: starting a new session and catching up on what was done last time; finding past sessions that dealt with a topic such as authentication; checking whether newer autosaved transcripts exist beyond the last summary.

How do I install CPR Session Resume in Claude Code?

Run `npx skills add EliaAlberti/cpr-compress-preserve-resume --skill resume -a claude-code`. Or copy the skill folder (skills/resume in EliaAlberti/cpr-compress-preserve-resume) into .claude/skills/resume in your project. Claude Code loads it when a task matches its description.

How do I install CPR Session Resume in Codex?

Run `npx skills add EliaAlberti/cpr-compress-preserve-resume --skill resume -a codex`. Or copy the skill folder (skills/resume in EliaAlberti/cpr-compress-preserve-resume) into .agents/skills/resume in your project. Codex loads it when a task matches its description.

Can I use CPR Session Resume in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add EliaAlberti/cpr-compress-preserve-resume --skill resume -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/resume, .gemini/skills/resume, .github/skills/resume and .opencode/skills/resume in your project.

What does CPR Session Resume need to run?

Going by SKILL.md and its folder, CPR Session Resume needs the command-line tools its instructions call (python3). Our summary lists: The CPR plugin installed; Python 3 to run the bundled resume script. Its frontmatter pre-approves these tools: Read, Bash(python3 *).

Does CPR Session Resume access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is CPR Session Resume safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does CPR Session Resume use?

CPR Session Resume is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does CPR Session Resume use?

About 623 tokens (SKILL.md is roughly 2.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to CPR Session Resume?

Skills that share tags, products or a category with CPR Session Resume: Mindmemos CLI (mindscale-noah/MindMemOS, 1k stars), File-Based Planning in Arabic (OthmanAdi/planning-with-files, 27k stars), File-Based Planning in Spanish (OthmanAdi/planning-with-files, 27k stars) and Beads Task Memory (gastownhall/beads, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains CPR Session Resume?

EliaAlberti (a GitHub user) maintains it in EliaAlberti/cpr-compress-preserve-resume, which has 514 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 9, 2026.

Source: EliaAlberti/cpr-compress-preserve-resume on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.