checkpoint
Skill41 starsChanged 18 days agoMITView on GitHub
Close a session once: daily log, fact reconciliation (master files, project docs, memory), selective commit/push, and remote verification. Use for /checkpoint, end of session, save, push, commit and push. Full: full reconciliation, knowledge sync, memory cleanup. Lite mode: inline, no subagent, for sessions already kept in sync.
91 other projects use a version of this.
Adopted by
Most recently taken up by
- TheLunchTrae/claude-code-configstheir own version, first seen Nov 8, 2026
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
- pedrohcgs/claude-code-my-workflowtheir own version, first seen Nov 7, 2026
- flonat/flonat-researchtheir own version, first seen Nov 3, 2026
- jboczek/skillstheir own version, first seen Nov 1, 2026
- AhmedMerza/claude-skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use aside, spinoff and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
TheKREATORSSkillaside
Answer a quick side question without interrupting or losing context from the current task. Resume work automatically after answering.
Also in 3 projects that use this
AhmedMerzaSkillspinoff
After a branch is finished, harvest the work it made CHEAP — the helper you wrote that four other sites now hand-roll, the plumbing that turned a deferred feature small, the pattern that just split the codebase in two. Produces a follow-up backlog (0–3 candidates, feeding /issue), NEVER commits on the current branch. Invoke with /spinoff at the tail of the chain — after /fix-review has settled the review findings, before the MR merges — or when the user asks \"what else should we do while we're here / what did this unlock / anything to follow up on\". This is ship-check's optional twin — that finds what's MISSING and blocks the merge; this finds what's now CHEAP and blocks nothing. Restraint-gated: \"nothing spun off\" is the common and correct answer, and a finding that would have been equally valid before this branch is not a finding.
Also in 3 projects that use this
TheKREATORSSkillinstinct-export
Export instincts from project/global scope to a file
Also in 3 projects that use this
seek888Skillopen-gstack-browser
Launch GStack Browser — AI-controlled Chromium with the sidebar extension baked in. Opens a visible browser window where you can watch every action in real time. The sidebar shows a live activity feed and chat. Anti-bot stealth built in. Use when asked to "open gstack browser", "launch browser", "connect chrome", "open chrome", "real browser", "launch chrome", "side panel", or "control my browser". Voice triggers (speech-to-text aliases): "show me the browser".
Also in 5 projects that use this
diego-tobalinaSkillbuild-fix
Fix build and compilation errors systematically. Run when build fails.
Also in 5 projects that use this
seek888Skilldesign-html
Design finalization: generates production-quality Pretext-native HTML/CSS. Works with approved mockups from /design-shotgun, CEO plans from /plan-ceo-review, design review context from /plan-design-review, or from scratch with a user description. Text actually reflows, heights are computed, layouts are dynamic. 30KB overhead, zero deps. Smart API routing: picks the right Pretext patterns for each design type. Use when: "finalize this design", "turn this into HTML", "build me a page", "implement this design", or after any planning skill. Proactively suggest when user has approved a design or has a plan ready. (gstack) Voice triggers (speech-to-text aliases): "build the design", "code the mockup", "make it real".
Also in 5 projects that use this
- +2 more from TheKREATORS
- +2 more from seek888
Other versions91 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 91
- pedrohcgs/claude-code-my-workflow★ 1.7ksame name
- codewithmukesh/dotnet-claude-kit★ 808same name
- leonvanzyl/agentic-coding-starter-kit★ 447same name
- myICOR/myPKA★ 319same name
- hsantanna88/clo-author★ 262same name
- hugosantanna/clo-author★ 262same name
- sterlingcrispin/claude_slash_commands★ 200same name
- flonat/flonat-research★ 150same name
- josipjelic/orchestrated-project-template★ 96same name
- panayiotism/claude-harness★ 79same name
81 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 85 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 24
Use the current platform's task/plan mechanism to build one closure plan, and only one.
- Distinctive: line 27
Check git status --porcelain, git diff --stat HEAD, and the current branch for the current repo (and any other project roots you touched, …
- Very specific: line 29
Write-manifest: if the write-manifest hook is installed, read ~/.claude/state/write-manifests/<session-id>.list (the files this session's …
- Distinctive: line 58
If sync edits were made, spot-read 1–2 of the files it claims to have changed.
- Distinctive: line 75
No force push; no blind git add -A.
“Common” is measured: kept by at least 6 in 10 of the 85 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Checkpoint — the single closure entry point
checkpoint is the single closure entry point. Its fact-reconciliation engine lives in references/sync-protocol.md (neat-freak was merged into this skill on 2026-10-25).
Modes
scoped(default): write the daily log once; run a targeted reconciliation only if there's a fact list, then commit + push.full: the user typed/checkpoint full, or asked for a full reconciliation, knowledge sync, memory cleanup, or a full closure (formerly/neat-freak) — run the complete GATE reconciliation before commit + push.lite: the user asks for/checkpoint liteor lite mode, or the session qualifies for the automatic downgrade (below). The main thread finishes it directly — no subagent, no manifest. See §0.git-only: only when the user explicitly says no log / no sync.
0. Lite mode
Lite applies when the user asks for it, or automatically when the fact list is empty and 5 or fewer files are attributable to this session. A closure that small isn't worth a subagent round-trip: the main thread can finish it in a handful of commands, and delegating costs far more than it saves. Read references/lite.md in full before you start: it holds the exact criteria, the conditions that send you back to scoped, and the steps.
1. The main thread builds the closure manifest exactly once
Use the current platform's task/plan mechanism to build one closure plan, and only one.
- Get the date and timezone with
date. - Check
git status --porcelain,git diff --stat HEAD, and the current branch for the current repo (and any other project roots you touched, including your notes folder). - Work out which files belong to this session (the
attributionfield of the manifest):- Write-manifest: if the
write-manifesthook is installed, read~/.claude/state/write-manifests/<session-id>.list(the files this session's edit tools touched) and note the edit-log path~/.claude/state/edit-logs/<session-id>.jsonl. No hook, or an old session it never recorded →attribution: conversational(judge by reading diffs, and say in warnings that nothing verified it). - Bash writes: the manifest only sees edit tools. Files written by a shell heredoc,
sed -i,cp, a script, or by a subagent on your behalf are not in it. Runpython3 <checkpoint-skill-dir>/scripts/bash-writes.py <session-id> [--after <time of the last checkpoint>]to list candidates (it reads the session transcript, so the list survives context compaction). Drop false positives (a script that only read the file), and add from memory only what the script can't see, such as files written inside a script you wrote or output from an external CLI. After several compactions, memory alone will miss files. Put the result underattribution.bash_writes. This script reads Claude Code transcripts under~/.claude/projects/; on other platforms, list those files by hand. - The manifest proves "I changed this", not "only I changed this." If you keep an opening snapshot (a copy of
git status --porcelaintaken when the session began), check every candidate against it: a file that was already modified (M) at the start goes on a hold list instead ofattributable_files. You may write to it, but you must notgit addit whole. Without that check, a subagent following the manifest will commit another session's unfinished work along with yours. No snapshot? Treat every dirty file in the manifest as possibly shared and route it throughscripts/stage-own-edits.shin the closure step, which stages only this session's edits.
- Write-manifest: if the
- Review the whole conversation once, producing:
session_summary: 0–3 items each of what was completed / decided / any pitfalls hit.fact_list: facts that changed → the files they affect; not just a list of touched files.daily_entries: the condensed content to write into the daily log.todo_closeouts: todos in your master files that this session finished or moved forward, each with what to change (mark done with today's date, rewrite the remaining step, or list it in warnings). Follow the rule inreferences/lite.mdstep 2. If the only thing missing is a decision from the user, ask in the conversation before closing out; don't open a new todo for it.repos: repo, branch, attributable files (perattribution; memory only fills inbash_writes), tests run.coverage: every changed file, and every external action / scheduled item / payment / todo change, must be taggedfact_delta: yes(linked to the fact list) orfact_delta: no(with a one-line reason). Anything left unclassified blocks delegation.lessons: the main thread does this before delegating, because a worker can't see the conversation. Readreferences/lessons.mdto decide whether it applies; if its triggers aren't met, writenone. If they are, follow that file: propose first, wait for the user's approval, apply and commit, and only then delegate. Anything already saved during the conversation is listed, not redone.
- Compare against today's daily log, recent commits, and the current file state; if another session already wrote the same content more recently, mark
daily_action: skip_duplicate— don't duplicate or backfill it. - The manifest must include
mode,memory_mode,attribution, the checkpoint skill folder, the memory folder, your notes root, and every project folder being closed out.
memory_mode defaults to read-only; it's update in full mode, or when the user explicitly asked for memory sync or memory cleanup.
2. Execute exactly once
Hand the manifest to a fresh-context, general-purpose bounded subagent:
- Codex: use
fork_turns: "none", prompt carries only the manifest and this file's path. - Claude Code: use a fresh general-purpose Agent subagent on a small, cheap model (for example
model: "haiku"), and run it in the foreground (run_in_background: false). When it was dispatched in the background, its final report never made it back to the main thread, and only the reply to a follow-up question did. The subagent won't see the main thread's conversation history but still loads applicable CLAUDE.md and permissions. If that model is too weak to follow the protocol, usemodel: "sonnet". The delegation prompt carries only the manifest and this file's path.
The first instruction must tell it to read references/closure-protocol.md in full, and not spawn any further subagents. If the platform has no subagent support, or the task is a single-repo git-only, the main thread follows that protocol directly.
3. Main-thread verification
A subagent's report is a claim, not a fact:
- If sync edits were made, spot-read 1–2 of the files it claims to have changed.
- Confirm each item appears in the daily log exactly once: grep a key phrase from each
daily_entriesitem in today's daily log. A worker can report the log as written while the write never happened, and the same item must not show up twice. - Per repo, check the reported hash,
git log -1 --oneline, andHEAD == origin/<current-branch>. - Recheck
git status --short: changes attributable to this session should be closed out; unrelated or concurrent changes should be left untouched and listed.
Condensed report
daily: written | skipped (<reason>)
sync: skipped | scoped | full (<GATE result>)
commit: <repo> <hash> | clean
vault: <hash> | clean | preserved unrelated changes
pushed: <branches>
lessons: none | <n> saved (where), <k> logged as repeat mistakes, <m> waiting on you
warnings: none | <items>No force push; no blind git add -A; never sweep unattributable changes in just to make things look clean.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

