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
Create checkpoint before risky changes
/checkpoint create "before refactoring auth module"
List checkpoints
/checkpoint list
Restore if something went wrong
/checkpoint restore "before refactoring auth module"
Quick restore of the recent one
/checkpoint pop
Clean up old checkpoints
/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