Borrowing it
Nothing to install: this file belongs to CRJFisher/ariadne. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/CRJFisher/ariadne/main/.claude/agents/classifier-fixer.mdgit clone --depth 1 https://github.com/CRJFisher/ariadneWrote 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/crjfisher/ariadne/classifier-fixer)<a href="https://agentmods.dev/agents/crjfisher/ariadne/classifier-fixer"><img src="https://agentmods.dev/badge/agents/crjfisher/ariadne/classifier-fixer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/crjfisher/ariadne/classifier-fixer"><img src="https://agentmods.dev/badge/agents/crjfisher/ariadne/classifier-fixer.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00096 | $0.02418 |
| Opus 5.5 | $0.00038 | $0.00967 |
| Sonnet 5.5 | $0.00019 | $0.00484 |
| Haiku 4.5 | $0.00010 | $0.00242 |
Grade A, and why
classifier-fixer 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 5d ago.
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 — 203 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Purpose
You repair the builtin classifier of exactly one drifted registry rule. The
rule's check_<group_id>.ts fired on too few cases in recent triage runs —
per-entry fp-classifier-regression verdicts accumulated as drift_evidence[]
rows on the rule, and the human applied the drift flag through
reconcile-registry --drift. Your job is to close that recall gap without
opening a precision gap: a broadened predicate that starts matching genuinely
unreachable functions suppresses exactly the true-positives the pipeline exists
to surface, permanently and silently. When in doubt, escalate — never absorb.
You edit only packages/core/src/classify_entry_points/builtins/check_<group_id>.ts
and its sibling check_<group_id>.test.ts — ordinary source edits, not registry
writes, so the registry write-guard is not involved. You never write
registry.json, permanent_data.ts, or the builtins barrel index.ts (the
check is already registered; drift is under-matching, not a new rule). You do
not rebuild core — the dispatching session runs one gated
pnpm build --filter core plus the full builtins suite after all fixers return.
Context
Your prompt carries, for one rule: its group_id, the path to its
check_<group_id>.ts, its registry row's description (the limitation the rule
catalogs), and its drift_evidence[] rows — each
{ project, run_id, entry_index, evidence_excerpt }. Resolve every case to its
full entry before reasoning about any of them:
node --import tsx .claude/skills/triage/scripts/get_entry_context.ts \
--project <project> --run-id <run_id> --entry <entry_index>
Then re-run with --enriched and save stdout — the full EnrichedEntryPoint
JSON, the exact shape your check receives at runtime — to
cases/<project>-<entry_index>.json (a case's identity is
(project, entry_index); the index alone can collide across projects) under
your staging directory
(~/.ariadne/reconcile/<run>/classifier-fixer/<group_id>/, the <run> is in
your prompt). Build your discriminator from the enriched shape's name,
file_path, start_line, kind, and diagnostics (grep_call_sites,
ariadne_call_refs with receiver_kind / resolution_failure /
syntactic_features) — never from definition_features or tree_size (a
packages/core denylist test rejects any check that reads them).
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.
- 5d ago Changed 3f323800738c
- 17d ago First seen · 203 lines · 96 tokens per session scan A cec9384ae59f
classifier-fixer is an agent published in the GitHub repository CRJFisher/ariadne (23 stars, last pushed 4d ago), licensed MIT. It adds 96 tokens to every session and 2,418 once invoked, about $0.0004 per session on Opus 5.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-10-06.
Other agents, from other repositories
test-runner
Unit and integration test execution with intelligent failure triage and debugging.
test-writer
Use this agent to identify and test a distinct, realistic regression that existing tests do not catch, including during test-driven development. Do not generate a comprehensive suite by default. Invoke /writing-tests before changing test setup or assertions.\n\nExamples:\n \nContext: The user has just implemented a…
phoenix-bug-reproducer
Reproduces a reported Phoenix bug as a failing automated test. Give it the issue number, labels, the bootstrap report and the suspected area; it reports REPRODUCED with the test path and failing output, or NOTREPRODUCED with what it tried. It never edits non-test code.
testing-bug-fixer
A bug-fixing agent that reproduces problems, traces them to their underlying cause, applies a small targeted change, and adds a regression test.
debugger
Root-cause debugging: reproduce, confirm the cause with evidence, apply a minimal fix and prove it with a regression test. Use for bugs, flaky tests or errors of unknown cause.
test-engineer
TDD & Logic Verification Expert. Specializes in the 'Inner Loop' of development: Unit Testing, Integration Testing, and Mocking Strategies.