Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add The-Artificer-of-Ciphers-LLC/skills-from-the-artificer --skill test-first-bugfixgit clone --depth 1 https://github.com/The-Artificer-of-Ciphers-LLC/skills-from-the-artificerWrote 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/the-artificer-of-ciphers-llc/skills-from-the-artificer/test-first-bugfix)<a href="https://agentmods.dev/skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/test-first-bugfix"><img src="https://agentmods.dev/badge/skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/test-first-bugfix/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/the-artificer-of-ciphers-llc/skills-from-the-artificer/test-first-bugfix"><img src="https://agentmods.dev/badge/skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/test-first-bugfix.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.00138 | $0.03690 |
| Opus 5 | $0.00069 | $0.01845 |
| Sonnet 5 | $0.00028 | $0.00738 |
| Haiku 4.5 | $0.00014 | $0.00369 |
Grade A, and why
test-first-bugfix 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 12d 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 — 333 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test-First Bug Fixing
When a user reports a bug, the instinct is to jump straight to reading code and patching it. Resist that. A fix without a reproduction test is a guess — you can't prove it works, and you can't prevent the bug from coming back. This skill enforces a disciplined sequence: understand → reproduce → fix → prove.
The Sequence
1. Understand the Bug
Before touching any code, make sure you understand what's actually broken:
- Ask clarifying questions if the report is ambiguous
- Identify the expected behavior vs. actual behavior
- Note any error messages, stack traces, or reproduction steps the user provided
- Identify which part of the codebase is likely involved (but don't start fixing yet)
2. Study the Test Setup
Before writing the reproduction test, understand how this project tests things:
- Find the existing test framework and configuration (look for
jest.config,vitest.config,pytest.ini,Package.swifttest targets,.test./.spec./_test.files, etc.) - Study 2-3 existing tests near the area of the bug to understand patterns, conventions, and helpers
- Identify if you need mocks, fixtures, test databases, or other infrastructure
- Check for test utilities, custom matchers, or shared setup that you should reuse
This matters because a test that doesn't follow project conventions is a test the team won't maintain.
3. Write the Reproduction Test
Write a test that fails right now because of the bug. This is the most important step.
Guidelines:
- The test should be minimal — test exactly the broken behavior, nothing more
- Name it descriptively so the bug is obvious from the test name (e.g.,
test_login_fails_when_email_has_plus_sign, nottest_login_bug) - Place it in the appropriate test file following the project's conventions
- If a relevant test file exists, add the test there; don't create a new file unless necessary
- When writing tests, use
beforeEach/afterEach(orbefore/after) for setup and cleanup instead of inlinetry/finallyblocks. This keeps test bodies focused on assertions and ensures cleanup runs even if the test throws. For Node.jsnode:test, usedescribewithbefore/afterorbeforeEach/afterEachhooks.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 12d ago First seen · 333 lines · 138 tokens per session scan A 103fdf856d60
test-first-bugfix is a skill published in the GitHub repository The-Artificer-of-Ciphers-LLC/skills-from-the-artificer (4 stars, last pushed 10d ago), licensed MIT. It adds 138 tokens to every session and 3,690 once invoked, about $0.0007 per session on Opus 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-08-31.
Other skills, from other repositories
test-first-bugs
Enforces a test-driven bug-fixing workflow. Use when a user reports a bug, failing code, an error, or asks to fix something.
refactoring-patterns
Systematic refactoring techniques, code smell elimination, pattern extraction, and legacy modernization.
run-checks
Run the project's full verification gate: every check the project defines as a pass/fail condition, built from its CI config, check scripts, and configured tools, or from a formatter-linter-test baseline when it declares none. Use when the user asks to "run checks", "run the verification gate", "run lint and tests"…
lsp-refactoring
Intelligent code refactoring using IDE-level tools (rename, find-references, go-to-definition), AST-aware pattern matching, and TDD verification. Use for safe, large-scale refactoring with precision.
autonomous-tdd-debugger
Empowers the agent to autonomously run tests, read terminal stack traces, and self-heal code until tests pass. Transforms the agent from a passive coder to an active CI pipeline debugger.
test-writer
Write thorough tests following TDD and BDD principles.