ship-plan-verify
Use when a plan has been created and needs independent verification against codebase patterns before building
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when a plan has been created and needs independent verification against codebase patterns before building
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | ship:plan-verify |
| description | Use when a plan has been created and needs independent verification against codebase patterns before building |
| effort | high |
| allowed-tools | Read, Write, Edit, Glob, Grep, Agent |
| argument-hint | [feature-name] |
Verify the implementation plan against the actual codebase.
Feature state is injected by hooks at session start and after compaction — check conversation context for "SHIP ACTIVE FEATURES" or "SHIP FEATURE STATE" blocks first.
$ARGUMENTS is provided, use it as the feature nameplanned.planning/features/*/CONTEXT.mdThis skill is an orchestrator. The review itself runs in ONE general-purpose subagent launched via the Agent tool, because the reviewer must be fresh-context: it must not share the planner's conversation, or it inherits the planner's assumptions and rubber-stamps its own reasoning. The skill launches the reviewer, waits for its structured verdict, then writes the results and status itself.
Launch one general-purpose subagent via the Agent tool with this prompt (substitute {name}):
You are an independent plan reviewer. You did not write this plan and must not trust
its claims — check whether it will actually work against the real codebase. Your job
is to catch problems that would cause build failures or produce code that doesn't fit
the project.
Read both files:
- .planning/features/{name}/CONTEXT.md
- .planning/features/{name}/PLAN.md
You are READ-ONLY. Explore with Read/Glob/Grep; use Bash only for existence and
feasibility probes (e.g. does the test runner exist, does a package appear in a
manifest) — never modify any file.
Stay plan-driven: only explore what the plan touches — do not map the entire codebase.
Reading PLAN.md alone is not evidence; verify structural claims against the actual code.
### Mechanical grounding — verify each claim
For every task in PLAN.md:
- <files> paths: existing files resolve via Glob; for new files, the parent directory
exists or its creation is plausible under project conventions
- <reference>: resolves to a real file; where a symbol, function, or pattern is named,
confirm it exists there via Grep
- depends attributes: every referenced task ID exists, with no forward or circular
references
- Packages: every named package exists in the project's dependency manifests or is
stdlib
- <verify> commands: each is a runnable shell command whose runner exists in the
repo/toolchain, and passing it would actually prove the task's completion
### Judgment review — against the real code
- Completeness: is each task specified enough to execute without guessing at contracts
(schemas, endpoint shapes, error behavior, integration points)?
- Wiring: are artifacts created by one task consumed by another, or orphaned?
- Ordering: is the task order sound? Are phases self-contained?
- Pattern consistency: does the approach match how the codebase already does this
(layering, naming, library choices)?
- Duplicate functionality: does the plan rebuild something that already exists? Grep
for similar function names or route paths.
- Coverage: is any acceptance criterion in CONTEXT.md left unaddressed by the tasks?
- Side effects: will planned modifications break existing callers?
Do NOT police document format — review substance, not section presence or wording.
### Return a structured verdict
Report back in exactly this format:
## Review Verdict
**Status:** APPROVED | NEEDS-REVISION
**Examined:** [key codebase files/patterns you checked]
### Findings
[One line per finding:]
- [CRITICAL|WARNING|SUGGESTION] Task {id} / {file}: {description} —
Evidence: {what the codebase shows} — Fix: {specific recommendation}
[Or "No issues found."]
APPROVED iff zero CRITICAL findings.
Findings are classified by severity:
| Severity | Meaning | Blocks Approval? |
|---|---|---|
| CRITICAL | Will cause build failure or produce broken code (wrong paths, missing deps, pattern violation that won't compile) | Yes |
| WARNING | Inconsistent with codebase patterns, may cause issues | No, but must be noted |
| SUGGESTION | Minor improvement opportunity | No |
Overall Status:
If the subagent errors or returns no parseable verdict, relaunch it once; if it fails again, report the failure to the user and stop — never approve a plan without a completed review.
Update CONTEXT.md frontmatter: set status: plan-verified
Append to PLAN.md:
## Plan Review
**Status:** APPROVED
**Reviewed against:** [list key codebase files/patterns examined]
### Findings
[Any WARNING or SUGGESTION items — or "No issues found."]
Keep CONTEXT.md status as planned (do NOT change it).
Append to PLAN.md:
## Plan Review
**Status:** NEEDS-REVISION
### Critical Issues
[List each CRITICAL finding with:]
- Task [id] — [issue description]
- Evidence: [what you found in the codebase]
- Fix: [specific recommendation]
### Warnings
[Any WARNING items]
### Suggestions
[Any SUGGESTION items]
After writing, display:
## PLAN REVIEW COMPLETE
Feature: {name}
Status: APPROVED | NEEDS-REVISION
Codebase patterns checked: [N files examined]
Tasks reviewed: [N] / [N]
[If APPROVED:]
Findings: [N warnings, N suggestions — or "Clean"]
Plan is ready to build.
Next: /ship:build
[If NEEDS-REVISION:]
Critical issues: [N]
- [Issue 1 summary]
- [Issue 2 summary]
Next: /ship:plan {name} (replan with review notes)
$ARGUMENTS
Use when a feature plan has been verified and is ready for implementation — executes tasks with atomic commits
Use when you want to auto-run all remaining Ship steps for a feature without manual step-by-step invocation
Use when a feature has been brainstormed and needs a detailed implementation plan with tasks
Use when a brainstormed feature needs architectural decisions — presents 2-3 approaches for user to choose before planning
Use when beginning new feature work, adding functionality, or fixing a bug — runs intensive brainstorming to capture requirements before planning
Use when the user asks about Ship commands, workflow, or how to use the framework