Borrowing it
Nothing to install: this file belongs to johnnichev/selectools. 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/johnnichev/selectools/main/.claude/skills/bug-hunt/SKILL.mdgit clone --depth 1 https://github.com/johnnichev/selectoolsWrote 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/skills/johnnichev/selectools/bug-hunt)<a href="https://agentmods.dev/skills/johnnichev/selectools/bug-hunt"><img src="https://agentmods.dev/badge/skills/johnnichev/selectools/bug-hunt/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/skills/johnnichev/selectools/bug-hunt"><img src="https://agentmods.dev/badge/skills/johnnichev/selectools/bug-hunt.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.00000 | $0.01566 |
| Opus 5.5 | $0.00000 | $0.00626 |
| Sonnet 5.5 | $0.00000 | $0.00313 |
| Haiku 4.5 | $0.00000 | $0.00157 |
Grade A, and why
bug-hunt 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 2mo 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 — 118 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Bug Hunt
Deploy parallel QA sub-agents to find bugs. Scope: $ARGUMENTS
If no scope, default to "all".
Resolve Scope
all→ deploy 7 agents (one per subsystem below)agent→ 1 agent: core loop, config, mixins, streaming, batchproviders→ 1 agent: all 5 providers, fallback, circuit breaker, _openai_compattools→ 1 agent: tool system, decorators, loader, registry, toolbox, MCP bridgerag→ 1 agent: loaders, chunking, hybrid search, BM25, reranker, vector stores, embeddingsmemory→ 1 agent: ConversationMemory, sessions, entity memory, knowledge graph, knowledge storesevals→ 1 agent: evaluators, suite, report, regression, pairwise, snapshot, badges, CLIsecurity→ 1 agent: guardrails, audit, screening, coherence, policy, injection patterns
Agent Template
Each agent should read the source files for its subsystem, then look for:
1. Correctness Bugs
- Type mismatches — function signatures don't match callers (e.g. missing
tools=None) - Async/sync inconsistency —
arun()/astream()missing features thatrun()has (pitfall #12) - None handling —
response_msg.contentused withoutor ""guard (pitfall #7) - Race conditions — shared mutable state in
batch()/abatch()without locks. These are invisible to sequential tests. Key targets: circuit breakers, caches, vector stores, batch runners. Mental test: "what if two threads call this simultaneously?" - Resource leaks —
ThreadPoolExecutor()created per call instead of shared. Fix: module-level lazy singleton.
2. API Contract Violations
- Provider protocol —
stream()/astream()not passingtoolsparameter (pitfall #1) - ToolCall stringification — streaming paths converting ToolCall objects to strings (pitfall #2)
- Observer events — missing
run_idin observer calls, or events not firing in all 3 loop methods - StepType consistency — trace steps using string literals instead of
StepType.ENUM_NAME - _effective_model — any remaining
self.config.modelin_provider_caller.py(should all beself._effective_model)
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.
- 2mo ago First seen · 118 lines · 0 tokens per session scan A 5a601b24f0f1
bug-hunt is a skill published in the GitHub repository johnnichev/selectools (11 stars, last pushed 4d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 1,566 tokens. 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.
bug-hunt compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| bug-huntjohnnichev/selectools | Skill | 11 | 4d ago | Apache-2.0 | A | 0 | Claude Code |
| llamaguarddavila7/claude-code-templates | Skill | 33k | yesterday | MIT | A | 74 | Claude Code, Codex |
| qa-expertpersonamanagmentlayer/pcl | Skill | 44 | 11d ago | Apache-2.0 | A | 53 | Claude Code |
| codeql-expertpersonamanagmentlayer/pcl | Skill | 44 | 11d ago | Apache-2.0 | A | 68 | Claude Code |
| thumbgate-doctorIgorGanapolsky/ThumbGate | Skill | 30 | yesterday | MIT | A | 168 | Claude Code |
| continuum-observabilityshyftlabs/continuum | Skill | 84 | 1mo ago | Apache-2.0 | A | 70 | Claude Code |
| prevention-rulesIgorGanapolsky/ThumbGate | Skill | 30 | yesterday | MIT | A | 18 | Cursor |