Skip to content
Back to skills

Checkpoint

ASecurity

Use to end a chat at a phase boundary rather than let compaction hit mid-work: writes CHECKPOINT.local.md, an untracked handout the next chat reads and deletes. Runs only at the end of open-sprint, dynamic-workflow and project-init, or on the user's request. Invokable directly or via /checkpoint.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 30, 2026
ai-agentsgogit

Security analysis

A100/100

Scanned September 30, 2026

npx -y skills add voxlo-dev/Lean-Coding-Workspace --skill checkpoint --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Checkpoint?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Checkpoint
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/voxlo-dev-checkpoint/badge)](https://www.skillsdirectory.com/skills/voxlo-dev-checkpoint)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: checkpoint
description: "Use to end a chat at a phase boundary rather than let compaction hit mid-work: writes CHECKPOINT.local.md, an untracked handout the next chat reads and deletes. Runs only at the end of open-sprint, dynamic-workflow and project-init, or on the user's request. Invokable directly or via /checkpoint."
---

# Checkpoint

At a phase boundary a context reset is cheap — the next phase reads other files anyway — while compaction hits mid-work and summarises everything generically. So: hand over a few lines, then start a fresh chat — at the boundaries the description names or on request, never on your own initiative.

**Write last**, after the phase's final commit: `CHECKPOINT.local.md` in the repo root, overwritten, English. It stays untracked (`project-init` owns the gitignore) and the project's instruction file — the shim `project-init` installs from `{home}/adapter/project/`, where the target needs one — imports it whole into the next session, which is why it stays short.

## Content

**Max 25 lines, fewer is better.** Four blocks:

- **Frame** — sprint slug, branch, phase just finished. One line.
- **Pick up here** — the next action, plus the paths worth opening first.
- **The user's own words** — every message of theirs carrying feature substance that no file states: scope calls, answers to questions asked this chat, a preference dropped in passing. **Quote verbatim**, and never filter by "the next chat can just ask" — making the user answer twice is the drift this stops. Doesn't count against the cap.
- **Chat-only residue** — why the run deviated from its spec, dead ends not worth retrying, open questions.

**Out: anything a surviving file already says** — board, tickets, spec, docs, commit messages. Link the path, never paraphrase. A fact with a durable home goes there first (decision → `docs/decisions.md`, learning → `maintain-memory`, later work → a ticket) and is not repeated here.

Applied honestly the last block is often empty, the user's words rarely. Nothing left at all → write nothing and say so; a handout restating files is pure cost.

Finally, set the chat title where the selected harness exposes that capability; otherwise skip it. Then tell the user to continue in a **new chat**; the handout only pays off if the context resets.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.