| name | triage |
| description | Batch-validate ALL findings through the 7-Question Gate. Kills weak findings in bulk. Usage: /triage |
| disable-model-invocation | false |
Batch triage all findings.
ALL validator agents dispatched by this command MUST use model: "inherit".
Process
- Read findings.md and/or findings.json
- List all findings with a numbered summary
- For EACH finding, launch
validator agent with the finding details
- Collect results: PASS / KILL / DOWNGRADE / CHAIN REQUIRED
- Output summary table:
TRIAGE RESULTS
═══════════════
# Finding Decision Reason
1 GraphQL schema leakage KILL Q7 Never-submit: introspection alone
2 Config exposure SayTech KILL Q7 SPA client config is by design
3 Internal service URLs KILL Q6 Not exploitable externally
4 IDOR on /api/users/{id} PASS Confirmed with real data
5 XSS on comments PASS Cookie theft PoC works
PASSED: 2 findings → ready for /report
KILLED: 3 findings → removed from queue
- Update brain with triage results
- For KILLED findings:
uv run python3 $CLAUDE_PROJECT_DIR/tools/brain.py record <target> exhausted "<finding>" "<kill reason>"
- For PASSED findings: suggest
/report or /validate for full PoC + evidence
Top-Tier Triage Standard
Batch triage should reduce the queue aggressively.
For each finding, produce:
- decision: PASS, KILL, DOWNGRADE, CHAIN REQUIRED, DUPCHECK REQUIRED, EVIDENCE REQUIRED
- deciding gate: the first question or artifact that controlled the outcome
- missing proof: exact command, account, request, browser check, or chain needed
- reportability: bounty-grade, pentest-note, internal hardening, or discard
- memory action: confirmed, exhausted, partial, duplicate-risk, or chain-pending
Do not average weak findings into a stronger story. Chain them only when one finding provides a capability the next finding consumes.