triage-findingslisted
Install: claude install-skill lklimek/claudius
# Interactive Finding Triage
Start an interactive triage session: the user classifies each finding in a browser UI, and decisions are written back to the report JSON.
**Argument**: `$ARGUMENTS` — path to the `report.json` produced by `grumpy-review` or `check-pr-comments`.
## Workflow
1. Validate the report JSON against the schema:
```bash
python3 ${CLAUDE_SKILL_DIR}/../../scripts/validate_report.py "$ARGUMENTS"
```
Requires `python3-jsonschema` (`apt install python3-jsonschema`).
If validation fails, fix the JSON and re-validate. Do NOT start the triage server with invalid data.
The validator also prints non-blocking `[consistency]` warnings to stderr (label/band drift, or an un-rated axis such as `scope` pinned at `1.0`). These don't fail validation, but surface them to the user — severity labels are *derived* from `risk`/`impact`/`scope` per `claudius:severity`, never hand-typed, so a warning means the floats need rerating, not a label edit.
2. Start the triage server (default port 8741):
```bash
python3 ${CLAUDE_SKILL_DIR}/../../scripts/triage_server.py "$ARGUMENTS" [--port PORT]
```
The server auto-opens a browser; if that fails, it prints the URL for the user.
3. Wait for the user to complete triage in the browser and submit. The server writes the `triage` field back into the report JSON and exits.
### Killing a stuck server
The server normally shuts down when the user submits with `complete=true`. If stuck, kill it by port — **neve