gsd-resume-work
Resumes work by restoring session context. Use this to pick up exactly where you left off.
Install
mkdir -p .claude/skills/gsd-resume-work-acidicsoil && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18827" && unzip -o skill.zip -d .claude/skills/gsd-resume-work-acidicsoil && rm skill.zipInstalls to .claude/skills/gsd-resume-work-acidicsoil
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 work from previous session with full context restorationKey capabilities
- →Resume work smooth from previous session
- →Load or reconstruct `STATE.md`
- →Detect checkpoint files (`.continue-here`)
- →Identify incomplete work (PLAN without SUMMARY)
- →Present status and route to context-aware next actions
How it works
The skill loads the project state, detects checkpoints and incomplete work, then presents the status. It routes to the `resume-project` workflow to restore context and determine the next action.
Inputs & outputs
When to use gsd-resume-work
- →Resume previous coding session
- →Restore context after timeout
- →Continue interrupted GSD workflows
About this skill
<codex_skill_adapter>
A. Skill Invocation
- This skill is invoked by mentioning
$gsd-resume-work. - Treat all user text after
$gsd-resume-workas{{GSD_ARGS}}. - If no arguments are present, treat
{{GSD_ARGS}}as empty.
B. AskUserQuestion → request_user_input Mapping
GSD workflows use AskUserQuestion (Claude Code syntax). Translate to Codex request_user_input:
Parameter mapping:
header→headerquestion→question- Options formatted as
"Label" — description→{label: "Label", description: "description"} - Generate
idfrom header: lowercase, replace spaces with underscores
Batched calls:
AskUserQuestion([q1, q2])→ singlerequest_user_inputwith multiple entries inquestions[]
Multi-select workaround:
- Codex has no
multiSelect. Use sequential single-selects, or present a numbered freeform list asking the user to enter comma-separated numbers.
Execute mode fallback:
- When
request_user_inputis rejected or unavailable, activate TEXT_MODE: append--textto{{GSD_ARGS}}so the workflow's built-in text-mode branching takes over. Present everyAskUserQuestioncall as a plain-text numbered list, then stop and wait for the user's reply. Do NOT pick a default and continue (#3018 / #3808). - You may only proceed without a user answer when one of these is true:
(a) the invocation included an explicit non-interactive flag (
--autoor--all), (b) the user has explicitly approved a specific default for this question, or (c) the workflow's documented contract says defaults are safe (e.g. autonomous lifecycle paths). - Do NOT write workflow artifacts (CONTEXT.md, DISCUSSION-LOG.md, PLAN.md, checkpoint files) until the user has answered the plain-text questions or one of (a)-(c) above applies. Surfacing the questions and waiting is the correct response — silently defaulting and writing artifacts is the #3018 failure mode.
C. Task() → spawn_agent Mapping
GSD workflows use Task(...) (Claude Code syntax). Translate to Codex collaboration tools:
Schema detection (required first step): Codex exposes two spawn_agent schemas:
- agent_type-capable schema (e.g.
multi_agent_v2):spawn_agentacceptsagent_type,message,reasoning_effort,fork_context, etc. — typed GSD agent dispatch is available. - Generic schema (
multi_agent_v1):spawn_agentaccepts onlymessage,items,fork_context— there is noagent_typefield. Typed GSD agent dispatch is unavailable in this session.
Before spawning, inspect the spawn_agent tool's visible parameter schema (via tool_search or the tool list) to determine which form is active.
Typed mapping (agent_type-capable schema only):
Task(subagent_type="X", prompt="Y")→spawn_agent(agent_type="X", message="Y")Agent(subagent_type="X", prompt="Y")→spawn_agent(agent_type="X", message="Y")Task(model="...")→ omit.spawn_agenthas no inlinemodelparameter; GSD embeds the resolved per-agent model directly into each agent's.tomlat install time somodel_overridesfrom.planning/config.jsonand~/.gsd/defaults.jsonare honored automatically by Codex's agent router.- Resolved
reasoning_effort="low|medium|high|xhigh"(xhighis a GSD/Codex tier, not a generic runtime enum) → passreasoning_efforttospawn_agentwhen the runtime/tool supports it. Omit missing, empty, inherited, or unsupported values; do not invent one-off effort literals in workflow prose. fork_context: falseby default — GSD agents load their own context via<files_to_read>blocksTask(isolation="worktree")/Agent(isolation="worktree")→ no direct Codex mapping. Codexspawn_agentdoes not create or bind a git worktree automatically. Workflows that require this isolation must fail closed or use an explicit manual worktree protocol before spawning (#3360).
Generic-agent workaround (multi_agent_v1 schema — NO agent_type field):
When only the generic multi_agent_v1 schema is available, typed GSD agent dispatch
(gsd-planner, gsd-executor, etc.) is NOT possible. This is a known Codex limitation
(openai/codex#15250). This workaround is NOT equivalent to typed gsd-planner/gsd-executor
execution — GSD agents carry project-aware prompts, audit logging, and workflow context
that a generic subagent lacks. Use the following fallback:
- Resolve your active Codex config root — the directory that contains your
config.toml. This directory is determined in priority order:$CODEX_HOME(if set), the path given by--config-dir(if passed on invocation), a local.codexdirectory in the current project (if--localwas used), or the default global config directory. Readagents/<agent-name>.tomlrelative to that config root to extract the agent's system instructions. - Inject those instructions as a role-preamble into a generic
spawn_agent(message=...)call. - Label results and logs clearly as "generic-agent workaround" so the orchestrator and user know full typed-agent guarantees are not in effect.
- Where typed dispatch is mandatory for correctness (e.g. worktree isolation), fail closed and report the schema limitation rather than silently degrading.
Spawn restriction:
- Codex restricts
spawn_agentto cases where the user has explicitly requested sub-agents. When automatic spawning is not permitted, do the work inline in the current agent rather than attempting to force a spawn. - In some Codex sessions, multi-agent tooling can be deferred. If
spawn_agentis not currently visible, discover tools first viatool_searchbefore defaulting to inline execution.
Parallel fan-out:
- Spawn multiple agents → collect agent IDs →
wait(ids)for all to complete
Result parsing:
- Look for structured markers in agent output:
CHECKPOINT,PLAN COMPLETE,SUMMARY, etc. close_agent(id)after collecting results from each agent </codex_skill_adapter>
Routes to the resume-project workflow which handles:
- STATE.md loading (or reconstruction if missing)
- Checkpoint detection (.continue-here files)
- Incomplete work detection (PLAN without SUMMARY)
- Status presentation
- Context-aware next action routing </objective>
<execution_context> @/home/user/projects/temp/ai-apps/.personal-projects/DSPyTeach/.codex/gsd-core/workflows/resume-project.md </execution_context>
<process> Execute end-to-end. </process>When not to use it
- →When an explicit non-interactive flag is present and user approval for defaults is not given
- →When `request_user_input` is rejected or unavailable and text mode is not desired
Limitations
- →Codex has no `multiSelect` for `request_user_input`
- →Typed GSD agent dispatch is not possible with `multi_agent_v1` schema
- →Codex `spawn_agent` does not create or bind a git worktree automatically
How it compares
This skill provides a structured method for restoring a full project context and resuming work, including handling user interaction and agent spawning, unlike manually piecing together previous session information.
Compared to similar skills
gsd-resume-work side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| gsd-resume-work (this skill) | 0 | 17d | No flags | Advanced |
| pptx | 393 | 5mo | Review | Advanced |
| nano-pdf | 63 | 2mo | Review | Beginner |
| video-downloader | 101 | 7mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by AcidicSoil
View all by AcidicSoil →You might also like
pptx
anthropics
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
nano-pdf
openclaw
Edit PDFs with natural-language instructions using the nano-pdf CLI.
video-downloader
ComposioHQ
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
youtube-transcript
michalparkola
Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube. Also use when user wants to transcribe or get captions/subtitles from a YouTube video.
using-superpowers
obra
Use when starting any conversation - establishes mandatory workflows for finding and using skills, including using Skill tool before announcing usage, following brainstorming before coding, and creating TodoWrite todos for checklists
browser-automation
browserbase
Automate web browser interactions using natural language via CLI commands. Use when the user asks to browse websites, navigate web pages, extract data from websites, take screenshots, fill forms, click buttons, or interact with web applications. Triggers include "browse", "navigate to", "go to website", "extract data from webpage", "screenshot", "web scraping", "fill out form", "click on", "search for on the web". When taking actions be as specific as possible.