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 ArdurAI/ardur-agent --skill debug-test-failuregit clone --depth 1 https://github.com/ArdurAI/ardur-agentWrote 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/ardurai/ardur-agent/debug-test-failure)<a href="https://agentmods.dev/skills/ardurai/ardur-agent/debug-test-failure"><img src="https://agentmods.dev/badge/skills/ardurai/ardur-agent/debug-test-failure/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/ardurai/ardur-agent/debug-test-failure"><img src="https://agentmods.dev/badge/skills/ardurai/ardur-agent/debug-test-failure.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.00017 | $0.01220 |
| Opus 5.5 | $0.00007 | $0.00488 |
| Sonnet 5.5 | $0.00003 | $0.00244 |
| Haiku 4.5 | $0.00002 | $0.00122 |
Grade A, and why
debug-test-failure 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 1mo 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 — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Diagnosing a failing test
A failing test is a measurement, not an obstacle. Work the failure as evidence before touching any code. The goal is to know why it fails before you change anything — a fix applied without a diagnosis usually moves the failure rather than removing it.
1. Read the failure, all of it
Start from the raw output, not your memory of what the test does.
- Find the assertion that failed and the exact line it failed on. Frameworks bury this under stack frames; the first frame inside your code is usually the one that matters.
- Record the expected and actual values verbatim. The shape of the
mismatch tells you a lot: off-by-one, wrong type, empty vs populated,
None/nullwhere a value was due, a timestamp or ordering difference. - Note whether it is an assertion failure, an uncaught exception, a timeout, or a panic/crash. These have different root-cause families — a timeout is rarely the same kind of bug as a wrong return value.
- Scan for a second failure. The first error often causes the rest; fix the first and the cascade may clear.
2. Confirm it is the test you think it is
Run the single test in isolation before forming any theory:
# pick the form your runner uses
cargo test path::to::test_name -- --exact --nocapture
pytest tests/test_mod.py::test_name -x -vv
go test ./pkg -run '^TestName$' -v
Two outcomes, two meanings:
- Fails in isolation — the bug is in the unit under test or this test's own setup. Good; you have a clean reproduction.
- Passes in isolation, fails in the suite — this is a test-interaction bug: shared global state, leaked fixtures, ordering dependence, a database or temp file not reset between tests, or a parallel-execution race. Hunt the state that leaks across tests, not the assertion.
3. Isolate the assertion
Narrow the failure to the smallest claim that is false.
- If the assertion compares a large structure, compare fields one at a time until you find the field that differs. Assert on that field alone.
- If it loops, find the first iteration that fails and pin the inputs for that iteration.
- Replace a complex expected value with an inline literal you computed by hand. If your hand-computed value also fails, the bug is in the code; if it passes, the bug was in how the test built its expectation.
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.
- 1mo ago First seen · 119 lines · 17 tokens per session scan A 703925695982
debug-test-failure is a skill published in the GitHub repository ArdurAI/ardur-agent (2 stars, last pushed yesterday), licensed Apache-2.0. It adds 17 tokens to every session and 1,220 once invoked, about $0.0001 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-08-31.
Other skills, from other repositories
trace
Use when encountering bugs, test failures, runtime errors, broken builds, or "this doesn't work" reports. Systematic root-cause analysis before any patch — never blind-patches symptoms. Standalone, ends with a final-integration review of the fix. Trigger with /hyperflow:trace, "debug this", "find the root cause", "why…
oma-debug
Diagnose a reproducible failure, fix its cause, and verify the regression. Use for crashes, incorrect behavior, and failing tests.
compiler-11897630
A coverage skill that marks or reports how much of a set of instructions is covered by tests. Test coverage is a measure of which code paths tests exercise.
rpa-bugfix
Run when the user invokes /rpa-bugfix together with a clear bug description (expected vs actual, reproduction). Reproduction test first, then fix, full test suite, short report. Will not work correctly without the bug details.
dos-self-improve
Run the DOS self-improvement loop: propose a candidate, verify it in an isolated worktree, measure suite/truth/metric gates, and keep only confirmed gains. Use for recursive improvement; use dos-enforce-tune for policy knobs.
superpowers-systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.