Review
Use this skill to produce a real approval gate. A review is not a summary of
changes; it is an evidence-based decision about whether the current state is
safe, coherent, and usable enough for the requested scope.
Read references/reviewer-memory.md when the task spans code, UX, operations,
or package boundaries, or when maintaining this skill itself.
When multiple reviewer skills are explicitly invoked together, review owns the
final ship-readiness verdict unless the user explicitly asks for an
architecture-only or UX-only judgment. architect owns decision-quality
recommendations. uxreview owns specialist human-usable verdicts. review
must synthesize their delivery impact, not silently replace them.
Mandatory Independence
- If the user explicitly names
$review, spawn independent review subagents
whenever tooling allows.
- Default explicit swarm when no specialist reviewer skill is also named:
correctness, architecture-fit, and user-and-operations.
- If
$uxreview or $architect are also named, the added review lens is an
integrator lens plus any technical lens not already covered by the named
specialist swarms.
- Minimum fallback only when capacity is unavailable: two independent lenses,
one technical and one user/operational. Mark that downgrade as
#FALLBACK.
#FALLBACK is allowed only when subagent tooling is unavailable in the
environment or repeated spawn attempts fail.
- If
$uxreview or $architect are also named, keep their swarms distinct and
add at least one dedicated review integrator lens instead of silently
substituting them away.
- If
$uxreview is also named, consume the UX swarm's findings and decide
ship or release impact. Do not run a second parallel generic UX verdict path
unless the UX swarm is unavailable and #FALLBACK is declared.
- If
$architect is also named, consume its structure and ownership findings
and decide delivery risk. Do not rerun architecture exploration as generic
review unless #FALLBACK is declared.
- Each reviewer must return findings, missing evidence, and a verdict before
synthesis.
Evidence Contract
- Inspect the real artifact before judging: code, diff, docs, tests, screenshots,
browser state, or runtime behavior.
- Cite concrete evidence: file/line, endpoint, schema, failing scenario, test,
UI state, command, or missing validation.
- Separate observed behavior from inference.
- If a key claim was not validated, say so directly.
- Do not approve because the implementation "looks reasonable".
- If a required artifact was not inspectable, the highest allowed verdict is
Conditional Approval unless the scope explicitly excluded that artifact by
design.
Required Lenses
Apply the lenses that fit the task. For significant platform or UI work, use
all of them in synthesis even if some are delegated to named specialist skills.
correctness: bugs, edge cases, error handling, security, performance,
data loss, concurrency, and missing tests.
architecture-fit: ownership, boundaries, source of truth, coupling,
migration burden, compatibility, and ADR alignment.
user-and-operations: default path clarity, labels, recovery, diagnostics,
observability, approval burden, scale, and supportability.
Verdicts
Use one verdict per reviewer and one final synthesized verdict:
Blocking
Conditional Approval
Approved
Do not mark Approved when blocking evidence is missing, a required lens was
not covered, or the review skipped the artifact that users or operators will
actually touch.
If the skill was explicitly named and the mandatory subagent contract did not
run, the best possible verdict is Conditional Approval with #FALLBACK.
If the fallback minimum was also not met, the final verdict must be Blocking.
Output Format
For code-heavy work, lead with findings:
- severity;
- file and line;
- behavior or risk;
- required fix or validation.
Then include:
Execution Mode
Planned Reviewer Set
Actual Reviewer Set
Subagents Used
Fallback Reason
Contract Degradation
Observed Evidence
Inference Or Unverified Claims
Reviewer Verdicts
Open Questions Or Missing Evidence
Residual Risk
Final Verdict
For design-heavy work, keep the same verdict structure but group issues by
blocking/non-blocking plus architecture-fit and user/operations impact.
If there are no findings, say so plainly and state what was actually checked.
Field Memory
references/reviewer-memory.md stores compact durable lessons for this skill.
- Update it only during skill-maintenance work and only with reusable lessons.
Anti-Patterns
- Do not turn review into a changelog.
- Do not let clean code override bad UX or bad ownership boundaries.
- Do not call something "minor" if it can mislead a user or operator.
- Do not hide uncertainty behind broad confidence language.
- Do not collapse independent reviewer disagreement into fake consensus.
- Do not downgrade to fewer subagents for convenience, speed, or token economy
without labeling
#FALLBACK and naming the blocked capability.
1---2name: review3description: Run independent, evidence-based reviews across code quality, architecture fit, and user experience. Use when Codex is asked to review changes, validate an implementation, inspect a design, prepare a final quality pass, run critical reviewers, or ensure naive-user and expert-user expectations are met before finishing work.4---56# Review78Use this skill to produce a real approval gate. A review is not a summary of9changes; it is an evidence-based decision about whether the current state is10safe, coherent, and usable enough for the requested scope.1112Read `references/reviewer-memory.md` when the task spans code, UX, operations,13or package boundaries, or when maintaining this skill itself.1415When multiple reviewer skills are explicitly invoked together, `review` owns the16final ship-readiness verdict unless the user explicitly asks for an17architecture-only or UX-only judgment. `architect` owns decision-quality18recommendations. `uxreview` owns specialist human-usable verdicts. `review`19must synthesize their delivery impact, not silently replace them.2021## Mandatory Independence2223- If the user explicitly names `$review`, spawn independent review subagents24 whenever tooling allows.25- Default explicit swarm when no specialist reviewer skill is also named:26 `correctness`, `architecture-fit`, and `user-and-operations`.27- If `$uxreview` or `$architect` are also named, the added `review` lens is an28 `integrator` lens plus any technical lens not already covered by the named29 specialist swarms.30- Minimum fallback only when capacity is unavailable: two independent lenses,31 one technical and one user/operational. Mark that downgrade as `#FALLBACK`.32- `#FALLBACK` is allowed only when subagent tooling is unavailable in the33 environment or repeated spawn attempts fail.34- If `$uxreview` or `$architect` are also named, keep their swarms distinct and35 add at least one dedicated `review` integrator lens instead of silently36 substituting them away.37- If `$uxreview` is also named, consume the UX swarm's findings and decide38 ship or release impact. Do not run a second parallel generic UX verdict path39 unless the UX swarm is unavailable and `#FALLBACK` is declared.40- If `$architect` is also named, consume its structure and ownership findings41 and decide delivery risk. Do not rerun architecture exploration as generic42 review unless `#FALLBACK` is declared.43- Each reviewer must return findings, missing evidence, and a verdict before44 synthesis.4546## Evidence Contract4748- Inspect the real artifact before judging: code, diff, docs, tests, screenshots,49 browser state, or runtime behavior.50- Cite concrete evidence: file/line, endpoint, schema, failing scenario, test,51 UI state, command, or missing validation.52- Separate observed behavior from inference.53- If a key claim was not validated, say so directly.54- Do not approve because the implementation "looks reasonable".55- If a required artifact was not inspectable, the highest allowed verdict is56 `Conditional Approval` unless the scope explicitly excluded that artifact by57 design.5859## Required Lenses6061Apply the lenses that fit the task. For significant platform or UI work, use62all of them in synthesis even if some are delegated to named specialist skills.6364- `correctness`: bugs, edge cases, error handling, security, performance,65 data loss, concurrency, and missing tests.66- `architecture-fit`: ownership, boundaries, source of truth, coupling,67 migration burden, compatibility, and ADR alignment.68- `user-and-operations`: default path clarity, labels, recovery, diagnostics,69 observability, approval burden, scale, and supportability.7071## Verdicts7273Use one verdict per reviewer and one final synthesized verdict:7475- `Blocking`76- `Conditional Approval`77- `Approved`7879Do not mark `Approved` when blocking evidence is missing, a required lens was80not covered, or the review skipped the artifact that users or operators will81actually touch.82If the skill was explicitly named and the mandatory subagent contract did not83run, the best possible verdict is `Conditional Approval` with `#FALLBACK`.84If the fallback minimum was also not met, the final verdict must be `Blocking`.8586## Output Format8788For code-heavy work, lead with findings:8990- severity;91- file and line;92- behavior or risk;93- required fix or validation.9495Then include:9697- `Execution Mode`98- `Planned Reviewer Set`99- `Actual Reviewer Set`100- `Subagents Used`101- `Fallback Reason`102- `Contract Degradation`103- `Observed Evidence`104- `Inference Or Unverified Claims`105- `Reviewer Verdicts`106- `Open Questions Or Missing Evidence`107- `Residual Risk`108- `Final Verdict`109110For design-heavy work, keep the same verdict structure but group issues by111blocking/non-blocking plus architecture-fit and user/operations impact.112113If there are no findings, say so plainly and state what was actually checked.114115## Field Memory116117- `references/reviewer-memory.md` stores compact durable lessons for this skill.118- Update it only during skill-maintenance work and only with reusable lessons.119120## Anti-Patterns121122- Do not turn review into a changelog.123- Do not let clean code override bad UX or bad ownership boundaries.124- Do not call something "minor" if it can mislead a user or operator.125- Do not hide uncertainty behind broad confidence language.126- Do not collapse independent reviewer disagreement into fake consensus.127- Do not downgrade to fewer subagents for convenience, speed, or token economy128 without labeling `#FALLBACK` and naming the blocked capability.