Red First Review Skill — Testing skill for Claude Code
Review a PR by measuring which of its own guards its own test suite actually catches.
How to install Red First Review Skill
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open tonydzi/red-first-review-skill and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Red First Review Skill does
Review a PR by measuring which of its own guards its own test suite actually catches. Neutralise each guard, run their tests, report the removals nothing notices. Stdlib-only, no install. Claude Code skill + standalone tool.
Alternatives in Testing
- Test Driven Development.SKILL — Enforces TDD discipline with RED-GREEN-REFACTOR cycle 262 ★
- Mobile Scan — Quick QA scan of an existing mobile app 107 ★
- Specpilot Report — Run the Spec-First review gate: classify the change, update specs, then wait for confirmation before coding 37 ★
README
red-first-review
**A test that has never been shown failing is a claim, not a check.**
This is a Claude Code skill plus a small standalone tool for reviewing someone else's pull request by measuring the one thing you cannot get by reading it: *which of the guards this PR adds would survive being deleted?*
You neutralise each guard in turn, run the project's own test suite, and record what nothing notices. Survivors are the finding. Everything else in the review — the suggested test, the argument, the ranking — hangs off that table.
Standard library only. Python 3.8+. Nothing to install.
python3 mutmatrix.py \
--repo . \
--test "pytest tests/unit -q -p no:randomly" \
--file src/pkg/api.py \
--call-identity redact_secrets
What that produces, from the hand-rolled run this repository was built out of ([google/adk-python#6957](https://github.com/google/adk-python/pull/6957), a PR redacting OAuth secrets at eight call sites):
| mutant | verdict | killed by |
|---|---|---|
/run |
SURVIVED | nothing |
/run_sse |
killed | test_agent_run_sse_redacts_oauth2_client_secret |
/run_live (websocket) |
SURVIVED | nothing |
_redacted_session_response |
killed | test_get_session_redacts_oauth2_client_secret |
_redacted_sessions_response (list) |
SURVIVED | nothing |
dev get_eval_result_legacy |
SURVIVED | nothing |
dev get_eval |
killed | test_get_eval_redacts_oauth2_client_secret |
dev get_eval_result |
SURVIVED | nothing |
The PR's title named three endpoints. One of them was actually guarded by a test. Reverting the `/run` line alone left the entire suite green.
Why it refuses to guess
Most of this tool is not the mutation loop — that part is twenty lines. Most of it is the checks that stop it printing a table it cannot stand behind.
| gate | what it catches | exit |
|---|---|---|
| baseline | suite already red → nothing is attributable to the PR | 3 |
| canary | t |
Related Skills
Claude Code Receipts
Claude Code plugin that checks the agent's end-of-turn claims against what it actually did this session — flag
Ship And Verify
Build the Mori desktop release, prompt user to install + run targeted tests, then read JSONL log to verify the
Kazi
Make your coding agent actually finish the job. Install one skill and Claude Code keeps working — planning, fi
Test Review
Write-then-verify test review — write tests in your normal flow, then mechanical gates (red-green + mutation)
Self Test
In-process governance guard self-test — asserts the 3 core guards block crafted payloads, $0 hermetic — /self-
Test Driven Development
Use when implementing any feature or bugfix, before writing implementation code - write the test first, watch
Related Agents
Green TDD
Green TDD hardener. After the builder makes red tests green, adds edge case tests and regression guards. Cheap
Doey Product Brain
Product gatekeeper — rejects complexity, enforces simplicity, guards the fresh-install invariant. Evaluates ev
Cr Boundary Guard
Guards the project's declared critical dimension — data isolation between tenants/accounts/users, authenticati