ワンクリックで
review
Review a completed phase against STANDARDS.md DoD, rerun the project's commands, and either approve (flip to done) or file a bug.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Review a completed phase against STANDARDS.md DoD, rerun the project's commands, and either approve (flip to done) or file a bug.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Run the architect/executor loop hands-off across a milestone — draft, dispatch, review, escalate/re-dispatch — with full review rigor and no per-phase pause. Opt-in per run; stops at a milestone boundary, a blocker, assist-budget exhaustion, or the runaway backstop.
Dispatch a phase to the local-LLM executor via execute_phase. Use after /rexymcp:architect has drafted a phase doc and the user is ready to run it.
Decide what to do with a hard_fail briefing from execute_phase: refined re-dispatch (default), session takeover, or resume.
Bootstrap a rexyMCP project, design the work, and author phase docs for the local-LLM executor. Use when the user wants to set up architect/executor workflow on a target repo, draft the next phase, or review milestone progress.
SOC 職業分類に基づく
| name | review |
| description | Review a completed phase against STANDARDS.md DoD, rerun the project's commands, and either approve (flip to done) or file a bug. |
| model | opus |
| argument-hint | <phase> |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash(*) |
This skill is the substantive review gate. It re-runs the project's
commands, walks the Definition of Done from STANDARDS.md, spot-checks
tests, and either writes the Review verdict (flip to done) or files a bug
(flip back to in-progress). It does not execute the phase itself — that is
the executor's job. On hard_fail or budget_exceeded results, it delegates
to /rexymcp:escalate rather than reviewing.
Before any action:
<phase> from the argument). Its Status:
line must be review. If it is todo, in-progress, or done, stop
and tell the user the phase is not in a reviewable state.<repo>/docs/dev/STANDARDS.md — the Definition of Done checklist
(§1) is what you verify against.docs/dev/milestones/M<n>-<slug>/README.md)
for the phase table — status must mirror the phase doc.PhaseResult. If the dispatch skill passed it in
context, use that. If not available, query via executor_log_tail +
get_turn MCP tools using the phase's log_path from rexymcp.toml.The repo root is <repo> — resolve it from CLAUDE_PROJECT_DIR, ANTIGRAVITY_PROJECT_DIR, or the
nearest directory containing the milestone layout.
If the phase doc's Status: line is not review, stop. Tell the user:
"This phase is not in review status (current status: <actual>). It must
be reviewed by the executor first — re-dispatch via /rexymcp:dispatch <phase> if it is still todo."
Check PhaseResult.status:
"hard_fail" or "budget_exceeded": this is an escalation, not a
review. Point the user at /rexymcp:escalate <phase> and stop. Do not
attempt to review partial work."cancelled": the run was deliberately stopped mid-phase (rexymcp stop
or stop_phase) — its work is partial and the tree is dirty, so it is not
reviewable. Point the user at /rexymcp:escalate <phase> (to resume the partial
work) or a fresh re-dispatch, and stop."complete": proceed to §3.Read <repo>/rexymcp.toml's [commands] section. Run each command in
sequence as separate invocations (not chained with && — chaining
against the same build cache can race and produce spurious failures):
format — e.g. <format command from rexymcp.toml>build — e.g. <build command from rexymcp.toml>lint — e.g. <lint command from rexymcp.toml>test — e.g. <test command from rexymcp.toml>Run each in the repo root. Capture the output. If any command fails, note
it — the executor's PhaseResult.command_outputs is the executor's run;
this is your independent re-run. If the executor passed a command but you
fail, surface it as a possible environment-vs-spec mismatch.
For each box in STANDARDS.md §1 (Definition of Done), verify it is met by
inspecting the diff, the phase doc, and the test output:
{BUILD_COMMAND} succeeds with zero new warnings.{LINT_COMMAND} passes.{FORMAT_COMMAND} passes.{TEST_COMMAND} passes (existing + new tests).STANDARDS.md §3.TODO / FIXME / XXX in code (unless the phase doc explicitly
authorizes one).dbg!, println! debug calls, or commented-out code.unwrap() / expect() / panic!() in production paths.
Grep for them: grep -rnE '\.(unwrap|expect)\(|panic!\(' <new-files>.unsafe blocks.#[allow(...)], #[ignore], or lint-silencing shims to mask
diagnostics.Pay extra attention to the unwrap() / expect() / panic!() grep, the
#[allow] check, and test coverage. These are the most common ways to paper
over a failing diagnostic.
Pick one or two new tests from the phase. Confirm they would actually fail if the code under test were broken. A test that passes after mentally deleting its assertion is a fake test — flag it.
Look for:
unwrap_or_default() on the Result they care about.Every checkbox in the phase doc's "Acceptance criteria" section should be verifiable. Verify each one. If an acceptance criterion references a command output, run the command. If it references a file, read the file. If it references a test, run the test.
When all DoD boxes are checked and all acceptance criteria are met:
a. Write the Review verdict block at the bottom of the phase doc's
Update Log (append after the <!-- entries appended below this line -->
comment). Use the template from WORKFLOW.md § "Review verdict":
### Review verdict — YYYY-MM-DD
- **Verdict:** approved_first_try
- **Bounces:** none
- **Executor:** <executor model name | Claude Code (direct)>
- **Scope deviations:** none
- **Calibration:** none
Adjust Verdict to approved_after_N if there were prior bounces, or
escalated if this was a takeover.
a-bis. Record the verdict in the telemetry store so the scorecard sees
it. Run (absolute --phase-doc so it matches the stored run identity):
rexymcp review --config <repo>/rexymcp.toml --phase-doc <abs phase-doc path> --phase-id <phase short id> --verdict approved_first_try --failure-class none
Use approved_after_N and the real bounce/bug counts (--bounces N --bugs-filed N) and the matching --failure-class from the taxonomy when
there were prior bounces.
b. Flip the phase doc's Status: line from review to done.
c. Update the milestone README's phase-table row to done.
d. Update <repo>/docs/dev/NEXT.md: if this was the milestone's last
in-scope phase, set the active phase to "none". Otherwise, leave it for
/rexymcp:architect next.
e. Commit with a conventional commit message:
docs: approve <milestone> <phase> (done, <verdict>).
f. Stop. Do not draft the next phase. The user advances explicitly via
/rexymcp:architect next. (Per the architect skill's §6 prohibition #2:
no auto-advance.)
When one or more DoD boxes or acceptance criteria are not met:
a. Write a bug report at
<repo>/docs/dev/milestones/M<n>-<slug>/bugs/bug-<phase>-<n>.md. Use the
template from WORKFLOW.md § "Bug report template":
# Bug <n> on phase-<phase>: <One-line title>
**Severity:** blocker | major | minor | nit
**Status:** open
**Filed:** YYYY-MM-DD
## What's wrong
<Concrete. Quote the offending code with file:line. State observed behavior.>
## What should happen
<Concrete. Reference the architecture doc section or phase spec requirement.>
## How to fix
<Specific instruction: file path, what to change, expected result.>
## Verification
- [ ] <command produces expected output>
- [ ] <test_name passes>
Choose severity per WORKFLOW.md § "Severity meanings":
b. Flip the phase doc's Status: line from review back to
in-progress (with a note referencing the bug).
c. Update the milestone README's phase-table row to in-progress.
c-bis. Record the bounce in the telemetry store: rexymcp review --config <repo>/rexymcp.toml --phase-doc <abs phase-doc path> --phase-id <phase short id> --verdict bounced --bugs-filed 1 --failure-class <class from taxonomy>
d. Commit with a conventional commit message:
docs: bounce <milestone> <phase> — bug-<n>-<n> (<short summary>).
e. Tell the user: "Bounced. Re-dispatch via /rexymcp:dispatch <phase>
once the bug is fixed."
f. Stop. Do not fix the bug yourself — that is the executor's job.
If this phase was the milestone's last in-scope phase and all sibling phases are
now done, the normal approval steps (§7a–e) are all that happen here.
Do not write the milestone retrospective. Do not update NEXT.md to
"none." Do not fold calibration lessons. Milestone close is a separate explicit
step — it belongs to the architect skill, triggered by the human.
After the normal commit (§7e), tell the user:
"All M phases are now
done. Run/rexymcp:architectto close the milestone — write the milestone retrospective, fold any calibration lessons, and updateNEXT.mdto none."
Then stop.
hard_fail or budget_exceeded results — those go
to /rexymcp:escalate.STANDARDS.md or WORKFLOW.md without explicit
user approval and a recurring-pattern fold.