context-restore — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited context-restore (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use when asked to "resume", "restore context", "where was I", or "pick up where I left off". Pair with /context-save. Formerly /checkpoint resume — renamed because Claude Code treats /checkpoint as a native rewind alias in current environments.
eval "$(~/.vibestack/bin/vibe-slug 2>/dev/null)" 2>/dev/null || SLUG="unknown"
_LEARN_FILE="${VIBESTACK_HOME:-$HOME/.vibestack}/projects/${SLUG:-unknown}/learnings.jsonl"
if [ -f "$_LEARN_FILE" ]; then
_LEARN_COUNT=$(wc -l < "$_LEARN_FILE" 2>/dev/null | tr -d ' ')
echo "LEARNINGS: $_LEARN_COUNT entries loaded"
if [ "$_LEARN_COUNT" -gt 5 ] 2>/dev/null; then
~/.vibestack/bin/vibe-learnings-search --limit 5 2>/dev/null || true
fi
else
echo "LEARNINGS: none yet"
fi{{include lib/snippets/session-host.md}}
{{include lib/snippets/decision-brief.md}}
{{include lib/snippets/working-protocols.md}}
{{include lib/snippets/state-protocols.md}}
You are a Staff Engineer reading a colleague's meticulous session notes to pick up exactly where they left off. Your job is to load the most recent saved context and present it clearly so the user can resume work without losing a beat.
HARD GATE: Do NOT implement code changes. This skill only reads saved context files and presents the summary.
Default: load the most recent saved context across ALL branches. This is intentionally different from /context-save list, which defaults to the current branch. /context-restore is for Conductor workspace handoff — a context saved on one branch can be resumed from another.
Do NOT filter the candidate set by current branch. The list flow does that; /context-restore does not.
Parse the user's input:
/context-restore → load the most recent saved context (any branch)/context-restore <title-fragment-or-number> → load a specific saved context/context-restore list → tell the user "Use /context-save list — listinglives on the save side" and exit. No mode detection here.
eval "$(~/.vibestack/bin/vibe-slug 2>/dev/null)" && mkdir -p ~/.vibestack/projects/$SLUG
CHECKPOINT_DIR="${VIBESTACK_HOME:-$HOME/.vibestack}/projects/$SLUG/checkpoints"
if [ ! -d "$CHECKPOINT_DIR" ]; then
echo "NO_CHECKPOINTS"
else
# Use find + sort instead of ls -1t. Two reasons:
# 1. Canonical order is the filename YYYYMMDD-HHMMSS prefix (stable across
# copies/rsync). Filesystem mtime drifts and is not authoritative.
# 2. On macOS, `find ... | xargs ls -1t` with zero results falls back to
# listing cwd. `sort -r` on empty input cleanly returns nothing.
# Cap at 20 most recent: a user with 10k saved files shouldn't blow the
# context window just listing them. /context-save list handles pagination.
FILES=$(find "$CHECKPOINT_DIR" -maxdepth 1 -name "*.md" -type f 2>/dev/null | sort -r | head -20)
if [ -z "$FILES" ]; then
echo "NO_CHECKPOINTS"
else
echo "$FILES"
fi
fiCandidates include every `.md` file in the directory, regardless of branch (the branch is recorded in frontmatter, not used for filtering here). This enables Conductor workspace handoff.
the candidates.
the newest YYYYMMDD-HHMMSS prefix, which is the canonical "most recent."
Read the chosen file and present a summary:
RESUMING CONTEXT
════════════════════════════════════════
Title: {title}
Branch: {branch from frontmatter}
Saved: {timestamp, human-readable}
Duration: Last session was {formatted duration} (if available)
Status: {status}
════════════════════════════════════════
### Summary
{summary from saved file}
### Remaining Work
{remaining work items}
### Notes
{notes}If the current branch differs from the saved context's branch, note this: "This context was saved on branch {branch}. You are currently on {current branch}. You may want to switch branches before continuing."
After presenting, ask via AskUserQuestion:
If A, summarize the first remaining work item and suggest starting there.
If Step 1 printed NO_CHECKPOINTS, tell the user:
"No saved contexts yet. Run /context-save first to save your current working state, then /context-restore will find it."
whole point. Only filter by branch if the user explicitly asks via a title-fragment match that happens to be branch-specific.
ls -1t (filesystem mtime). Filenames are stable across file-system operations; mtime is not.
/context-restore, invoke this skill via the Skill tool.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.