| name | checkpoint |
| description | Git checkpoint management. Use when starting risky changes or needing recovery points. |
| allowed-tools | Bash, Read, Write, Glob |
Git checkpoint system
Manage git checkpoints (stashes) for safe code exploration and recovery.
When to invoke
- Before making risky changes or refactoring
- When you want a quick save point without committing
- To restore previous state after experiments fail
- To maintain multiple work-in-progress states
Usage
/checkpoint create [name] # Create a named checkpoint
/checkpoint list # List checkpoints
/checkpoint restore [name] # Restore a specific checkpoint
/checkpoint pop # Restore the most recent checkpoint
/checkpoint clear # Remove checkpoints
Instructions
Create checkpoint
- Check if in a git repository
- Check for uncommitted changes
- Create a git stash with the name:
claude-checkpoint_YYYYMMDD_HHMMSS: [name]
- Confirm the checkpoint creation
List checkpoints
- Run
git stash list
- Filter stashes that start with
claude-checkpoint
- Display in a formatted table:
- Index (stash@{N})
- Timestamp
- Description
- Number of files changed
Restore checkpoint
- Find the stash matching the given name or index
- Apply the stash with
git stash apply stash@{N}
- Do NOT drop the stash (keep it for safety)
- Report restoration details
Pop checkpoint
- Find the recent
claude-checkpoint stash
- Apply it with
git stash pop stash@{N}
- Report restoration details
Clear checkpoints
- List
claude-checkpoint stashes
- Ask for confirmation before proceeding
- Drop each matching stash
- Report removal count
Examples
/checkpoint create "before refactoring auth module"
/checkpoint list
/checkpoint restore "before refactoring auth module"
/checkpoint pop
/checkpoint clear
Notes
- Checkpoints rely on git stash under the hood
- Include untracked files in checkpoints
- Checkpoints persist across sessions
- Apply descriptive names for identification