Spec checkpoint
Create a comprehensive checkpoint commit with detailed analysis of all changes. Use this skill when the user says "checkpoint", "commit everything", "save my progress", "create a commit", or wants to stage and commit all current changes with a well-crafted message. Also use when the user says "/spec-checkpoint" (or their host's equivalent invocation syntax) or asks to snapshot current work. This skill stages all changes and creates a descriptive commit — it does not push.From its SKILL.md
npx -y skills add benjaminthomas/spec-driven-dev --skill spec-checkpointAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.7 KB, as published. Nobody here has run it
Checkpoint Commit
Create a checkpoint commit that captures all current changes — but only after the code passes lint, type check, and build.
Instructions
Step 1: Analyze Changes
Run these commands to understand the full picture:
git status— see all tracked and untracked filesgit diff— see detailed changes in tracked filesgit diff --cached— see already-staged changesgit log -5 --oneline— understand this repo's commit message style
Step 2: Quality Checks
Run all three checks. If any fail, fix the issues before proceeding — do not skip or ignore failures.
npm run lint— fix any lint errorsnpm run type-check— fix any type errors (if the script doesn't exist, trynpx tsc --noEmit)npm run build— fix any build errors
Iterate until all three pass cleanly. Only then move to the next step.
Step 3: Stage Everything
Stage all changes — tracked modifications, deletions, and new untracked files:
git add -A
Then review git status again. If anything staged looks like it could hold secrets —
.env*, *.pem, *_rsa, credentials.json, secrets.*, or an unfamiliar filename that might
contain an API key — unstage it (git restore --staged <file>) and tell the user what was
excluded and why, rather than committing it silently. Don't rely on the filename alone for
anything you don't recognize; skim its diff if you're unsure.
Step 4: Craft the Commit Message
Write a commit message following the project's existing conventions (observed from git log). Structure:
- First line: clear, concise summary in imperative mood (50-72 chars)
- Use conventional commit prefixes where the project uses them:
feat:,fix:,refactor:,docs:,chore:, etc.
- Use conventional commit prefixes where the project uses them:
- Body (separated by blank line): a short TL;DR of the changes — 1-3 sentences max. No bullet lists, no file-by-file breakdowns, no lengthy explanations.
- Footer: co-author attribution, naming whichever agent/model is actually running this skill — never hardcode a specific vendor or model name, since this skill runs under many different hosts
Step 5: Commit
Create the commit using a heredoc for proper formatting:
git commit -m "$(cat <<'EOF'
{first line}
{tldr}
Co-Authored-By: {agent name} <[email protected]>
EOF
)"
Fill in {agent name} with whatever the current agent/model actually identifies as (e.g. "Claude", "Codex", "Cursor Agent") — if your host has no clean way to identify itself, omit the footer entirely rather than guessing.
Step 6: Report
Display:
- The commit hash and message summary
- Files changed count
- Insertions/deletions summary
Important
- Stage and commit everything except files that look like secrets or credentials (see Step 3) — check contents, not just filenames, before assuming something is safe to commit
- If the repo has no git history, run
git initfirst - All quality checks (lint, type-check, build) MUST pass before committing — fix issues, don't skip them
- Keep the commit body short — a TL;DR, not an essay
- Follow the project's existing commit conventions (check the log first)
- Do not push — only commit locally