Detects project state and resumes the workflow or reports progress blockers.
Install
mkdir -p .claude/skills/go-benjaminshoemaker && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11909" && unzip -o skill.zip -d .claude/skills/go-benjaminshoemaker && rm skill.zipInstalls to .claude/skills/go-benjaminshoemaker
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.
Resume execution from wherever you left off. Detects current state and runs the appropriate next command, or reports what's blocking progress. Use at the start of any session to pick up where you left off.Key capabilities
- →Detect current working context (feature development or greenfield planning)
- →Resume execution from the last saved state
- →Report blockers preventing further progress
- →Toggle between Codex and default execution modes
- →Parse phase state from `phase-state.json`
- →Determine the next action based on current phase status and task completion
How it works
The skill detects the current working context and phase state, then determines the next action to resume execution or reports any blocking issues.
Inputs & outputs
When to use go
- →Resume work on a feature
- →Check status of a project
- →Toggle execution modes
About this skill
Determine where execution stands and either continue or report blockers.
Arguments
| Argument | Required | Description |
|---|---|---|
--codex | No | Switch to Codex execution mode (persists to settings) |
--no-codex | No | Switch to default execution mode (persists to settings) |
Execution Mode Toggle
If --codex or --no-codex is passed, update executionMode in .claude/settings.local.json before any other logic:
--codex→ write"executionMode": "codex"--no-codex→ write"executionMode": "default"
The flag is forwarded to any /phase-start invocation downstream. When neither flag is passed, the current setting is used as-is.
Workflow
Copy this checklist and track progress:
Go Progress:
- [ ] Detect context (greenfield plan vs feature directory)
- [ ] Plan status guard
- [ ] Check for execution plan
- [ ] Read phase state
- [ ] Determine next action
- [ ] Execute or report blockers
Context Detection
Determine working context:
-
If current working directory matches pattern
*/features/*:- PROJECT_ROOT = parent of parent of CWD (e.g.,
/project/features/foo→/project) - FEATURE_DIR = CWD
- MODE = "feature"
- PROJECT_ROOT = parent of parent of CWD (e.g.,
-
If current working directory matches pattern
*/plans/greenfield*:- PROJECT_ROOT = parent of parent of CWD (e.g.,
/project/plans/greenfield→/project) - MODE = "greenfield"
- PROJECT_ROOT = parent of parent of CWD (e.g.,
-
Otherwise:
- PROJECT_ROOT = current working directory
- MODE = "greenfield-legacy"
Plan Status Guard
Read PROJECT_ROOT/plans/PLAN_STATUS.md if it exists.
- Derive the current scoped path from CWD:
plans/greenfield/for greenfield mode, orfeatures/<name>/for feature mode. - If CWD is under
plans/archive/orfeatures/archive/, STOP. Archived plans are historical context only. - If
Current statusis notactive, STOP and report that the current plan is not implementable. - If
Current planpoints to a different path than the current scoped path, STOP. Report the current active plan path and tell the user to run/gofrom that directory. - If the manifest is missing, continue with the legacy directory convention.
Step 1: Check for Execution Plan
Check if EXECUTION_PLAN.md exists in the current working directory (or FEATURE_DIR if feature mode).
If no EXECUTION_PLAN.md:
Check if this is the toolkit repo (e.g., .toolkit-marker exists in CWD):
NO EXECUTION PLAN
=================
You're in the toolkit repo, not a project directory.
To start a new project:
1. /generate-plan <project-path> (greenfield project)
2. cd <project-path>
3. /go
To add a feature to an existing project:
1. /feature-plan <feature-name> (from the project directory)
2. cd features/<feature-name>
3. /go
If NOT in the toolkit repo:
NO EXECUTION PLAN
=================
No EXECUTION_PLAN.md found in this directory.
If this project uses the scoped greenfield layout and `plans/greenfield/EXECUTION_PLAN.md`
exists here, run:
cd plans/greenfield
/go
Options:
- If you have specs ready: Run /generate-plan from the toolkit repo
- If this is a feature: cd features/<name> and try again
- If you need specs first: Run /product-spec then /technical-spec
Stop here if no execution plan found.
Step 2: Read Phase State
Read .claude/phase-state.json from PROJECT_ROOT (or FEATURE_DIR if feature mode).
Also read EXECUTION_PLAN.md to determine total phase count and current checkbox state.
Parse Phase Count
Count the number of ## Phase N: headers in EXECUTION_PLAN.md to determine TOTAL_PHASES.
Parse State
If phase-state.json exists and is valid JSON with a main key:
- CURRENT_PHASE =
main.current_phase - PHASE_STATUS = status of the current phase from
main.phases[] - Check for in-progress tasks, blocked tasks, and failure counts
If phase-state.json does not exist or is invalid:
- STATE_EXISTS = false
Step 3: Determine Next Action
Walk through these conditions in order. Take the FIRST match:
Case A: No Phase State — First Run
Condition: phase-state.json doesn't exist or is invalid.
Action: Invoke /fresh-start using the Skill tool.
STARTING EXECUTION
==================
No prior state found. Running /fresh-start...
Case B: Phase In Progress — Tasks Remaining
Condition: State exists. Current phase status is IN_PROGRESS. There are tasks in EXECUTION_PLAN.md for that phase with unchecked - [ ] acceptance criteria.
Action: Read executionMode from .claude/settings.local.json. If "codex", invoke /phase-start {CURRENT_PHASE} --codex. Otherwise invoke /phase-start {CURRENT_PHASE}. Phase-start handles resumption — it skips already-completed tasks.
RESUMING EXECUTION
==================
Phase {CURRENT_PHASE} in progress. Resuming...
{If executionMode is "codex": "Mode: Codex"}
{If a specific task was IN_PROGRESS in state: "Continuing from Task {id}"}
Case C: Phase Tasks Complete — Needs Checkpoint
Condition: State exists. Current phase status is IN_PROGRESS or COMPLETE. ALL task acceptance criteria for the current phase are checked [x] in EXECUTION_PLAN.md. But phase status is NOT CHECKPOINTED.
Action: Invoke /phase-checkpoint {CURRENT_PHASE} using the Skill tool.
RUNNING CHECKPOINT
==================
All Phase {CURRENT_PHASE} tasks complete. Running quality gates...
Case D: Phase Checkpointed — More Phases Exist
Condition: State exists. Current phase status is CHECKPOINTED. CURRENT_PHASE < TOTAL_PHASES.
Action: Invoke /phase-prep {CURRENT_PHASE + 1} using the Skill tool.
ADVANCING TO NEXT PHASE
========================
Phase {CURRENT_PHASE} checkpointed. Preparing Phase {CURRENT_PHASE + 1}...
Case E: All Phases Complete
Condition: State exists. CURRENT_PHASE >= TOTAL_PHASES. Current phase status is CHECKPOINTED or COMPLETE.
Action: Check deferred review queue, then report completion.
- Read
.claude/deferred-reviews.json - Read
autoAdvance.drainOnCompletionfrom.claude/settings.local.json(default: true) - If
PROJECT_ROOT/plans/PLAN_STATUS.mdexists, update the current plan entry:Current stage:completedCurrent status:completed- add or update a history row for the current plan with
completed - leave
Current planpointing at the completed path for auditability until a new plan-generation command supersedes it
- If queue is non-empty (has
reviewed: falseitems) ANDdrainOnCompletionis true:
PROJECT COMPLETE — DEFERRED REVIEW
===================================
All {TOTAL_PHASES} phases finished.
{N} items were deferred during execution.
These are non-blocking items that need human review:
Phase 1:
- [ ] "{criterion}" (Task {id})
Context: {file}:{line} — {summary}
Phase 3:
- [ ] "{criterion}" (Task {id})
Context: {file}:{line} — {summary}
Use AskUserQuestion:
- "All look good" → Clear queue (set all
reviewed: true, remove reviewed items, updatelast_drained/last_drain_reason) - "Review individually" → Invoke
/review-deferred - "Skip for now" → Keep queue, note in session
- If queue is non-empty but
drainOnCompletionis false:
EXECUTION COMPLETE
==================
All {TOTAL_PHASES} phases finished.
Note: {N} deferred review items remain in queue.
Use /review-deferred to review them when ready.
Summary:
- Phases completed: {TOTAL_PHASES}/{TOTAL_PHASES}
- Total tasks: {count from EXECUTION_PLAN.md}
- Deferred items: {N} pending review
- If queue is empty or file doesn't exist:
EXECUTION COMPLETE
==================
All {TOTAL_PHASES} phases finished. All criteria verified. No deferred items.
Summary:
- Phases completed: {TOTAL_PHASES}/{TOTAL_PHASES}
- Total tasks: {count from EXECUTION_PLAN.md}
Consider:
- /progress — Full completion report
- Review DEFERRED.md — Any deferred requirements
- Review TODOS.md — Follow-up work
Case F: Blocked
Condition: State exists. Current phase has a task with status BLOCKED, or the phase itself is BLOCKED.
Check failure tracking in phase-state.json for blocked tasks.
Also check .claude/deferred-reviews.json — if the deferred queue has items and
autoAdvance.drainOnBlocker is true, present them: "While you're here, {N} deferred
items are pending review."
EXECUTION BLOCKED
=================
Phase {CURRENT_PHASE} is blocked.
{For each blocked task:}
Task {id}: {task subject from EXECUTION_PLAN.md}
Consecutive failures: {count}
Last errors:
- {error 1}
- {error 2}
{If deferred queue has items:}
While you're here, {N} deferred review items are pending:
- "{criterion}" (Task {id}) — {reason}
Use /review-deferred to review them now.
{/If}
Options:
1. Fix the issue and run /go again
2. /phase-start {CURRENT_PHASE} — Retry from current task
3. Edit EXECUTION_PLAN.md — Modify blocked criteria
Case G: Ambiguous State
Condition: None of the above cases matched (e.g., state file is partially written, phases array is empty, status is unrecognized).
Action: Offer to rebuild state.
STATE UNCLEAR
=============
phase-state.json exists but state is ambiguous.
Options:
1. /populate-state — Rebuild state from EXECUTION_PLAN.md + git history
2. /fresh-start — Start fresh (preserves git history)
3. /progress — Check EXECUTION_PLAN.md checkboxes directly
Use AskUserQuestion to let the user choose.
Error Handling
- If EXECUTION_PLAN.md exists but is empty → report and suggest
/generate-plan - If phase-state.json has parse errors → treat as Case A (no state) with a note about the corrupt file
- If a delegated skill fails → report the failure, don't retry automatically
When not to use it
- →When in an archived plan or feature directory
- →When the current plan is not marked as 'active'
- →When the current plan path differs from the active plan path
Limitations
- →Archived plans or features are for historical context only and cannot be resumed.
- →Execution stops if the current plan is not 'active' or if the path is incorrect.
- →If `EXECUTION_PLAN.md` is missing, the skill provides instructions for starting a new project or feature.
How it compares
This skill automatically picks up work from where it left off, providing continuity in project execution, unlike manually identifying the next step.
Compared to similar skills
go side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| go (this skill) | 0 | 3mo | No flags | Intermediate |
| 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.
More by benjaminshoemaker
View all by benjaminshoemaker →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.