ワンクリックで
spec-kitty-review
Review a work package implementation
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Review a work package implementation
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Validate an approved mission before merge
Cross-artifact consistency and quality analysis
Interview and compile a project charter
Open the mission dashboard
Execute a work package implementation
Merge an accepted mission
| name | spec-kitty.review |
| description | Review a work package implementation |
| user-invocable | true |
Run this at most once per active agent session before the first Spec Kitty command workflow.
If you already ran spec-kitty upgrade --agent-check --json in this session, reuse that result and skip this block.
Do not run or announce an upgrade check again for later Spec Kitty commands in the same session.
Otherwise, before continuing, run:
spec-kitty upgrade --agent-check --json
If JSON action is none, continue.
If action is auto_upgrade, run upgrade_command before continuing. If it fails, tell the user and continue with the current Spec Kitty version.
If action is guidance, show upgrade_note briefly, then continue.
If action is prompt, ask the user with the host-native question UI when available:
Spec Kitty {latest_version} is available. You are on {installed_version}. Upgrade now?
Use these choices:
upgrade_now, run upgrade_command, then continue.always, run upgrade_command, then continue.not_now, then continue.never_ask, then continue.Record the selected choice before continuing:
spec-kitty upgrade --agent-choice <upgrade_now|always|not_now|never_ask> --agent-latest <latest_version> --json
If no host-native question UI is available, present the same four choices in plain text and wait for the user.
In non-interactive hosts, choose not_now and continue.
Version: 0.12.0+
Review the implementation of a work package against its prompt file, acceptance criteria, and owned-file boundaries. Verify correctness, test coverage, and compliance with any applicable guardrails (e.g., bulk edit occurrence maps).
IMPORTANT: This step works inside the execution workspace (worktree)
allocated by spec-kitty agent action review WPxx --agent <name>. Prefer to stay within
your owned_files boundaries; any out-of-map change must be small, justified, and carry a
one-line rationale in the commit message.
In repos with multiple missions, always pass --mission <handle> to every spec-kitty command. The <handle> can be the mission's mission_id (ULID), mid8 (first 8 chars of the ULID), or mission_slug. The resolver disambiguates by mission_id and returns a structured MISSION_AMBIGUOUS_SELECTOR error on ambiguity — there is no silent fallback.
The content of the user's message that invoked this skill (everything after the skill invocation token, e.g. after /spec-kitty.<command> or $spec-kitty.<command>) is the User Input referenced elsewhere in these instructions.
You MUST consider this user input before proceeding (if not empty).
The prompt produced by spec-kitty agent action review is guaranteed to carry
the following surfaces. Trust the prompt; do not consult external governance
sources unless explicitly cited by a fetch command + when-doing rule in the
prompt.
Guaranteed bodies (verbatim in the prompt when under the token budget; the
resolver substitutes a spec-kitty charter context --include section:<slug>
fetch + when-doing stanza only when the budget would otherwise be exceeded):
.kittify/charter/charter.md — governs the
identifiers and term usage you assess in the diff..kittify/charter/charter.md — your
primary gate set when judging the WP..kittify/charter/charter.md — the
project's explicit drift guard; apply when the diff renames or introduces
identifier-bearing terms.Guaranteed citations (catalog IDs always present in the prompt when the
WP frontmatter selects a reviewer agent_profile):
DIRECTIVE_NNN declared in the loaded reviewer profile's
directive-references list (for example, reviewer-renata cites
DIRECTIVE_032 — Conceptual Alignment).tactic-references list (for example, reviewer-renata cites the
language-driven-design tactic).When you assess a WP that renames identifiers or terms, the prompt cites DIRECTIVE_032 (Conceptual Alignment) by ID; consult its rule body inline or via the paired fetch command and apply.
Guaranteed authority pointers (path + when-doing conditional):
glossary/contexts/ — canonical terminology. Consult when the diff
introduces or renames a domain term.architecture/3.x/adr/ — architectural intent. Consult when the diff
changes a structural boundary (package layout, public API surface,
dependency edges).authority_paths: block are
emitted alongside these defaults.Fetch commands (the prompt may substitute these for bodies that exceed the token budget; whenever a fetch command appears, the accompanying "When you , run this and apply" line specifies the trigger):
spec-kitty charter context --include directive:DIRECTIVE_NNNspec-kitty charter context --include tactic:<id>spec-kitty charter context --include section:<slug>Run:
spec-kitty agent context resolve --action review --mission <handle> --json
Then execute the returned check_prerequisites command and capture
feature_dir. All paths must be absolute.
The output of spec-kitty agent action review ... is the authoritative work
package prompt and review context. Do not separately call
spec-kitty charter context or go hunting for alternate prompt files unless
the command output tells you to. The Governance Payload Contract section
above documents what the prompt is guaranteed to carry.
Read the WP prompt file from feature_dir/tasks/WPxx-slug.md.
Parse frontmatter for:
owned_files -- the expected modification surface; out-of-map edits are acceptable when small and accompanied by a one-line rationaleauthoritative_surface -- primary directory for this WPexecution_mode -- code_change or planning_artifactsubtasks -- ordered list of subtask IDsdependencies -- WPs that must be done firstBefore proceeding with the review, load the agent profile from the WP frontmatter
using the /ad-hoc-profile-load skill (or spec-kitty agent profile list to browse
available profiles). Apply the profile's reviewer guidance and self-review gates for
the rest of this review session.
The WP frontmatter should already have agent_profile set to a reviewer profile
(e.g., reviewer-renata) by the implementing agent before it moved the WP to
for_review. If agent_profile is still set to an implementer profile, load the
implementer profile anyway and note the oversight in your review comments.
For each subtask:
owned_files are small, justified, and carry a one-line rationale (do not reject a well-justified, rationale-logged crossing)try/except exists) without exercising the real dependency is
insufficient. Apply the deletion test: temporarily delete the implementation
change, run the test, confirm it fails. If it does not fail, the error path
is untested — the test validates structure, not behaviour. Restore the fix
before proceeding.For each item below, state PASS / FAIL / N/A in your verdict. A FAIL on any item blocks approval.
grep -r -e "from <new_module> import" -e "import <new_module>" src/ --include="*.<ext>".
Zero production hits means dead code.except ...: return "", return None, return [], return {}, or pass. Each hit
must have a documented reason; absent that, it is a silent failure
candidate.requirement_refs has at least one test
assertion that references the behavior it names, not just a comment or
frontmatter entry.git log --oneline <base>..HEAD -- <frozen-file> must be empty.MUST NOT clause in
spec.md, plan.md, or contracts/. Grep the diff for forbidden patterns
named by those clauses.lanes.json, shared lane metadata, or
the same mission merge, has an explicit coordination note in the move-task
reason or review feedback.raise in a production code path has a
documented fail-loud rationale. A bare raise in a request handler, worker,
or CLI path that can fire on a transient race is a fragility risk.If this mission has change_mode: bulk_edit in meta.json:
occurrence_map.yaml must be present in the feature directorydo_not_change categories — reject if these were modifiedmanual_review categories have documented justificationThe system enforces map existence automatically, but as a reviewer you should verify that the substance of the changes aligns with the classification, not just that the file exists.
After completing review:
Move the WP forward:
spec-kitty agent status emit WPxx --to approved --actor <name> --mission <handle>
Before rejecting, update agent_profile in the WP frontmatter back to the
implementer profile so the next implementation cycle starts with the right context:
Identify the implementer profile that worked on this WP (check the history field
or status.events.jsonl to find the last in_progress actor).
Alternatively, use the default: implementer-ivan (or python-pedro/java-jenny
for language-specific work).
Update the WP frontmatter:
agent_profile: "implementer-ivan"
role: "implementer"
Commit the updated frontmatter together with your review notes before running:
spec-kitty agent status emit WPxx --to in_progress --actor <name> --mission <handle>
The implementing agent will then load the correct profile via /ad-hoc-profile-load
and resume work with the proper persona and self-review gates.
Next step: spec-kitty next --agent <name> will advance to the next phase.