Agent skill

Bm Checkpoint

by basicmachines-co in basicmachines-co/basic-memory

Save a deliberate work checkpoint to Basic Memory with the story, changed files, verification, decisions, blockers, and the next action.

AGPL-3.0Auto-check passedAgent Workflows

Install Bm Checkpoint

skills CLI
$ npx skills add basicmachines-co/basic-memory --skill bm-checkpoint -a claude-code

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

GitHub CLI
$ gh skill install basicmachines-co/basic-memory bm-checkpoint --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/basicmachines-co/basic-memory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/claude-code/skills/bm-checkpoint .claude/skills/bm-checkpoint && 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
bm-checkpoint
GitHub stars
4.1k
Token cost
~1.5k tokens
SKILL.md length
747 words
Files
1
Skills in repo
49
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Save a deliberate work checkpoint to Basic Memory with the story, changed files, verification, decisions, blockers, and the next action.

  • The user asks to checkpoint
  • SKILL.md covers Gather, Write and Confirm
  • Calls git, claude and gh
  • Remember the state of the work

What it does

Bm Checkpoint is an agent skill from basicmachines-co/basic-memory. Save a deliberate work checkpoint to Basic Memory with the story, changed files, verification, decisions, blockers, and the next action. Use when the user asks to checkpoint, wrap up, hand off, or remember the state of the work.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. The repository describes itself as: AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN. The licence is AGPL-3.0.

When your agent uses it

  • The user asks to checkpoint
  • Remember the state of the work

Example prompts

  • “/bm-checkpoint”

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • claude
    • gh

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

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    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

Bm Checkpoint loads about 1.5k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 747 words of instructions outside code blocks.

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

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 basicmachines-co/basic-memory at commit 6982cfc, republished under its AGPL-3.0 licence (© basicmachines-co). 747 words, ~1,481 tokens.

