with one click
reviewer-review-code
Review implementation slices with EAGER severity tree
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Review implementation slices with EAGER severity tree
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Install Pasture binaries (pastured, pasture, pasture-release) from GitHub Releases, go install, or Nix
Pasture protocol reference documentation — 12-phase workflow, agent roles, constraints, and coding standards. Read when you need to understand the full workflow or look up conventions.
Create handoff document and transfer to supervisor
Create PROPOSAL-N task with full technical plan
Ratify proposal, mark old proposals pasture:superseded
Spawn 3 axis-specific reviewers (A/B/C)
| name | reviewer-review-code |
| description | Review implementation slices with EAGER severity tree |
Command: pasture:reviewer:review-code — Review implementation slices with EAGER severity tree
-> Full workflow in PROCESS.md <- Phase 10
[rev-code-quality-gates]
[rev-code-verify-gates]
[rev-code-eager-severity]
[frag--sup-blocker-dual-parent]
[frag--review-clean-exit]
[frag--validation-cases]
Assigned to review code implementation after worker slices complete (Phase 10).
ALWAYS create 3 severity group tasks per review round, even if some groups have no findings:
# Step 1: Create all 3 severity groups immediately (EAGER, not lazy)
bd create --labels "pasture:severity:blocker,pasture:p10-impl:s10-review" \
--title "SLICE-1-REVIEW-A-1 BLOCKER" \
--description "---
references:
slice: <slice-id>
review: <review-id>
---
BLOCKER findings for this review round"
# Result: <blocker-group-id>
bd create --labels "pasture:severity:important,pasture:p10-impl:s10-review" \
--title "SLICE-1-REVIEW-A-1 IMPORTANT" \
--description "---
references:
slice: <slice-id>
review: <review-id>
---
IMPORTANT findings for this review round"
# Result: <important-group-id>
bd create --labels "pasture:severity:minor,pasture:p10-impl:s10-review" \
--title "SLICE-1-REVIEW-A-1 MINOR" \
--description "---
references:
slice: <slice-id>
review: <review-id>
---
MINOR findings for this review round"
# Result: <minor-group-id>
# Step 2: Wire severity groups to review task
bd dep add <review-id> --blocked-by <blocker-group-id>
bd dep add <review-id> --blocked-by <important-group-id>
bd dep add <review-id> --blocked-by <minor-group-id>
# BLOCKER finding — dual-parent relationship
bd create --title "BLOCKER: <finding title>" \
--description "<finding details with file:line references>"
bd dep add <blocker-group-id> --blocked-by <blocker-finding-id>
bd dep add <slice-id> --blocked-by <blocker-finding-id>
# IMPORTANT finding — single parent (severity group only)
bd create --title "IMPORTANT: <finding title>" \
--description "<finding details>"
bd dep add <important-group-id> --blocked-by <important-finding-id>
# MINOR finding — single parent (severity group only)
bd create --title "MINOR: <finding title>" \
--description "<finding details>"
bd dep add <minor-group-id> --blocked-by <minor-finding-id>
Empty severity groups (no findings) are closed immediately:
# If no IMPORTANT findings were found:
bd close <important-group-id>
# If no MINOR findings were found:
bd close <minor-group-id>
BLOCKER findings have two parents:
pasture:severity:blocker) — for categorizationThis ensures BLOCKERs both categorize under the severity tree AND block the slice they apply to.
IMPORTANT and MINOR findings do NOT block the slice via dual-parent (only BLOCKER does), but they are not routed to a follow-up epic either: ALL severity groups (BLOCKER, IMPORTANT, MINOR) must reach 0 before the review wave closes (R7/A1). The FOLLOWUP epic is fed ONLY by user-DEFER'd UAT items, never by any review severity.
bd show <slice-id>
bd show <urd-id> # Read URD for requirements context
# Run your project's type checking and test commands
Apply end-user alignment criteria (see pasture:reviewer) and verify production code paths (see Verify Production Code Paths section below).
bd create --labels "pasture:p10-impl:s10-review" \
--title "SLICE-1-REVIEW-A-1: <feature>" \
--description "---
references:
slice: <slice-id>
urd: <urd-id>
---
VOTE: <ACCEPT|REVISE> - <justification>"
bd dep add <slice-id> --blocked-by <review-id>
bd comments addAnti-pattern example:
// WRONG: Test-only export
func HandleCommand(argv []string, service Service) error { /* tested */ }
// WRONG: Production-only command (not tested)
var commandCmd = &cobra.Command{
Use: "command",
RunE: func(cmd *cobra.Command, args []string) error {
// TODO: wire up service
return nil
},
}
Correct example:
// CORRECT: Single command, both tested and used in production
var commandCmd = &cobra.Command{
Use: "command",
RunE: func(cmd *cobra.Command, args []string) error {
service := NewService(RealDeps{})
result, err := service.DoThing(args)
if err != nil {
return err
}
fmt.Println(result)
return nil
},
}
// Tests import commandCmd directly
// import "myproject/cmd/thing"
grep -r "TODO" src/ # Should not find any in delivered code
For every REQUEST (not only fix-intent ones), per [frag--validation-cases] verify the implementation:
An implementation that ships without validation-case fixtures is an IMPORTANT finding. There is no request-type axis/enum gating this — recognize what a request needs from the REQUEST/URD.
Per [frag--review-clean-exit] and C-review-effort-budget, iterate review → fix → re-review up to the review-effort budget chosen at Phase 8 (defaults: 3 rounds / 1 round / 0 rounds / unlimited / custom) until a fix-free clean round confirms 0 BLOCKER + 0 IMPORTANT + 0 MINOR within budget. On budget exhaustion without a clean round, SURFACE the outstanding findings to the user at a gate for a decision — do not proceed dirty and do not loop forever. The budget is never hardcoded. A wave never closes on a fix-applying round, and never with any finding silently outstanding.
The FOLLOWUP epic is not created from review findings. ALL review severities (BLOCKER/IMPORTANT/MINOR) must reach 0 before the wave closes (R7/A1). The FOLLOWUP epic is fed ONLY by user-DEFER'd UAT items (Phase 11), and the Supervisor creates it from those (label pasture:epic-followup).
When reviewing follow-up slices, use the same procedure:
FOLLOWUP_SLICE-N-REVIEW-{axis}-{round}# Add vote comment to the review task
bd comments add <review-id> "VOTE: ACCEPT - Implementation matches plan, tests comprehensive"
# Or
bd comments add <review-id> "VOTE: REVISE - BLOCKERs found, see severity tree for details"