Installs into .claude/skills of the current project.
Are you the author of Agent Fitness?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/wrg32786-agent-fitness)
---
name: agent-fitness
agent: none
description: Track and surface sub-agent dispatch calibration ratios. Extract from JSONL transcript or read existing ledger. Per-agent clean/blocked/errored/partial trends.
allowed-tools: Bash, Read
user-invocable: true
triggers:
- agent fitness
- agent calibration
- agent stats
- sub-agent stats
- which agents work
- /agent-fitness
- agent dispatch trends
---
# /agent-fitness
Three modes:
**`/agent-fitness extract`** — runs `python3 daemons/agent-fitness-extract.py` to scan the latest JSONL transcript and append new dispatch rows to `memory/AGENT_FITNESS.md`. Idempotent (dedup by session_id + tool_use_id).
**`/agent-fitness`** (no args) — runs `python3 daemons/agent-fitness-report.py`. Surfaces:
- Total dispatches (all-time, last 30d, last 7d)
- Per-agent calibration table (Total / Clean / Blocked / Errored / Partial / Ratio)
- Per-agent recent outcome trend (last 10 dispatches encoded as `c7 b1 e0 p0`)
- ⚠ Repeat-blocker callouts (any agent with >=2 blocks in window)
- Top 3 failing (agent, task) pairs
**`/agent-fitness --days 7`** — same as above but windowed to last N days. Useful for "is this agent failing more lately?"
## Computation
Calibration ratio per agent: `clean / (total − errored)`. The denominator excludes hard errors (infrastructure/tool failures) and only counts agent-level outcomes.
Trend signal: any agent with >=2 blocks in the window surfaces a repeat-blocker callout. The classifier was hardened in v0.5.1 to catch real Lyra-style block patterns ("BLOCKED:", "are denied", "blocker-found" etc).
## When to run
- After major sessions where multiple sub-agents fired (today S30d had ~7 dispatches)
- Periodically (weekly?) to spot trends
- Before relying on a sub-agent for something heavy ("am I about to dispatch an agent that's been failing?")
## What it does NOT do
- Does not auto-reroute dispatches based on calibration. Surfaces data; principal decides.
- Does not LLM-classify failures — heuristic only (keyword matching on result content).
- Does not pool across sessions for cluster analysis. Future v0.5.x.
- Does not include task-type clustering. All tasks pooled per agent.
## Cross-links
- [[concepts/Somatic v0.5.0 Agent Fitness]] — spec
- [[memory/AGENT_FITNESS]] — the data
- [[concepts/Somatic Roadmap]]
- [[memory/TRUST_DECAY]] — sibling claim → outcome ledger