Claude-emporium claude-vigil
File checkpoint and recovery — auto-quicksaves before destructive commands, manual checkpoints for safe rollback
install
source · Clone the upstream repo
git clone https://github.com/Vvkmnn/claude-emporium
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Vvkmnn/claude-emporium "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/claude-vigil/skills/claude-vigil" ~/.claude/skills/vvkmnn-claude-emporium-claude-vigil && rm -rf "$T"
manifest:
plugins/claude-vigil/skills/claude-vigil/SKILL.mdsource content
Vigil Plugin
File recovery. Saves checkpoints before dangerous operations, diffs changes, restores files safely.
Hooks
| Hook | When | Action |
|---|---|---|
| PreToolUse(Bash) | Destructive command detected | Auto-quicksaves affected files (rm, mv, git reset, etc.) |
Token cost: 0 on safe commands, ~30-50 on destructive. The regex matches:
rm, rmdir, mv, sed -i, perl -i, git checkout/reset/clean/restore, output redirects.
Commands
| Command | Description |
|---|---|
| Create a named file checkpoint |
| Restore files from a checkpoint |
Workflows
Checkpoint (standalone)
vigil_save(name: "before-refactor", files: ["src/auth.ts", "src/middleware.ts"])- Make changes safely
- If something breaks:
vigil_restore(name: "before-refactor")
Checkpoint (with siblings)
vigil_save(name: "before-refactor", files: [...])- If praetorian active: also
to save the reasoningpraetorian_compact(type: "decisions", ...) - Make changes — both files and context are now protected
- If something breaks:
— restore filesvigil_restore(name: "before-refactor")
— restore contextpraetorian_restore("before-refactor")
Recovery (standalone)
— see available checkpointsvigil_list()
— preview what would changevigil_diff(name: "checkpoint")
— restore filesvigil_restore(name: "checkpoint")- Optionally:
— clean upvigil_delete(name: "checkpoint")
Recovery (with siblings)
— see available checkpointsvigil_list()
— preview changesvigil_diff(name: "checkpoint")- If historian active:
to understand what changed and whyfind_file_context("filename")
— restore filesvigil_restore(name: "checkpoint")- If praetorian active: restore matching compaction for context
Sibling Synergy
| Sibling | Value | How |
|---|---|---|
| Praetorian | Context saved alongside files | Pair vigil checkpoints with praetorian compactions for full state recovery |
| Historian | File change context from history | explains what happened between checkpoint and now |
MCP Tools Reference
| Tool | Purpose |
|---|---|
| Create named checkpoint (SHA-256 + gzip dedup) |
| List available checkpoints with metadata |
| Preview changes since checkpoint |
| Restore files from checkpoint |
| Remove a checkpoint and free storage |
Storage
Content-addressable at
.claude/vigil/. 3 named slots + 1 rotating ~quicksave.
Requires
claude mcp add vigil -- npx claude-vigil-mcp