home / skills / htlin222 / dotfiles / checkpoint

npx playbooks add skill htlin222/dotfiles --skill checkpoint

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.2 KB
---
name: checkpoint
description: Git checkpoint management - create, list, restore checkpoints. Invoke when starting risky changes or needing safe 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

1. Check if in a git repository
2. Check for uncommitted changes
3. Create a git stash with the name: `claude-checkpoint_YYYYMMDD_HHMMSS: [name]`
4. Confirm the checkpoint creation

### List checkpoints

1. Run `git stash list`
2. Filter stashes that start with `claude-checkpoint`
3. Display in a formatted table:
   - Index (stash@{N})
   - Timestamp
   - Description
   - Number of files changed

### Restore checkpoint

1. Find the stash matching the given name or index
2. Apply the stash with `git stash apply stash@{N}`
3. Do NOT drop the stash (keep it for safety)
4. Report restoration details

### Pop checkpoint

1. Find the recent `claude-checkpoint` stash
2. Apply it with `git stash pop stash@{N}`
3. Report restoration details

### Clear checkpoints

1. List `claude-checkpoint` stashes
2. Ask for confirmation before proceeding
3. Drop each matching stash
4. Report removal count

## Examples

```bash
# 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