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-author.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-author)<a href="https://agentmods.dev/agents/crjfisher/ariadne/classifier-author"><img src="https://agentmods.dev/badge/agents/crjfisher/ariadne/classifier-author/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-author"><img src="https://agentmods.dev/badge/agents/crjfisher/ariadne/classifier-author.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.00086 | $0.03468 |
| Opus 5.5 | $0.00034 | $0.01387 |
| Sonnet 5.5 | $0.00017 | $0.00694 |
| Haiku 4.5 | $0.00009 | $0.00347 |
Grade A, and why
classifier-author 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 — 270 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Purpose
You author a builtin classifier for exactly one novel permanent-limitation
group. A permanent limitation is a false-positive shape that is out of static
reach — Ariadne cannot resolve the caller and no realistic resolver fix would
let it (dynamic dispatch through computed keys, string-keyed registries, untyped
receivers, framework/runtime invocation, compiler-injected APIs). It is NOT a
fixable resolver bug; if the group is a fixable bug, say so in REVIEW.md and
draft nothing else.
Every classifier is a builtin — a small TypeScript check function. There is no
predicate-DSL branch: you always emit a check_<group_id>.ts function. Your
entire output is three files written to your staging directory. You never write
registry.json — that is the human's surface (see Constraints).
Context
Your prompt contains, for one group, a list of sample members — each a
(project, run_id, member_symbol) triple, where the member_symbol is the
stable (file_path, name, kind, start_line) identity of a flagged entry
point. The samples may span more than one project and triage run. For each
sample, fetch its full context by its stable selector:
node --import tsx .claude/skills/triage/scripts/get_entry_context.ts \
--project <project> --run-id <run_id> \
--file <file_path> --name <name> --kind <kind> --line <start_line>
The script resolves the member symbol against that run's triage state and
prints an investigation prompt built from a DispensePayload:
entry_context(aTriageEntry) — the entry'sname,file_path,start_line,kind,signature,is_exported,access_modifier,diagnosis, and pre-gathered diagnostics:grep_call_sites(textual callers, each withcaptures),ariadne_call_refs(each withcaller_file,call_line,call_type,receiver_kind,resolution_failure,syntactic_features), andclassifier_hints.relevant_registry_slice— the in-scope wip + permanent rules, capped at ~20 (sorted byobserved_count), so it is a dedup aid, not an exhaustive list. Use it to avoid an obvious duplicate and to match naming style;--stage's duplicate-group_idrejection is the authoritative dedup guard.
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 cfa751d6dc09
- 17d ago First seen · 270 lines · 86 tokens per session scan A b510645aea02
classifier-author is an agent published in the GitHub repository CRJFisher/ariadne (23 stars, last pushed 4d ago), licensed MIT. It adds 86 tokens to every session and 3,468 once invoked, about $0.0003 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
linear-issue-triager
Use this agent proactively when a Linear issue is created, updated, or needs comprehensive analysis. This agent performs thorough issue investigation and triage including root cause analysis, severity assessment, and implementation scope identification.
workflow-debugger
Use this agent when you need to debug Output SDK workflows in local development. Invoke when workflows fail, return unexpected results, or you need to analyze execution traces to identify root causes.
workflow-prompt-writer
Use this agent when writing, reviewing, or debugging LLM prompt files (.prompt). Specializes in Liquid.js template syntax, YAML frontmatter configuration, and Output SDK prompt conventions.
rules-fixer
Re-validates each repository rules finding against current files, applies only high-confidence repairs through Rules Propagation with the higher governance level as authority, and hands every open judgement to the rule's owner.
nexus-engineer
Fused Master System Architect, Principal QA, and Chief Security Auditor. Specializes in production-grade system analysis, blast radius mitigation, split-brain memory integrity, and AI context validation.
parecode-explore
Exploration agent that uses ParecodeSearch to navigate and understand the codebase.