Download SKILL.mdSave it as .claude/skills/bm-checkpoint/SKILL.md (or your agent's skills folder).
name
bm-checkpoint
description
Save a deliberate work checkpoint to Basic Memory with the story, changed files, verification, decisions, blockers, and the next action. Use when the user asks to checkpoint, wrap up, hand off, or remember the state of the work.
argument-hint
(optional short topic for the checkpoint title)

Checkpoint Claude Work

Create a durable handoff note for the current work. Use this when the user asks to checkpoint, wrap up, hand off, remember the state of the work, or before a long context transition. This is the deliberate, high-signal counterpart to the automatic PreCompact checkpoint.

Gather

Resolve config: read the basicMemory block with the same precedence the hooks use. For the user-level base, append settings.json to the literal value of CLAUDE_CONFIG_DIR when that environment variable is present; do not trim it, expand ~, or treat an empty value as unset. Use ~/.claude/settings.json only when the variable is absent. Then the project's .claude/settings.json and .claude/settings.local.json override it per key:

  • primaryProject, default omitted (Basic Memory's default project)
  • captureFolder, default sessions
  • placementConventions, optional
  • sessionProfile, default general
  • repository, required when sessionProfile is coding

Apply the bm-writing skill before drafting the note.

Gather evidence:

  • the original problem or goal and why it mattered
  • the approach taken and why it solves the problem
  • the current system state and practical impact
  • tradeoffs, sharp edges, useful simplifications, and intentionally parked work
  • the durable lesson, if one exists — what future work should know or avoid
  • git status --short
  • current branch
  • repository root and current working directory
  • current Git SHA
  • current pull request number, title, URL, state, base, and head when one exists
  • changed files you touched
  • tests or checks actually run
  • failures or skipped checks
  • decisions made in this session
  • unresolved blockers
  • next action
  • current username, hostname, and timestamp
  • exact host-provided session identifier, when available; never infer one

Do not claim a test passed unless you ran it or the user supplied the result.

Write

A checkpoint is a durable handoff, not a status dump or commit-by-commit changelog. Tell the story for a human or agent returning later.

Write the note with write_note, routed to primaryProject (pass it as project, or as project_id if it's an external_id UUID). For the general profile:

  • title: Claude checkpoint - <short topic>
  • directory: configured captureFolder
  • tags: ["claude", "checkpoint"]
  • note_type: session
  • metadata (frontmatter):
    • status: open
    • project: <primaryProject if known>
    • cwd: <current cwd>
    • started: <current timestamp>
    • username: <current username>
    • hostname: <current hostname>
    • capture: deliberate
    • agent: claude-code
    • session_id: <exact host-provided session id>, when available

New notes use agent and session_id, not claude_session_id. Existing notes with the legacy field remain valid; do not rewrite them. Session identity is the pair of agent and session ID, never a bare ID shared across hosts.

For the coding profile, write note_type: coding_session (frontmatter type: coding_session) and use the same common frontmatter plus these schema-required fields:

  • repository: <confirmed stable repository identifier>
  • repo_root: <git rev-parse --show-toplevel>
  • cwd: <current cwd>
  • branch: <git rev-parse --abbrev-ref HEAD>
  • git_sha: <git rev-parse HEAD>

When the current branch has a pull request, also add the typed optional fields pull_request_number, pull_request_title, pull_request_url, lowercase pull_request_state, pull_request_base, and pull_request_head. Resolve the pull request with a read-only GitHub query (e.g. gh pr view --json ...); omit those fields when no PR exists. Write the number as a quoted string, for example pull_request_number: "123", so exact metadata queries behave consistently across storage backends. Never infer or copy repository/PR identity only from conversation text. Stop if the required coding fields cannot be proven.

Show full SKILL.md (229 more words)Show less

Begin the body with # <exact note title>.

Use these sections, omitting optional ones that add no value:

  • ## Summary: one concrete sentence that does not merely repeat the title
  • ## Story: problem -> approach -> current state and impact in substantive prose
  • ## Project Memory, when the work surfaced a durable lesson future readers need — the constraint discovered, the boundary made explicit, the shortcut to avoid
  • ## Changed Files, when paths are useful for resuming
  • ## Verification, for checks actually run and their outcomes
  • ## Observations
  • ## Relations, when the session has an obvious graph target

Use observations to distill durable facts for structured recall rather than duplicating every narrative sentence:

  • [result] for concrete outcomes
  • [decision] for each decision made or preserved
  • [blocker] for each unresolved blocker
  • [next_step] for the next concrete action; include at least one
  • [verification] or [changed_file] only when the item is itself important project memory, not merely supporting detail

Do not create separate Decisions, Blockers, or Next Action sections with plain bullets. Omit empty categories instead of writing placeholder text such as "None."

Relations are not observations. Put them under ## Relations using Basic Memory relation syntax, for example - relates_to [[Exact existing note title]]. Never write [relates_to] or a bare memory:// URL as an observation. Only add a relation when its target is an existing task, decision, spec, issue, or PR note.

Confirm

Reply with the permalink and the one next action the checkpoint preserves.

© basicmachines-co, AGPL-3.0. 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 plugins/claude-code/skills/bm-checkpoint of basicmachines-co/basic-memory.

Open the folder on GitHubat commit 6982cfc

Compare with similar skills

Bm Checkpoint 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.

Bm Checkpoint compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bm Checkpoint this skillbasicmachines-co/basic-memory4.1k—~1.5kAutomated safety check: PassAGPL-3.0
MCP Server Builderanthropics/skills180k62 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official37k11 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k34 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers296k2 repos~5.1kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official37k8 repos~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 62 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    37k GitHub starsUsed in 11 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 34 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    296k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    37k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    794 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed

More from basicmachines-co/basic-memory

All 49 skills in this repo
  • cmux Settings Editor

    basicmachines-co/basic-memory

    Views, sets, unsets and validates cmux settings in ~/.config/cmux/cmux.json with a helper script that checks keys against the schema.

    4.1k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • cmux Window and Pane Control

    basicmachines-co/basic-memory

    End-user control of cmux topology and routing (windows, workspaces, panes/surfaces, focus, moves, reorder, identify, trigger flash). Use when automation needs…

    4.1k GitHub starsUsed in 2 repos~842 tokens
    Auto-check passed
  • Cmux Markdown Viewer Panel

    basicmachines-co/basic-memory

    Opens markdown files in a formatted cmux panel beside the terminal that re-renders on every change, handy for plans and task lists.

    4.1k GitHub starsUsed in 2 repos~527 tokens
    Auto-check passed
  • cmux Workspace Scoping

    basicmachines-co/basic-memory

    Keeps agent actions scoped to the cmux workspace and terminal that invoked it, and lays out pane and surface commands that avoid disrupting the user's own focus.

    4.1k GitHub starsUsed in 2 repos~1.7k tokens
    Auto-check passed
  • Basic Memory Repo Images

    basicmachines-co/basic-memory

    Produces PR, changelog and two-week retro images for the Basic Memory repository from evidence in PR bodies, saved to fixed paths under docs/assets/infographics.

    4.1k GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Logfire Instrumentation

    basicmachines-co/basic-memory

    Adds Pydantic Logfire tracing, logging and metrics to Python, JavaScript or TypeScript and Rust projects, with the correct setup order and library extras.

    4.1k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Bm Checkpoint

What does Bm Checkpoint do?

Save a deliberate work checkpoint to Basic Memory with the story, changed files, verification, decisions, blockers, and the next action. Bm Checkpoint is an agent skill from basicmachines-co/basic-memory. Save a deliberate work checkpoint to Basic Memory with the story, changed files, verification, decisions, blockers, and the next action.

When should I use Bm Checkpoint?

Bm Checkpoint fits situations like: the user asks to checkpoint; remember the state of the work.

How do I install Bm Checkpoint in Claude Code?

Run `npx skills add basicmachines-co/basic-memory --skill bm-checkpoint -a claude-code`. Or copy the skill folder (plugins/claude-code/skills/bm-checkpoint in basicmachines-co/basic-memory) into .claude/skills/bm-checkpoint in your project. Claude Code loads it when a task matches its description.

How do I install Bm Checkpoint in Codex?

Run `npx skills add basicmachines-co/basic-memory --skill bm-checkpoint -a codex`. Or copy the skill folder (plugins/claude-code/skills/bm-checkpoint in basicmachines-co/basic-memory) into .agents/skills/bm-checkpoint in your project. Codex loads it when a task matches its description.

Can I use Bm Checkpoint 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 basicmachines-co/basic-memory --skill bm-checkpoint -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bm-checkpoint, .gemini/skills/bm-checkpoint, .github/skills/bm-checkpoint and .opencode/skills/bm-checkpoint in your project.

What does Bm Checkpoint need to run?

Going by SKILL.md and its folder, Bm Checkpoint needs the command-line tools its instructions call (git, claude and gh).

Does Bm Checkpoint access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Bm Checkpoint 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 Bm Checkpoint use?

Bm Checkpoint is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bm Checkpoint use?

About 1.5k tokens (SKILL.md is roughly 5.9k 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 Bm Checkpoint?

Skills that share tags, products or a category with Bm Checkpoint: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 37k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bm Checkpoint?

basicmachines-co (a GitHub organization) maintains it in basicmachines-co/basic-memory, which has 4,107 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 7, 2026.

Source: basicmachines-co/basic-memory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.