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.md
source content

Vigil Plugin

File recovery. Saves checkpoints before dangerous operations, diffs changes, restores files safely.

Hooks

HookWhenAction
PreToolUse(Bash)Destructive command detectedAuto-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

CommandDescription
/save-vigil <name> [files]
Create a named file checkpoint
/restore-vigil [name]
Restore files from a checkpoint

Workflows

Checkpoint (standalone)

  1. vigil_save(name: "before-refactor", files: ["src/auth.ts", "src/middleware.ts"])
  2. Make changes safely
  3. If something breaks:
    vigil_restore(name: "before-refactor")

Checkpoint (with siblings)

  1. vigil_save(name: "before-refactor", files: [...])
  2. If praetorian active: also
    praetorian_compact(type: "decisions", ...)
    to save the reasoning
  3. Make changes — both files and context are now protected
  4. If something breaks:
    • vigil_restore(name: "before-refactor")
      — restore files
    • praetorian_restore("before-refactor")
      — restore context

Recovery (standalone)

  1. vigil_list()
    — see available checkpoints
  2. vigil_diff(name: "checkpoint")
    — preview what would change
  3. vigil_restore(name: "checkpoint")
    — restore files
  4. Optionally:
    vigil_delete(name: "checkpoint")
    — clean up

Recovery (with siblings)

  1. vigil_list()
    — see available checkpoints
  2. vigil_diff(name: "checkpoint")
    — preview changes
  3. If historian active:
    find_file_context("filename")
    to understand what changed and why
  4. vigil_restore(name: "checkpoint")
    — restore files
  5. If praetorian active: restore matching compaction for context

Sibling Synergy

SiblingValueHow
PraetorianContext saved alongside filesPair vigil checkpoints with praetorian compactions for full state recovery
HistorianFile change context from history
find_file_context()
explains what happened between checkpoint and now

MCP Tools Reference

ToolPurpose
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

Storage

Content-addressable at

.claude/vigil/
. 3 named slots + 1 rotating
~quicksave
.

Requires

claude mcp add vigil -- npx claude-vigil-mcp