debug-my-harnesslisted
Install: claude install-skill zernie/vigiles
Diagnose harness misbehavior from the **flight recorder** — the local, append-only ledger
at `.vigiles/runs.jsonl` that vigiles writes as your harness runs. It records what actually
happened, so you debug from evidence instead of guessing.
## What's in the ledger
One JSON record per line, each with a `kind`:
- `hook` — a compiled-hook gate decision: `{event, decision: allow|deny|ask, mode: enforce|observe, rule, cmd, reason}`.
- `agent` — a subagent tool-contract decision: `{name, tool, allowed, reason}` (a `false` = the agent went outside its lane).
- `skill` — a skill activation: `{name, fired}`.
- `eval` — a measured metric: `{name, metric, value}` (e.g. trigger-rate recall/precision).
- `capability-diff` — a blast-radius change: `{pr, added, removed, widened}`.
## Instructions
### Step 1: Read the ledger
Read `.vigiles/runs.jsonl` (JSONL — one record per line; tolerate a torn last line). If it's
absent or empty, say so — there's nothing recorded yet; suggest running the harness (or
`vigiles audit`) first. Do NOT fabricate records.
### Step 2: Answer the specific question, evidence-first
Match the user's question to the ledger:
- **"Why did skill X stop firing / why does the wrong one run?"** — count `skill` fires by
name over time. If X's fire-rate dropped, look for a sibling that fired on the same kinds
of prompts (a **selection collision**) and check their descriptions for overlap. Recommend
differentiating or merging the descriptions.
- **"Why didn't my