File checkpoint and recovery — auto-quicksaves before destructive commands, INVOKE before implementing a plan or starting risky multi-file changes. Also use when user asks to undo changes or compare current state to a prior checkpoint.
From claude-vigilnpx claudepluginhub vvkmnn/claude-emporium-beta --plugin claude-vigilThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
File recovery. Saves checkpoints before dangerous operations, diffs changes, restores files safely.
| Hook | When | Action |
|---|---|---|
| PreToolUse(Bash) | Destructive command detected | Auto-quicksaves affected files (rm, mv, git reset, etc.) |
Token cost: 0 on safe commands, ~30 on destructive.
| Command | Description |
|---|---|
/save-vigil <name> [files] | Create a named file checkpoint |
/restore-vigil [name] | Restore files from a checkpoint |
After exiting plan mode, before writing any code:
vigil_save(name="before-<plan-name>") — snapshot the projectvigil_diff(name="before-<plan-name>") then vigil_restore(name="before-<plan-name>")Before refactors or multi-file changes:
vigil_save(name="before-refactor") — named checkpointvigil_diff first, then vigil_restoreAlways diff before restoring:
vigil_list() — see available checkpointsvigil_diff(name="checkpoint") — preview what would changevigil_restore(name="checkpoint") — restore files.claude/vigil/artifacts/Vigil has 3 named slots + 1 rotating ~quicksave:
~quicksave is ONE rotating slot — overwritten on each destructive commandvigil_list() periodically to check capacityvigil_delete(name="oldest")vigil_restore preserves displaced files in .claude/vigil/artifacts/ — ask the user before cleaning those up| Tool | Purpose |
|---|---|
vigil_save | Create named checkpoint (SHA-256 + gzip dedup) |
vigil_list | List available checkpoints with metadata |
vigil_diff | Preview changes since checkpoint |
vigil_restore | Restore files from checkpoint |
vigil_delete | Remove a checkpoint and free storage |
claude mcp add vigil -- npx claude-vigil-mcp