Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 22 additions & 14 deletions skills/subagent-driven-development/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,9 +191,10 @@ final whole-branch review. When you fill a reviewer template:
later dispatches — a real session's dispatch hit 42k chars of which 99%
was pasted history. A fresh subagent needs its task, the interfaces it
touches, and the global constraints. Nothing else.
- Dispatch fix subagents for Critical and Important findings. Record Minor
findings in the progress ledger as you go, and point the final
whole-branch review at that list so it can triage which must be fixed
- Dispatch fix subagents for Critical and Important findings, passing the
review file path for the full detail. Record each task's Minor count and
review file path in the progress ledger as you go, and point the final
whole-branch review at those files so it can triage which must be fixed
before merge. A roll-up nobody reads is a silent discard.
- A finding labeled plan-mandated — or any finding that conflicts with
what the plan's text requires — is the human's decision, like any plan
Expand Down Expand Up @@ -237,11 +238,18 @@ and is re-read on every later turn. Hand artifacts over as files:
(brief `…/task-N-brief.md` → report `…/task-N-report.md`) and put it in
the dispatch prompt. The implementer writes the full report there and
returns only status, commits, a one-line test summary, and concerns.
- **Reviewer inputs:** the task reviewer gets three paths — the same brief
file, the report file, and the review package — plus the global
constraints that bind the task.
- Fix dispatches append their fix report (with test results) to the same
report file and return a short summary; re-reviews read the updated file.
- **Reviewer inputs:** the task reviewer gets four paths — the same brief
file, the report file, the review package, and a review file to write
to (brief `…/task-N-brief.md` → review `…/task-N-review.md`) — plus
the global constraints that bind the task.
- **Review file:** the reviewer writes its full report there and returns
only verdicts, ⚠️ items, one line per Critical/Important finding, a
Minor count, and the path. Don't read the review file — the final
message is your decision surface; the detail is for fix subagents.
- Fix dispatches get the review file path for the full findings, append
their fix report (with test results) to the same report file, and
return a short summary; re-reviews read the updated report file and
append to the review file.

## Durable Progress

Expand Down Expand Up @@ -292,9 +300,9 @@ Implementer: "Got it. Implementing now..."
- Self-review: Found I missed --force flag, added it
- Committed

[Run review-package, dispatch task reviewer with the printed path]
Task reviewer: Spec ✅ - all requirements met, nothing extra.
Strengths: Good test coverage, clean. Issues: None. Task quality: Approved.
[Run review-package, dispatch task reviewer with the printed path + review file]
Task reviewer: Spec ✅. Quality: Approved. Minor: 0.
Full report: task-1-review.md

[Mark Task 1 complete]

Expand All @@ -309,13 +317,13 @@ Implementer:
- Self-review: All good
- Committed

[Run review-package, dispatch task reviewer with the printed path]
[Run review-package, dispatch task reviewer with the printed path + review file]
Task reviewer: Spec ❌:
- Missing: Progress reporting (spec says "report every 100 items")
- Extra: Added --json flag (not requested)
Issues (Important): Magic number (100)
Important: Magic number (100). Minor: 0. Full report: task-2-review.md

[Dispatch fix subagent with all findings]
[Dispatch fix subagent with the review file path]
Fixer: Removed --json flag, added progress reporting, extracted PROGRESS_INTERVAL constant

[Task reviewer reviews again]
Expand Down
43 changes: 31 additions & 12 deletions skills/subagent-driven-development/task-reviewer-prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,13 +112,27 @@ Subagent (general-purpose):

Your report should point at evidence: file:line references for every
finding and for any check you would otherwise answer with a bare
"yes." A tight report that cites lines gives the controller everything
it needs.

Your final message is the report itself: begin directly with the
spec-compliance verdict. Every line is a verdict, a finding with
file:line, or a check you ran — no preamble, no process narration,
no closing summary.
"yes." A tight report that cites lines gives the fix subagent
everything it needs.

## Report Format

Write your full report to [REVIEW_FILE] using the Output Format
below: verdicts, strengths, every finding with file:line, and any
check you ran outside the diff. Fix subagents read this file — it is
the only place your detail survives.

Then report back with ONLY (under 15 lines — the detail lives in the
review file):
- **Spec:** ✅ | ❌ — if ❌, one line per missing/extra/misunderstood
item (file:line + summary)
- **⚠️ Cannot verify from diff:** [items the controller must resolve
itself — always in this message, never only in the file]
- **Quality:** Approved | Needs fixes
- One line per Critical/Important finding: file:line + what's wrong,
with any plan-mandated finding marked (the human adjudicates those)
- Minor findings: count only
- The review file path

## Calibration

Expand All @@ -136,7 +150,7 @@ Subagent (general-purpose):
Acknowledge what was done well before listing issues — accurate praise
helps the implementer trust the rest of the feedback.

## Output Format
## Output Format (the review file)

### Spec Compliance

Expand Down Expand Up @@ -180,9 +194,14 @@ Subagent (general-purpose):
- `[DIFF_FILE]` — REQUIRED: the path the controller wrote the review
package to (`scripts/review-package BASE HEAD` prints the unique path it
wrote; the package never enters the controller's context)
- `[REVIEW_FILE]` — REQUIRED: the file the reviewer writes its full report
to; name it after the brief (brief `…/task-N-brief.md` → review
`…/task-N-review.md`). Re-reviews append to the same file.

**Reviewer returns:** Spec Compliance verdict (✅/❌/⚠️), Strengths, Issues
(Critical/Important/Minor), Task quality verdict
**Reviewer returns:** full report in `[REVIEW_FILE]`; final message under
15 lines — Spec verdict (✅/❌/⚠️), Quality verdict, Critical/Important
findings one line each, Minor count, review file path

A fix dispatch can address spec gaps and quality findings together;
re-review after fixes covers both verdicts.
A fix dispatch can address spec gaps and quality findings together — give
it the review file path for the full findings; re-review after fixes
covers both verdicts.