/shipyard-state
Use to inspect or manage Shipyard project state under Codex — show status, resume a previous session, cancel/pause in-progress work, or roll back to a checkpoint. Trigger when the user says "shipyard status", "what's the status", "resume", "continue where we left off", "cancel",
Claude Code
$ npx -y skills add lgbarn/shipyard --skill shipyard-state --agent claude-code
Codex
$ npx skills add lgbarn/shipyard --skill shipyard-state -a codex -y
Cursor
$ npx skills add lgbarn/shipyard --skill shipyard-state -a cursor -y
Gemini CLI
$ npx skills add lgbarn/shipyard --skill shipyard-state -a gemini-cli -y
GitHub Copilot
$ npx skills add lgbarn/shipyard --skill shipyard-state -a github-copilot -y
OpenCode
$ npx skills add lgbarn/shipyard --skill shipyard-state -a opencode -y
Windsurf
$ npx skills add lgbarn/shipyard --skill shipyard-state -a windsurf -y
SKILL.md
shipyard-state.SKILL.mdname: shipyard-state
description: Use to inspect or manage Shipyard project state under Codex — show status, resume a previous session, cancel/pause in-progress work, or roll back to a checkpoint. Trigger when the user says "shipyard status", "what's the status", "resume", "continue where we left off", "cancel", "pause this", "roll back", or "restore the checkpoint". Codex has no SessionStart hook, so this skill loads state on demand.
Shipyard state (Codex on-demand)
In Claude Code, Shipyard's `SessionStart` hook auto-injects project state at the start of every session. **Codex has no such hook**, so state is not loaded automatically — you must read it on demand with the bundled scripts before acting. All state lives under `.shipyard/` (STATE.json, HISTORY.md, ROADMAP.md, PROJECT.md, config.json).
Always run the read step first; if `.shipyard/STATE.json` is absent, tell the user there is no Shipyard project here (suggest `shipyard init`) instead of inventing state.
Status — show the dashboard
bash scripts/state-read.sh # prints JSON context (current phase, position, status)
Then also read `.shipyard/HISTORY.md` and `ROADMAP.md` for the fuller picture, and present a clear dashboard: current phase, position, status, and recent history.
Resume — restore context and continue
bash scripts/state-read.sh
Read STATE.json for the current phase/position/status and HISTORY.md for what happened, then continue the workflow from there. If no state exists, there is nothing to resume.
Cancel — graceful pause
Checkpoint first, then mark the work paused so it can be resumed later:
bash scripts/checkpoint.sh "pre-cancel-$(date +%s)" # git tag rollback point
bash scripts/state-write.sh --phase <N> --position "<where you stopped>" --status paused
Only cancel work that is actually in progress (`building`/`in_progress`/`planning`). If it is already paused or complete, say so rather than writing redundant state.
Roll back — restore a checkpoint
Checkpoints are git tags created by `checkpoint.sh`. List them and revert with git:
git tag -l 'shipyard-*' # or however the project tags checkpoints
git checkout <checkpoint-tag> # inspect, or reset per the user's intent
This is a destructive git operation — confirm with the user before resetting, and never force-reset their working tree without explicit instruction.
Degradation note
Everything here works identically to Claude Code except that state is pulled on demand instead of auto-injected. The teammate lifecycle hooks (idle/task-completed/stop) do not exist in Codex — that is expected, not a regression, because Codex runs single-context.
Read more
name: shipyard-state description: Use to inspect or manage Shipyard project state under Codex — show status, resume a previous session, cancel/pause in-progress work, or roll back to a checkpoint. Trigger when the user says "shipyard status", "what's the status", "resume", "continue where we left off", "cancel", "pause this", "roll back", or "restore the checkpoint". Codex has no SessionStart hook, so this skill loads state on demand.
Shipyard state (Codex on-demand)
In Claude Code, Shipyard's `SessionStart` hook auto-injects project state at the start of every session. **Codex has no such hook**, so state is not loaded automatically — you must read it on demand with the bundled scripts before acting. All state lives under `.shipyard/` (STATE.json, HISTORY.md, ROADMAP.md, PROJECT.md, config.json).
Always run the read step first; if `.shipyard/STATE.json` is absent, tell the user there is no Shipyard project here (suggest `shipyard init`) instead of inventing state.
Status — show the dashboard
bash scripts/state-read.sh # prints JSON context (current phase, position, status)
Then also read `.shipyard/HISTORY.md` and `ROADMAP.md` for the fuller picture, and present a clear dashboard: current phase, position, status, and recent history.
Resume — restore context and continue
bash scripts/state-read.sh
Read STATE.json for the current phase/position/status and HISTORY.md for what happened, then continue the workflow from there. If no state exists, there is nothing to resume.
Cancel — graceful pause
Checkpoint first, then mark the work paused so it can be resumed later:
bash scripts/checkpoint.sh "pre-cancel-$(date +%s)" # git tag rollback point bash scripts/state-write.sh --phase <N> --position "<where you stopped>" --status paused
Only cancel work that is actually in progress (`building`/`in_progress`/`planning`). If it is already paused or complete, say so rather than writing redundant state.
Roll back — restore a checkpoint
Checkpoints are git tags created by `checkpoint.sh`. List them and revert with git:
git tag -l 'shipyard-*' # or however the project tags checkpoints git checkout <checkpoint-tag> # inspect, or reset per the user's intent
This is a destructive git operation — confirm with the user before resetting, and never force-reset their working tree without explicit instruction.
Degradation note
Everything here works identically to Claude Code except that state is pulled on demand instead of auto-injected. The teammate lifecycle hooks (idle/task-completed/stop) do not exist in Codex — that is expected, not a regression, because Codex runs single-context.
A Claude Code plugin for structured project execution. Plan work in phases, build with parallel agents and TDD, review with security audits and quality gates, and ship with confidence.
Other skills on shipyard.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about shipyard-state.
- Which coding agents can use shipyard-state?
- shipyard-state installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

