context-restore
Skill0 starsChanged 4 months agoMITView on GitHub
Restore working context saved earlier by /context-save. Loads the most recent saved state (across all branches by default) so you can pick up where you left off — even across Conductor workspace handoffs. 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.
24 other projects use a version of this, 11 of them edited.
Adopted by
Most recently taken up by
- timurgaleev/vibestackedited, first seen Nov 8, 2026
- jggomez/expert-ai-developer-skillstheir own version, first seen Nov 6, 2026
- torifo/skills-context-continuitytheir own version, first seen Oct 29, 2026
- trungtm78/ClaudeSkillsedited, first seen Oct 25, 2026
- ignavm1/claude-skillstheir own version, first seen Oct 13, 2026
- manastalukdar/ai-devstudiotheir own version, first seen Oct 13, 2026
Used with
Projects with it also use ios-clean, ios-fix and 5 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Saqlain-811Skillios-clean
Remove the DebugBridge SPM package and all #if DEBUG wiring from an iOS app. (gstack)
Also in 5 projects that use this
Saqlain-811Skillios-fix
Autonomous iOS bug fixer. (gstack)
Also in 5 projects that use this
timurgaleevSkilldocument-generate
Generate missing docs for a feature, module or project as tutorials, how-tos, reference and explanation.
Also in 7 projects that use this
bastosSkillios-design-review
Review iOS app UI/UX design quality using Apple's design principles and the Liquid Glass-era design language from WWDC25/26. Use when asked for a design review, UX critique, visual design assessment, or evaluation of an app's interface quality, design intent, alignment with the new Apple design system, or usability. Triggers: "design review", "UX review", "visual design critique", "review the UI", "does this design work", "evaluate this interface", "design feedback", "Liquid Glass review".
Also in 5 projects that use this
johnlindquistSkilldiagram
Maintain and synchronize Unified Impact Diagrams following Diagram Driven Development (DDD) methodology. Create, update, and manage diagrams that connect user value to technical implementation.
Also in 4 projects that use this
- +2 more from Saqlain-811
Other versions24 projects use a version of this.
Word for word · 0
None found.
Edited · 11
- timurgaleev/vibestack★ 820% same
- GTMify/claude-skills-starter★ 221% same
- HanksChen0110/skills★ 222% same
- chloropine/cgstack★ 120% same
- jpoindexter/theft-kit★ 121% same
- leishifu666/skills★ 117% same
- mahiunfiltered/claude-code-skills★ 121% same
- Saqlain-811/Claude-Skills★ 016% same
- ShreyRavi/shrey-os★ 019% same
- smk-labs/gstack★ 021% same
1 more not listed
Wrote their own version · 13
- garrytan/gstack★ 141ksame name
- jggomez/expert-ai-developer-skills★ 31same name
- Quarktex/qcobrain★ 4same name
- IyedBecheikh/bstack★ 1same name
- manastalukdar/ai-devstudio★ 1same name
- nileshteji/skills★ 1same name
- Biznomad/claude-skills★ 0same name
- chriswestt/claude-skills★ 0same name
- greenharborlabs/claude-skills★ 0same name
- ignavm1/claude-skills★ 0same name
3 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository55 other files it gives its agents.
- AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- src/AGENTS.mdAGENTS.md
- .cursor/rules/publish-version-bump.mdcCursor rule
- .cursor/rules/release-version-sync.mdcCursor rule
- antigravitySkill
- auditSkill
- autoplanSkill
- bootstrapSkill
- brainstormSkill
- browseSkill
- ceo-reviewSkill
- clarifySkill
- cleanupSkill
- code-reviewSkill
- codexSkill
- component-inventorySkill
- context-saveSkill
- critiqueSkill
- cronSkill
- csoSkill
- cursorSkill
- debugSkill
- deepen-planSkill
- design-reviewSkill
- devex-reviewSkill
- document-reviewSkill
- eng-reviewSkill
- executing-plansSkill
- fableSkill
- finishSkill
- frontend-designSkill
- grill-meSkill
- grokSkill
- implementSkill
- learnSkill
- office-hoursSkill
- onboardSkill
- plan-design-reviewSkill
- planSkill
- polishSkill
- qaSkill
- reviewSkill
- shipfastSkill
- shipthoroughSkill
- simplifySkill
- specSkill
- statusSkill
- subagent-driven-developmentSkill
- test-driven-developmentSkill
- ui-auditSkill
- ui-ux-pro-maxSkill
- using-git-worktreesSkill
- verification-before-completionSkill
- writing-plansSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. 0 are common, 13 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 18 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 29
If you are running this skill in Codex, read ../references/codex-compatibility.md before following host-specific tool instructions.
- Very specific: line 54
Rule: if any mcp__*__AskUserQuestion variant is in your tool list, prefer it.
- Distinctive: line 60
Every AskUserQuestion is a decision brief and must be sent as tool_use, not prose.
- Distinctive: line 93
Non-ASCII characters — write directly, never \u-escape: When any string field (question, option label, option description) contains …
- Very specific: line 95
Only JSON-mandatory escapes remain allowed: \n, \t, \", \\.
- Distinctive: line 99
Before calling AskUserQuestion, verify:
- Distinctive: line 120
Never corporate, academic, PR, or hype.
- Distinctive: line 121
No em dashes. No AI vocabulary: delve, crucial, robust, comprehensive, nuanced, multifaceted, furthermore, moreover, additionally, pivotal, …
- Distinctive: line 133
Use short sentences, concrete nouns, active voice.
- Very specific: line 144
When options differ in coverage, include Completeness: X/10 (10 = all edge cases, 7 = happy path, 3 = shortcut).
- Distinctive: line 154
If you are looping on the same diagnostic, same file, or failed fix variants, stop and reassess.
- Distinctive: line 162
Always flag anything that looks wrong — one sentence, what you noticed and its impact.
- Distinctive: line 172
HARD GATE: Do NOT implement code changes.
- Distinctive: line 229
If the user specified a title fragment or number: find the matching file among the candidates.
- Distinctive: line 234
Read the chosen file and present a summary:
- Very specific: line 256
If the current branch differs from the saved context's branch, note this: "This context was saved on branch {branch}.
- Distinctive: line 262
After presenting, ask via AskUserQuestion:
- Distinctive: line 268
If A, summarize the first remaining work item and suggest starting there.
- Very specific: line 274
If Step 1 printed NO_CHECKPOINTS, tell the user:
- Very specific: line 290
This is a Soloship skill, not a Claude Code built-in: When the user types /context-restore, invoke this skill via the Skill tool.
“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Host Compatibility
If you are running this skill in Codex, read ../references/codex-compatibility.md before following host-specific tool instructions. Claude Code should continue to use the Claude-specific tools and command wrappers described here.
<!-- Vendored from gstack v1.12.1.0 (Garry Tan). See skills/vendored/gstack/LICENSE. --><!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly --><!-- Regenerate: bun run gen:skill-docs -->Soloship preamble (run first)
# Static defaults — Soloship is non-coder-first, so terse prose is the default.
# Sections below self-gate on these echoes. No external binary calls.
echo "EXPLAIN_LEVEL: terse"
echo "QUESTION_TUNING: false"
echo "BRANCH: $(git branch --show-current 2>/dev/null || echo 'unknown')"
echo "REPO_MODE: ${REPO_MODE:-solo}"_BRANCH is captured for use in AskUserQuestion grounding sentences. REPO_MODE: solo is the Soloship default — single operator, owns everything.
AskUserQuestion Format
Tool resolution (read first)
"AskUserQuestion" can resolve to two tools at runtime: the host MCP variant (e.g. mcp__conductor__AskUserQuestion — appears in your tool list when the host registers it) or the native Claude Code tool.
Rule: if any mcp__*__AskUserQuestion variant is in your tool list, prefer it. Hosts may disable native AUQ via --disallowedTools AskUserQuestion (Conductor does, by default) and route through their MCP variant; calling native there silently fails. Same questions/options shape; same decision-brief format applies.
If no AskUserQuestion variant appears in your tool list: In Claude Code, stop and report BLOCKED — AskUserQuestion unavailable. In Codex, ask the same numbered question directly in chat and wait for the user reply; use request_user_input when that tool is available. Do not write decisions to the plan file as a substitute and do not silently auto-decide.
Format
Every AskUserQuestion is a decision brief and must be sent as tool_use, not prose.
D<N> — <one-line question title>
Project/branch/task: <1 short grounding sentence using _BRANCH>
ELI10: <plain English a 16-year-old could follow, 2-4 sentences, name the stakes>
Stakes if we pick wrong: <one sentence on what breaks, what user sees, what's lost>
Recommendation: <choice> because <one-line reason>
Completeness: A=X/10, B=Y/10 (or: Note: options differ in kind, not coverage — no completeness score)
Pros / cons:
A) <option label> (recommended)
✅ <pro — concrete, observable, ≥40 chars>
❌ <con — honest, ≥40 chars>
B) <option label>
✅ <pro>
❌ <con>
Net: <one-line synthesis of what you're actually trading off>D-numbering: first question in a skill invocation is D1; increment yourself. This is a model-level instruction, not a runtime counter.
ELI10 is always present, in plain English, not function names. Recommendation is always present. Keep the (recommended) label.
Completeness: use Completeness: N/10 only when options differ in coverage. 10 = complete, 7 = happy path, 3 = shortcut. If options differ in kind, write: Note: options differ in kind, not coverage — no completeness score.
Pros / cons: use ✅ and ❌. Minimum 2 pros and 1 con per option when the choice is real; minimum 40 characters per bullet. Hard-stop escape for one-way/destructive confirmations: ✅ No cons — this is a hard-stop choice.
Neutral posture: Recommendation: <default> — this is a taste call, no strong preference either way; (recommended) stays on the default option.
Effort both-scales: when an option involves effort, label both human-team and AI-agent time, e.g. (human: ~2 days / AI: ~15 min). Makes AI compression visible at decision time.
Net line closes the tradeoff. Per-skill instructions may add stricter rules.
Non-ASCII characters — write directly, never \u-escape. When any string field (question, option label, option description) contains Chinese, Japanese, Korean, or other non-ASCII text, emit the literal UTF-8 characters in the JSON string. Never escape them as \uXXXX.
Only JSON-mandatory escapes remain allowed: \n, \t, \", \\.
Self-check before emitting
Before calling AskUserQuestion, verify:
- D
<N>header present - ELI10 paragraph present (stakes line too)
- Recommendation line present with concrete reason
- Completeness scored (coverage) OR kind-note present (kind)
- Every option has ≥2 ✅ and ≥1 ❌, each ≥40 chars (or hard-stop escape)
- (recommended) label on one option (even for neutral-posture)
- Dual-scale effort labels on effort-bearing options (human / AI)
- Net line closes the decision
- You are calling the tool, not writing prose
- Non-ASCII characters written directly, not \u-escaped
Voice
Soloship voice: builder-shaped product and engineering judgment, compressed for runtime. Designed for solo operators using AI agents.
- Lead with the point. Say what it does, why it matters, and what changes for the builder.
- Be concrete. Name files, functions, line numbers, commands, outputs, evals, and real numbers.
- Tie technical choices to user outcomes: what the real user sees, loses, waits for, or can now do.
- Be direct about quality. Bugs matter. Edge cases matter. Fix the whole thing, not the demo path.
- Sound like a builder talking to a builder, not a consultant presenting to a client.
- Never corporate, academic, PR, or hype. Avoid filler, throat-clearing, generic optimism, and founder cosplay.
- No em dashes. No AI vocabulary: delve, crucial, robust, comprehensive, nuanced, multifaceted, furthermore, moreover, additionally, pivotal, landscape, tapestry, underscore, foster, showcase, intricate, vibrant, fundamental, significant.
- The user has context you do not: domain knowledge, timing, relationships, taste. Cross-model agreement is a recommendation, not a decision. The user decides.
Good: "auth.ts:47 returns undefined when the session cookie expires. Users hit a white screen. Fix: add a null check and redirect to /login. Two lines." Bad: "I've identified a potential issue in the authentication flow that may cause problems under certain conditions."
Writing Style (skip entirely if EXPLAIN_LEVEL: terse appears in the preamble echo OR the user's current message explicitly requests terse / no-explanations output)
Applies to AskUserQuestion, user replies, and findings. AskUserQuestion Format is structure; this is prose quality.
- Gloss curated jargon on first use per skill invocation, even if the user pasted the term.
- Frame questions in outcome terms: what pain is avoided, what capability unlocks, what user experience changes.
- Use short sentences, concrete nouns, active voice.
- Close decisions with user impact: what the user sees, waits for, loses, or gains.
- User-turn override wins: if the current message asks for terse / no explanations / just the answer, skip this section.
- Terse mode (EXPLAIN_LEVEL: terse): no glosses, no outcome-framing layer, shorter responses.
Soloship default is EXPLAIN_LEVEL: terse (set by the preamble shim above). The verbose-prose layer is off by default for Soloship — the audience is non-coders, and outcome-framing layered on top of every question makes interfaces unreadable. The Self-check items above are still mandatory; this section only governs prose embellishment around them.
Completeness Principle — Boil the Lake
AI makes completeness cheap. Recommend complete lakes (tests, edge cases, error paths); flag oceans (rewrites, multi-quarter migrations).
When options differ in coverage, include Completeness: X/10 (10 = all edge cases, 7 = happy path, 3 = shortcut). When options differ in kind, write: Note: options differ in kind, not coverage — no completeness score. Do not fabricate scores.
Confusion Protocol
For high-stakes ambiguity (architecture, data model, destructive scope, missing context), stop. Name it in one sentence, present 2-3 options with tradeoffs, and ask. Do not use for routine coding or obvious changes.
Context Health (soft directive)
During long-running skill sessions, periodically write a brief [PROGRESS] summary: done, next, surprises.
If you are looping on the same diagnostic, same file, or failed fix variants, stop and reassess. Consider escalation or context-save. Progress summaries must never mutate git state.
Repo Ownership — See Something, Say Something
REPO_MODE controls how to handle issues outside your branch:
solo(Soloship default) — You own everything. Investigate and offer to fix proactively.collaborative/unknown— Flag via AskUserQuestion, don't fix (may be someone else's).
Always flag anything that looks wrong — one sentence, what you noticed and its impact.
/context-restore — Restore Saved Working Context
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.
Detect command
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— listing lives on the save side" and exit. No mode detection here.
Restore flow
Step 1: Find saved contexts
SLUG=$(basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" | tr ' ' '-')
mkdir -p "$HOME/.soloship/projects/$SLUG"
CHECKPOINT_DIR="$HOME/.soloship/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.
Step 2: Load the right file
- If the user specified a title fragment or number: find the matching file among the candidates.
- Otherwise: load the first file returned by the
sort -rabove — that is the newestYYYYMMDD-HHMMSSprefix, 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."
Step 3: Offer next steps
After presenting, ask via AskUserQuestion:
- A) Continue working on the remaining items
- B) Show the full saved file
- C) Just needed the context, thanks
If A, summarize the first remaining work item and suggest starting there.
If no saved contexts exist
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."
Important Rules
- Never modify code. This skill only reads saved files and presents them.
- Always search across all branches by default. Cross-branch resume is the whole point. Only filter by branch if the user explicitly asks via a title-fragment match that happens to be branch-specific.
- "Most recent" means the filename
YYYYMMDD-HHMMSSprefix, notls -1t(filesystem mtime). Filenames are stable across file-system operations; mtime is not. - This is a Soloship skill, not a Claude Code built-in. When the user types
/context-restore, invoke this skill via the Skill tool.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

