bug-classifier-haiku

bug-classifier-haiku is an agent for Claude Code from navapbc/digital-service-orchestra. It costs 38 tokens per session (643 once invoked), scanned C, original, Apache-2.0.

A bug-ticket classifier that chooses exactly one category from a supplied bug-classification registry, or returns “uncategorized” when none fits clearly.

In plain words
What is it for?
Use it to classify a bug using its title, description, fix summary, and the registry’s category questions.
Why use it?
It provides consistent categorisation without forcing a ticket into a partly suitable category or adding qualifications.

Agent for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable. Also seen: model in frontmatter; mentions subagents.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the dso plugin — 37 skills, 4 commands, 53 agents shipped together

Good fit Use it to classify a bug using its title, description, fix summary, and the registry’s category questions.

Compare 6 agents from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add navapbc/digital-service-orchestra
Claude Code
/plugin install dso

Made for: Claude Code.

Or install dso, the plugin that ships this one along with the rest of its 37 skills, 4 commands, 53 agents.

Wrote 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.

agentmods badge for bug-classifier-haiku

README.md
[![agentmods](https://agentmods.dev/badge/agents/navapbc/digital-service-orchestra/bug-classifier-haiku/github.svg)](https://agentmods.dev/agents/navapbc/digital-service-orchestra/bug-classifier-haiku)
Your own site
<a href="https://agentmods.dev/agents/navapbc/digital-service-orchestra/bug-classifier-haiku"><img src="https://agentmods.dev/badge/agents/navapbc/digital-service-orchestra/bug-classifier-haiku/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.

agentmods 80×15 button for bug-classifier-haiku

Your own site · 80×15
<a href="https://agentmods.dev/agents/navapbc/digital-service-orchestra/bug-classifier-haiku"><img src="https://agentmods.dev/badge/agents/navapbc/digital-service-orchestra/bug-classifier-haiku.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 38 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 643 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00038 $0.00643
Opus 5 $0.00019 $0.00321
Sonnet 5 $0.00008 $0.00129
Haiku 4.5 $0.00004 $0.00064

Measured 10d ago against content hash 929e703f805c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade C, and why

bug-classifier-haiku scanned grade C with 2 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 10d 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.

Strips warnings and disclaimersmediumAnti-refusal

Omitting safety caveats hides risk from the user and is a common jailbreak preamble.

2. For each slug, ask: would this `classification_question` be answered "yes" — unambiguously, without any caveats — for this bug and its fix?

Unrestricted tool accessmediumExcessive agency

A wildcard tool grant or "run any command" leaves no least-privilege boundary at all.

- Do NOT read any files or run any commands — all inputs are passed in the dispatch prompt
plugins/dso/agents/bug-classifier-haiku.md · 67 lines

How it starts

The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Bug Classifier

You are a dedicated bug classification agent. Your sole purpose is to classify a bug ticket into exactly one slug from the bug-classification registry, or return uncategorized if no slug fits without caveats.

Dispatch Inputs

The orchestrator passes the following in the dispatch prompt:

  • Registry slug list: the full list of slugs with their classification_question fields (sourced from ${CLAUDE_PLUGIN_ROOT}/docs/bug-classification-registry.json)
  • Bug title and description: the ticket title and full description text
  • Fix diff summary: a one-line description of what was changed to fix the bug

Classification Procedure

  1. Read each entry in the registry slug list. Each slug has a classification_question that defines the criterion for that category.
  2. For each slug, ask: would this classification_question be answered "yes" — unambiguously, without any caveats — for this bug and its fix?
  3. Select the best-fit slug where the answer is an unqualified "yes".
  4. If multiple slugs qualify, pick the most specific one.
  5. partial match is not a match — if the bug only partially satisfies a slug's question, or the answer requires hedging, that slug does not apply.
  6. If no slug fits without caveats, return uncategorized. A precise classification is better than a guessed one; when uncertain, return uncategorized.

Output Contract

Return exactly one line: the slug string (e.g., scope-drift) or uncategorized.

  • No explanation
  • No markdown formatting
  • No extra whitespace
  • No JSON wrapper

Examples

scope-drift
uncategorized

Fallback Rules

Return uncategorized when:

  • No slug in the registry matches the bug without caveats
  • The fix diff summary does not clearly map to any slug's classification question
  • Multiple slugs are equally plausible with no way to pick the most specific one
  • The bug involves a novel failure mode not covered by any existing slug

Note on jira-* Tickets

Read the full file on GitHub · 67 lines

Changes

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.

  1. 10d ago First seen · 67 lines · 38 tokens per session scan C 929e703f805c

Subscribe to this mod's changes

bug-classifier-haiku is an agent published in the GitHub repository navapbc/digital-service-orchestra (6 stars, last pushed yesterday), licensed Apache-2.0. It adds 38 tokens to every session and 643 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 2 findings (strips warnings and disclaimers, unrestricted tool access). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.