resume-project
Recovers project state by parsing progress, roadmaps, and decision logs to help developers resume work seamlessly.
Install
mkdir -p .claude/skills/resume-project && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15053" && unzip -o skill.zip -d .claude/skills/resume-project && rm skill.zipInstalls to .claude/skills/resume-project
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
恢复工作时立即还原完整项目上下文。当用户说继续、下一步、之前到哪了或恢复时使用。Key capabilities
- →Detect if a project is existing by checking for `.gsd/STATE.md`
- →Load and parse project state from `.gsd/STATE.md` and `.gsd/PROJECT.md`
- →Extract project reference, current position, progress, and recent decisions
- →Identify pending todos, blockers, and concerns from previous sessions
- →Check for incomplete work, such as `.continue-here` files or plans without summaries
- →Present a complete project status to the user
How it works
The skill detects existing project state by checking for `.gsd` files, loads and parses state information, identifies incomplete work, and then presents a complete status and suggests next actions.
Inputs & outputs
When to use resume-project
- →Resuming a coding session after a break
- →Retrieving pending tasks from last session
- →Restoring architectural context
About this skill
<required_reading> ../../instructions/continuation-format.instructions.md </required_reading>
<process> <step name="detect_existing_project"> Check if this is an existing project:ls .gsd/STATE.md 2>/dev/null && echo "Project exists"
ls .gsd/ROADMAP.md 2>/dev/null && echo "Roadmap exists"
ls .gsd/PROJECT.md 2>/dev/null && echo "Project file exists"
If STATE.md exists: Proceed to load_state If only ROADMAP.md/PROJECT.md exist: Offer to reconstruct STATE.md If .gsd/ doesn't exist: This is a new project - route to /new-project.md </step>
<step name="load_state">Read and parse STATE.md, then PROJECT.md:
cat .gsd/STATE.md
cat .gsd/PROJECT.md
From STATE.md extract:
- Project Reference: Core value and current focus
- Current Position: Phase X of Y, Plan A of B, Status
- Progress: Visual progress bar
- Recent Decisions: Key decisions affecting current work
- Pending Todos: Ideas captured during sessions
- Blockers/Concerns: Issues carried forward
- Session Continuity: Where we left off, any resume files
From PROJECT.md extract:
- What This Is: Current accurate description
- Requirements: Validated, Active, Out of Scope
- Key Decisions: Full decision log with outcomes
- Constraints: Hard limits on implementation
# Check for continue-here files (mid-plan resumption)
ls .gsd/phases/*/.continue-here*.md 2>/dev/null
# Check for plans without summaries (incomplete execution)
for plan in .gsd/phases/*/*-PLAN.md; do
summary="${plan/PLAN/SUMMARY}"
[ ! -f "$summary" ] && echo "Incomplete: $plan"
done 2>/dev/null
# Check for interrupted agents
if [ -f .gsd/current-agent-id.txt ] && [ -s .gsd/current-agent-id.txt ]; then
AGENT_ID=$(cat .gsd/current-agent-id.txt | tr -d '\n')
echo "Interrupted agent: $AGENT_ID"
fi
If .continue-here file exists:
- This is a mid-plan resumption point
- Read the file for specific resumption context
- Flag: "Found mid-plan checkpoint"
If PLAN without SUMMARY exists:
- Execution was started but not completed
- Flag: "Found incomplete plan execution"
If interrupted agent found:
- Subagent was spawned but session ended before completion
- Read agent-history.json for task details
- Flag: "Found interrupted agent" </step>
╔══════════════════════════════════════════════════════════════╗
║ PROJECT STATUS ║
╠══════════════════════════════════════════════════════════════╣
║ Building: [one-liner from PROJECT.md "What This Is"] ║
║ ║
║ Phase: [X] of [Y] - [Phase name] ║
║ Plan: [A] of [B] - [Status] ║
║ Progress: [██████░░░░] XX% ║
║ ║
║ Last activity: [date] - [what happened] ║
╚══════════════════════════════════════════════════════════════╝
[If incomplete work found:]
⚠️ Incomplete work detected:
- [.continue-here file or incomplete plan]
[If interrupted agent found:]
⚠️ Interrupted agent detected:
Agent ID: [id]
Task: [task description from agent-history.json]
Interrupted: [timestamp]
Resume with: Task tool (resume parameter with agent ID)
[If pending todos exist:]
📋 [N] pending todos — /check-todos.md to review
[If blockers exist:]
⚠️ Carried concerns:
- [blocker 1]
- [blocker 2]
[If alignment is not ✓:]
⚠️ Brief alignment: [status] - [assessment]
</step>
<step name="determine_next_action">
Based on project state, determine the most logical next action:
If interrupted agent exists: → Primary: Resume interrupted agent (Task tool with resume parameter) → Option: Start fresh (abandon agent work)
If .continue-here file exists: → Primary: Resume from checkpoint → Option: Start fresh on current plan
If incomplete plan (PLAN without SUMMARY): → Primary: Complete the incomplete plan → Option: Abandon and move on
If phase in progress, all plans complete: → Primary: Transition to next phase → Option: Review completed work
If phase ready to plan: → Check if CONTEXT.md exists for this phase:
- If CONTEXT.md missing: → Primary: Discuss phase vision (how user imagines it working) → Secondary: Plan directly (skip context gathering)
- If CONTEXT.md exists: → Primary: Plan the phase → Option: Review roadmap
If phase ready to execute: → Primary: Execute next plan → Option: Review the plan first </step>
<step name="offer_options"> Present contextual options based on project state:What would you like to do?
[Primary action based on state - e.g.:]
1. Resume interrupted agent [if interrupted agent found]
OR
1. Execute phase (/execute-phase.md {phase})
OR
1. Discuss Phase 3 context (/discuss-phase.md 3) [if CONTEXT.md missing]
OR
1. Plan Phase 3 (/plan-phase.md 3) [if CONTEXT.md exists or discuss option declined]
[Secondary options:]
2. Review current phase status
3. Check pending todos ([N] pending)
4. Review brief alignment
5. Something else
Note: When offering phase planning, check for CONTEXT.md existence first:
ls .gsd/phases/XX-name/*-CONTEXT.md 2>/dev/null
If missing, suggest discuss-phase before plan. If exists, offer plan directly.
Wait for user selection. </step>
<step name="route_to_workflow"> Based on user selection, route to appropriate workflow:-
Execute plan → Show command for user to run after clearing:
--- ## ▶ Next Up **{phase}-{plan}: [Plan Name]** — [objective from PLAN.md] `/execute-phase.md {phase}` <sub>`/clear` first → fresh context window</sub> --- -
Plan phase → Show command for user to run after clearing:
--- ## ▶ Next Up **Phase [N]: [Name]** — [Goal from ROADMAP.md] `/plan-phase.md [phase-number]` <sub>`/clear` first → fresh context window</sub> --- **Also available:** - `/discuss-phase.md [N]` — gather context first - `/research-phase.md [N]` — investigate unknowns --- -
Transition → ./transition.md
-
Check todos → Read .gsd/todos/pending/, present summary
-
Review alignment → Read PROJECT.md, compare to current state
-
Something else → Ask what they need </step>
Update STATE.md:
## Session Continuity
Last session: [now]
Stopped at: Session resumed, proceeding to [action]
Resume file: [updated if applicable]
This ensures if session ends unexpectedly, next resume knows the state. </step>
</process> <reconstruction> If STATE.md is missing but other artifacts exist:"STATE.md missing. Reconstructing from artifacts..."
- Read PROJECT.md → Extract "What This Is" and Core Value
- Read ROADMAP.md → Determine phases, find current position
- Scan *-SUMMARY.md files → Extract decisions, concerns
- Count pending todos in .gsd/todos/pending/
- Check for .continue-here files → Session continuity
Reconstruct and write STATE.md, then proceed normally.
This handles cases where:
- Project predates STATE.md introduction
- File was accidentally deleted
- Cloning repo without full .gsd/ state </reconstruction>
<quick_resume> If user says "continue" or "go":
- Load state silently
- Determine primary action
- Execute immediately without presenting options
"Continuing from [state]... [action]" </quick_resume>
<success_criteria> Resume is complete when:
- STATE.md loaded (or reconstructed)
- Incomplete work detected and flagged
- Clear status presented to user
- Contextual next actions offered
- User knows exactly where project stands
- Session continuity updated </success_criteria>
When not to use it
- →When starting a completely new project where `.gsd/` does not exist
- →When the user explicitly wants to abandon current work without resuming
Limitations
- →The skill relies on the presence and structure of `.gsd/` directories and files
- →The skill's effectiveness depends on the completeness of `STATE.md` and `PROJECT.md`
- →The skill assumes a specific format for tracking incomplete work and agent interruptions
How it compares
This skill automates the process of restoring full project context, providing an immediate and complete answer to 'where were we?', unlike manually piecing together past work.
Compared to similar skills
resume-project side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| resume-project (this skill) | 0 | 5mo | Review | Beginner |
| linear | 10 | 2mo | No flags | Beginner |
| zapier-workflows | 11 | 8mo | Review | Beginner |
| attio-skill-generator | 7 | 7mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
linear
lobehub
Linear issue management guide. Use when working with Linear issues, creating issues, updating status, or adding comments. Triggers on Linear issue references (LOBE-xxx), issue tracking, or project management tasks. Requires Linear MCP tools to be available.
zapier-workflows
davila7
Manage and trigger pre-built Zapier workflows and MCP tool orchestration. Use when user mentions workflows, Zaps, automations, daily digest, research, search, lead tracking, expenses, or asks to "run" any process. Also handles Perplexity-based research and Google Sheets data tracking.
attio-skill-generator
kesslerio
Generate use-case-specific Attio workflow skills from templates. Use when creating new skills for lead qualification, deal management, customer onboarding, or custom Attio workflows.
automation-brainstorm
MacroMan5
Interactive workflow design advisor for Power Automate, n8n, Make, Zapier and other platforms. Guides users through planning automation workflows with smart questions about triggers, actions, data flow, and error handling. Uses research sub-agent to find best practices and generates detailed implementation plan. Triggers when user mentions "create workflow", "build flow", "design automation", "need ideas for", or describes workflow requirements without having a complete design.
daily-briefing
anthropics
Start your day with a prioritized sales briefing. Works standalone when you tell me your meetings and priorities, supercharged when you connect your calendar, CRM, and email. Trigger with "morning briefing", "daily brief", "what's on my plate today", "prep my day", or "start my day".
jira
davila7
Use when the user mentions Jira issues (e.g., "PROJ-123"), asks about tickets, wants to create/view/update issues, check sprint status, or manage their Jira workflow. Triggers on keywords like "jira", "issue", "ticket", "sprint", "backlog", or issue key patterns.