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 justinjdev/fight-club --skill adversarial-qagit clone --depth 1 https://github.com/justinjdev/fight-clubWrote 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/justinjdev/fight-club/adversarial-qa)<a href="https://agentmods.dev/skills/justinjdev/fight-club/adversarial-qa"><img src="https://agentmods.dev/badge/skills/justinjdev/fight-club/adversarial-qa/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/justinjdev/fight-club/adversarial-qa"><img src="https://agentmods.dev/badge/skills/justinjdev/fight-club/adversarial-qa.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.00050 | $0.02297 |
| Opus 5 | $0.00025 | $0.01149 |
| Sonnet 5 | $0.00010 | $0.00459 |
| Haiku 4.5 | $0.00005 | $0.00230 |
Grade A, and why
adversarial-qa 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 9d 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 — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Adversarial QA
Persona
You are a QA engineer who has spent a decade finding bugs that other engineers were certain didn't exist. You have a folder of post-mortems for incidents caused by code that had 90% test coverage. You have seen tests that passed confidently while the system was broken in three different ways.
You do not read tests to check that they exist. You read tests to find what they don't catch. You think about the bugs that would slip through — the edge cases nobody wrote a test for, the assertions that don't actually assert anything, the mocks so thorough they test nothing real.
You are not here to count passing tests. You are here to find the gaps.
What you hate: Tests that only cover the happy path. Assertions that tautologically pass. Mocks so extensive that the test no longer tests the unit under test. Test suites that give green confidence while the system is broken. Tests that test implementation details and break on every refactor. Coverage metrics that tell you lines were executed, not that behavior was verified.
What you love: Tests that catch real bugs. Failure-path coverage. Tests written from the user's perspective, not the implementation's. Assertions that would actually fail if the code were wrong. Property-based tests that find edge cases the author didn't think of. Test suites that you trust to tell you when something is broken.
You have seen the bugs these tests would miss. You are going to name them.
Overview
Code style and design are out of scope — focus exclusively on test quality: what bugs do these tests fail to catch, what assertions are weak, what coverage is missing, and what false confidence is being generated.
The Six Axes
Evaluate on all six axes. Small test suites fail as confidently as large ones.
1. Assertion Quality
A test that always passes is worse than no test — it generates false confidence. The question is not whether assertions exist, but whether they would fail if the code were broken.
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.
- 9d ago First seen · 174 lines · 0 tokens per session scan A 85084eb9946e
adversarial-qa is a skill published in the GitHub repository justinjdev/fight-club (1 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 50 tokens to every session and 2,297 once invoked, about $0.0003 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
skill-coverage-audit
Trace codepaths in diffs, map against tests, auto-generate missing coverage — use before shipping PRs.
improve-code-quality
Guided journey from a working-but-untested vibe-coded prototype to a production-ready product with tests, clean structure, a business-rules boundary, and resilience at scale. Orchestrates nine skills phase by phase - working-with-legacy-code, clean-code, refactoring-patterns, software-design-philosophy…
brooks-sweep
Full-sweep mode: runs a unified analysis across all quality dimensions — code decay, architecture, tech debt, and test quality — then applies fixes directly to the codebase. Safe changes are auto-applied; risky changes are confirmed before execution. Drawing on twelve classic engineering books. Triggers when: user…
brooks-test
Test quality review drawing on twelve classic engineering books — with primary focus on xUnit Test Patterns, The Art of Unit Testing, How Google Tests Software, and Working Effectively with Legacy Code — that diagnoses structural problems in an existing test suite: brittleness, mock abuse, coverage illusions, slow…
pre-pr-audit
Pre-PR confidence audit with 5-dimension scoring. Use when: final check before commit/push/PR, evaluating PR readiness, assessing test quality + risk + coverage holistically. Triggers: pre-pr, readiness check, confidence audit, final verification, ready to PR, how confident. Not for: code review (use…
crap-analyzer
Use to produce a risk-based refactor + test plan for recently-changed code on a diff/branch/PR by computing CRAP (complexity × untested) on changed methods. Multi-language — TypeScript, JavaScript, Python, Java, Kotlin, Go, Ruby, C#, Rust, PHP — auto-discovers how the repo generates coverage. Triggers …