finding-disposition
Skill1 starsChanged 27 days agoMITView on GitHub
Conductor-only. How to run a review round and dispose of every finding — briefing plan-adversary and adversary, Applied/Escalated/Rejected for brief findings, Filed/Fixed/Rejected for diff findings, the critical/major human gate, the round commit, P0 saturation, re-review, the round cap, and the yield record.
In this repository20 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- adversarial-reviewSkill
- clean-architectureSkill
- decision-recordingSkill
- design-system-checkSkill
- dispatch-handoffSkill
- feature-branchingSkill
- git-recoverySkill
- gotcha-recordingSkill
- human-checkpointSkill
- plan-reviewSkill
- plan-writingSkill
- pr-createSkill
- simplicity-ladderSkill
- spec-writingSkill
- subagent-contractSkill
- subagent-dispatchSkill
- tdd-loopSkill
- update-toolkitSkill
- wiki-updateSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 1 is distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Verify report: If no findings and no Checked: line, re-dispatch once demanding it.
- Very specific: line 31
Re-plan: only for a structural blocker (wrong decomposition or impossible order), once, with findings attached.
- Very specific: line 43
Send only: commit range, entity slug(s), case IDs, test command — plus previous round findings on re-review (step 9).
- Very specific: line 47
Filed: Add a todo line (docs/wiki/todos.md § Tags, tagged [adversary]): critical → ## Now (P0 — next), major → ## Next (P1), minor → ## …
- Very specific: line 48
Fixed: Only a human-approved critical/major.
- Distinctive: line 78
Filing brief findings for later: when you are about to implement their subject.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Finding Disposition
Reviewers use plan-review and adversarial-review; they receive nothing from this file. Every dispatch runs through subagent-dispatch.
Every finding gets one written disposition, and the record is committed. Silence is not a disposition; "unlikely" is not a reason. Rejecting via an unwritten invariant requires writing that invariant into the entity page or gotchas.md as part of the rejection.
Read first
docs/wiki/gotchas.mdand the entity## Behaviorcases the round covers.
Brief round — before Red (plan-adversary)
- Subject (exactly one):
.handoff/<slug>-plan.md([complex]/batched cycle) or the verbatim todo line plus$ARGUMENTSinstruction (simple cycle). - Send only: subject, entity slug(s), case IDs, test command, and branch name — never your opinion or defense.
- Verify report: If no findings and no
Checked:line, re-dispatch once demanding it. Dispose (
Appliedis default):Disposition When Action Applied Valid, and fixable via plan edit, sharper brief, or added case ID On a planned cycle, edit .handoff/<slug>-plan.md. On a simple cycle, pass the refinement in thedeveloper'sInputs:brief (and if you updatedocs/wiki/todos.md, stage it in thedocs(<slug>): plan reviewcommit of step 6 below, so the tree is clean before the developer runs).Escalated The spec is wrong, ambiguous, or missing human-checkpointrecommending/project:interview. Stop the cycle.Rejected Misreads the brief, or outside this cycle's cases One sentence. Out-of-scope work worth doing becomes an ordinary todo line. A contested
blockeris ahuman-checkpoint, never a unilateral rejection. Optionally dispatchtriagewhen a finding hinges on code you have not read.- Re-plan only for a structural blocker (wrong decomposition or impossible order), once, with findings attached. A second disagreement →
human-checkpoint. Commit the record in the cycle's
worklog entry (docs/wiki/log.md, plusdocs/wiki/todos.mdif edited) asdocs(<slug>): plan reviewbefore dispatchingdeveloper(/project:workstep 4a):- Plan review: 3 findings — 2 applied, 1 rejected - P1 blocker spec-fidelity — Applied: B3 had no step; plan step 4 now covers it. - P3 note scope — Rejected: retry policy belongs to entity `billing`, not this cycle.
Diff round — after the cases land (adversary)
- Scope: the whole cycle, once.
<sha-before-cycle>..HEAD, where<sha-before-cycle>is the commit just before the cycle's first case commit (thedocs(<slug>): plan reviewcommit when step 4a ran). Never one review per case. Checkgit diff --stat <range> -- . ':(exclude)docs/wiki/log.md'; empty → skip and say so. - Send only: commit range, entity slug(s), case IDs, test command — plus previous round findings on re-review (step 9). Never send
.handoff/, conductor reasoning, or intent prose. - Check independence: The adversary diffs with
docs/wiki/log.mdexcluded; flag any report citing.handoff/orlog.md.HEADand tracked files must be unchanged. - Triage (optional): Dispatch
triagewith the range, slug, case IDs, and verbatim findings. Never downgrade severity solely because a failure was not reproduced live. - Dispose (
Filedis default):- Filed: Add a todo line (
docs/wiki/todos.md § Tags, tagged[adversary]):critical→## Now (P0 — next),major→## Next (P1),minor→## Later (P2).nitis never filed. - Fixed: Only a human-approved
critical/major. Dispatchdeveloperfor a failing test + fix commit:fix(<slug>): <what> — adversary F<n>(includeWiki-Update: none (adversary fix)footer if the entity page needs no change). - Rejected: One sentence citing the invariant, misread, or scope boundary.
- Filed: Add a todo line (
- Human gate: Group all
criticalandmajorfindings into onehuman-checkpoint(claim, failure scenario, files touched, recommendation). If declined or unreachable infastmode → file at P0/P1 and highlight in the cycle report. A human instruction such as "fix all the findings" is the approval, at that scope. Commit the round record (stage
docs/wiki/todos.mdplus any gotcha/ADR from triage; do not stagelog.mdin a round a re-review follows —/project:workrecords the tally in step 8'sworkentry, and/project:adversarystages itsadversaryentry in the final round's commit):git add docs/wiki/todos.md # plus any gotcha or ADR the triage produced git commit --allow-empty -m "$(cat <<'MSG' docs(<slug>): adversary round 1 — 3 findings, 1 fixed, 1 filed, 1 rejected, 2 nits F1 critical correctness — Fixed in a1b2c3d (human approved): empty token rejected before lookup. F2 major durability — Filed P1 (human declined immediate fix): unbounded retry on 5xx. F3 minor test-integrity — Rejected: covered by tests/integration/test_auth.py. Nits: 2 — not filed. MSG )"--allow-emptyhandles rounds where every finding was rejected or Fixed in its own commit.git log --grep="adversary round"is the audit trail.- P0 saturation: Count open P0 items (
docs/wiki/todos.md § P0 saturation threshold). At or aboveP0_MAX→human-checkpointwith the count,[adversary]share, three oldest entries, and a recommendation. - Re-review only if something was Fixed, over the fix commits only, attaching prior findings and their disposition lines. Stop after 3 rounds maximum: at round 3, gate/file any open
critical/majoritems and list openminor/nititems in the round commit as unfiled (reason: round cap).
Record the yield — every round
Record exact counts per severity and disposition in the round commit and the cycle's log entry (if run via dispatch-handoff, name the external harness and model so its counts are not attributed to the role's pinned model). When open [adversary] todos reach FINDINGS_MAX (docs/wiki/todos.md § Filed-findings backlog), note it in the cycle report.
Anti-patterns
- Leaking author context into either reviewer's brief.
- Fixing
minorfindings inline or fixing acritical/majorwithout human approval. - Filing brief findings for later when you are about to implement their subject.
- Re-reviewing the whole diff or opening a fourth round.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

