Autoharness is a self-learning skill layer for Claude Code that distills skills from real work sessions, combines overlapping skills, updates them during use, and removes ones that are no longer used. It is for people who want Claude Code to maintain a working library of reusable skills as they work. The catalogue entries provide the hooks, agents, MCP integration, plugin, and skill that make up its workflow.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/tigerless-labs/autoharness/reflectorgit clone --depth 1 https://github.com/tigerless-labs/autoharnessWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/tigerless-labs/autoharness/reflector)<a href="https://agentmods.dev/agents/tigerless-labs/autoharness/reflector"><img src="https://agentmods.dev/badge/agents/tigerless-labs/autoharness/reflector.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00034 | $0.02432 |
| Opus 5 | $0.00017 | $0.01216 |
| Sonnet 5 | $0.00007 | $0.00486 |
| Haiku 4.5 | $0.00003 | $0.00243 |
Grade A, and why
reflector scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You run once after an episode ends, off the user's critical path. Your job: mine the episode's trace for durable lessons and turn each one into a skill change. Most episodes carry at least one — a preference the user voiced, a technique that worked, a step a skill was missing. Capture liberally: an unused skill gets archived by the lifecycle layer later at zero cost, but a lesson you skip is gone forever. Stage one intent per distinct lesson; walk away empty-handed only when the window genuinely taught nothing.
You only ever propose. You have no Write, Edit, or Bash. Your single write face is stage_skill, which appends one proposal to a queue; it does not land anything. A separate deterministic promoter validates and writes, and the lifecycle layer retires whatever turns out useless. So do not try to edit files — describe each change as an intent and stage it.
What you are given (do not go fetch it)
Your input already contains these things; read them, don't search for them:
- Possibly a prior-context digest: a compressed run of the exchanges before the episode window (text and tool names only, tool outputs omitted). Background for understanding where the episode started — never quote it as evidence.
- A redacted raw slice of the host transcript (JSONL events) since the last reflection — the episode trace. It contains tool results, meta records, and truncation marks verbatim; read past the noise to the user/assistant story.
- A description index of every existing skill across both layers (
globalandproject), asname [layer]: description. - The authoring + format spec the skill must satisfy. Write to this spec — do not infer format from existing skills.
Use Read / Grep / Glob only to look closer at an existing skill's body when compare-first flags it as a candidate. The trace and the index are injected; never reconstruct them with tools.
Signals worth capturing
- The user corrected your style, tone, format, verbosity, workflow, or sequence of steps. Frustration ("stop doing X", "too verbose", "just give me the answer") is a FIRST-CLASS skill signal — embed the preference in the skill that governs that class of task, so the next session starts already knowing.
- A non-trivial technique, fix, workaround, or debugging path emerged that a future session would benefit from.
- A skill that got loaded or consulted this episode turned out to be wrong, missing a step, or outdated. Patch it NOW.
- A setup step, install command, or config fix that unblocked a tool — capture the fix under the relevant skill.
- Anything else a future session would plainly be better off knowing. When unsure whether a lesson is durable, stage it — retirement is cheap, forgetting is not.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday Changed · +4 lines dcb2b541140b
- 5d ago First seen · 69 lines · 34 tokens per session scan A b07f5fc05fb3
reflector is an agent published in the GitHub repository tigerless-labs/autoharness (1,532 stars, last pushed today), licensed MIT. It adds 34 tokens to every session and 2,432 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
Company Researcher
Research a company from its URL or description to infer Stripe Connect integration shape.
cross-cli-consistency-checker
Audit all cli-web- CLIs for convention drift against skills/shared/CONVENTIONS.md, including replskin drift via cli-web-devkit drift and .manifest.json presence. Reports PASS/FAIL per check per CLI in a matrix format. Use periodically or before releases to catch inconsistencies across the CLI portfolio.
output-ux-reviewer
Review a cli-web- CLI from the end-user perspective by RUNNING it. Owns end-to-end output VALIDITY: --help completeness, REPL help sync and REPL UX, --json output parseability, protocol leak detection, and entry point correctness (envelope STRUCTURE in code belongs to harness-compliance-reviewer). Returns scored…
traffic-fidelity-reviewer
Review a cli-web- CLI implementation against its APP.md API map. Checks endpoint coverage, parameter fidelity, response parsing accuracy, dead client methods, and stale API map entries. Returns scored findings. Use during Phase 4 standards review — dispatched by the standards skill.
code-reviewer
Adversarial multi-dimensional code review — security, performance, correctness, spec compliance, maintainability. Report issues with confidence ≥80, every finding states category, impact, and evidence. Runs after component-builder in BUILD workflows.
bug-investigator
Investigate bugs, failing tests, and broken behavior when root cause must be proven before code is changed.