# Triage

> Verify a panel's findings against their artifact: each gets a consider / skip verdict and a confidence. TRIGGER when: a fan-out skill needs its findings verified before walking them with the user; user says 'triage these findings', 'verify which of these are real', 'which are worth acting on'.

- Skill: `preetamnath/triage` (Agent Skill)
- Install (CLI): `npx skillmds@latest add preetamnath/triage`
- Raw SKILL.md: https://api.skillmd.com/api/skills/preetamnath/triage/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: preetamnath (https://skillmd.com/u/preetamnath)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/preetamnath/triage

---


# Triage

Verify a list of findings: fan out independent checkers, each judging whether a finding is real and worth acting on, and returning a per-finding verdict and a confidence. The caller decides what to do with them.

## Instructions

### Step 1 — Receive the inputs

The caller passes: the **findings** (each with an id and its claim) and the **artifact path(s)**. If the findings or the artifact are missing, ask before proceeding.

### Step 2 — Batch the findings and fan out

- **Batch:** **1–3 findings per checker, sized by complexity** (more than 3 degrades independence and quality) — a finding needing deep ground-truth checking goes alone; simple or closely-related ones can share.
- **Dispatch:** one `general-purpose` subagent per batch, in parallel — cap ~6 concurrent and wave the rest.
- **Each checker gets only:** its finding(s), the artifact path(s), the return contract below, and the instruction not to fan out checkers of its own.

For each finding it holds, the checker reads the artifact fresh and:
- **real?** — is the finding correct, or a misread? Ground it in the artifact.
- **material?** — does it warrant the user's attention?
- maps the two axes to one **verdict**:
    - real AND material → `consider`
    - not real, or real but trivial → `skip`
    - can't be checked against the given artifact (claim rests on runtime behavior or files outside it) → `skip` with reason `unverifiable`
- returns: `verdict`, `adjusted_confidence` (0.00–1.00, the checker's fresh score), one-line `reason` — on a `skip`, say which: false positive, real-but-trivial, or unverifiable.

### Step 3 — Return output conforming to the [Output Schema](#output-schema) below.

Collect the checkers' results verbatim — don't re-judge or override a verdict.

## Rules

- **Clean room.** A checker didn't produce the finding it judges — don't pass it the panel's reasoning, prior score, or your expected verdict.
- **Score from the read, don't re-rank by fiat.** Verdict and confidence come from the checker's read, not the caller's preference.
- **Bar-free.** Judge `consider`/`skip` on the finding's own merits; the caller owns any confidence bar and applies it after.

---

## Output Schema

```
TriageResult {
  verdicts: [
    {
      finding_id: string,
      verdict: "consider" | "skip",
      adjusted_confidence: number,   // 0.00–1.00, the checker's fresh score
      reason: string                 // one line; on skip: false positive, real-but-trivial, or unverifiable
    }
  ]
}
```

