Five Bugs — Testing skill for Claude Code
A 10-minute smoke test for AI coding agents.
How to install Five Bugs
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open vyang472/five-bugs and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Five Bugs does
A 10-minute smoke test for AI coding agents. Five seeded Python bugs, one checker the agent sees and one it never does — five agents across two labs and three model tiers all pass the first and fail the same case in the second.
Alternatives in Testing
- Test Runner — Run Python tests with pytest, unittest, or other testing frameworks 23.4k ★
- OpenAgentsControl — AI agent framework for plan-first development workflows with approval-based execution 4.8k ★
- Test Repl — Run a REPL test scenario against the claude-in-mobile REPL plugin (python/node/bash/...) 356 ★
README
five-bugs
A ten-minute smoke test for AI coding agents, and the numbers it produced.
Five single-file Python bugs. One checker the agent is given. **One checker the agent never sees.** The gap between those two is the whole point.
git clone https://github.com/vyang472/five-bugs
cd five-bugs
python3 scripts/verify.py # replays the archived patches, runs no agents, costs nothing
Everything here was run on one laptop. The tasks, the patches each agent actually wrote, the raw timings and token counts, and the scripts that produced them are all in this repo.
The finding I did not expect
Claude Code and Codex CLI both fixed all five bugs. Both passed the checker they were given, 5/5.
Then I wrote six new cases per bug — after the patches were in, never shown to either agent — and ran them again.
task agent visible hidden
t1 claude PASS PASS
t1 codex PASS PASS
t2 claude PASS PASS
t2 codex PASS PASS
t3 claude PASS PASS
t3 codex PASS PASS
t4 claude PASS FAIL
t4 codex PASS FAIL
t5 claude PASS PASS
t5 codex PASS PASS
Four of five held. On the fifth, **both agents failed in exactly the same way.** The bug was a greedy regex:
re.sub(r"<.+>", "", html) # the seeded bug
So I ran it again on three more agents — Claude Haiku 4.5, Sonnet 5 and Opus 5. Five agent configurations, two labs, three model tiers. They wrote three *different* patterns:
| agent | patch | hidden |
|---|---|---|
| Claude Code (default) | <[^>]+> |
FAIL |
| Codex CLI | <[^>]*> |
FAIL |
| Haiku 4.5 | <.+?> |
FAIL |
| Sonnet 5 | <[^>]+> |
FAIL |
| Opus 5 | <[^>]*> |
FAIL |
Three distinct fixes. One identical wrong answer:
strip_tags("a < b and c > d") # -> "a d" (all five)
None of them invented the blind spot. The visible checker contained only well-formed HTML, so that was the entire specification any of them was given
Related Skills
Myflow Controller
A controller for AI coding agents that takes 'done' away from the model: a Claude Code skill plus a stdlib-onl
Rubyn Self Test
Smoke test Rubyn-Code itself — exercises every major subsystem and reports a pass/fail scorecard
Money Model
Stress-test a money model (Mode 5) against Hormozi's CFA rule — 30-day cash, LTV:CAC, Four Prongs, sequence, d
Create Design Md
Use when the user asks to create a DESIGN.md, scaffold a design system spec for AI coding agents, add YAML des
Scaffold Plugin Test
Scaffold a headless behavior test for a werkstoff plugin skill — a seeded-defect fixture plus a case in test/p
Flow Content
記事制作フローを強制実行(Copywriter → Copy Editor → Human Voice Checker → Editor → QA)
Related Agents
Function Implementer
Implements a single work unit (its functions/methods) based on the unit spec, visible tests, and TECHSTACK.md.
Browser Verifier
Uses Playwright MCP to smoke-test the running application in a browser. Dispatched by /ship for pass/fail veri
Smoke Tester
Quick functional check of app workflows via Playwright. Walks through steps, verifies each passes, produces pa