evaluate-testslisted
Install: claude install-skill michaelalber/ai-toolkit
# Evaluate Tests
> "If tests break when you rename a private method, your tests are describing the solution,
> not the problem."
> — Adapted from Kent Beck
## Two Modes
| Mode | Input | Output | Use when |
|------|-------|--------|----------|
| **1 · Test-file quality** | a test file or directory | per-test classification + prioritized rewrite list | auditing whether existing tests are behavioral and refactor-safe |
| **2 · TDD compliance** | git commit history (+ test/impl files) | 0–25 compliance scorecard + anti-pattern findings | verifying test-first discipline was actually followed |
Pick the mode from the request. Run both for a full audit — Mode 1's findings feed the Behavioral
and Coverage categories of Mode 2's scorecard.
---
# Mode 1 — Test-File Quality
## What This Skill Evaluates
For each test, assess two properties and one pattern:
### 1. Behavioral (does the test specify behavior?)
A behavioral test fails when the observable outcome breaks.
An implementation-coupled test fails when internals change even if behavior is identical.
| Signal | Behavioral | Implementation-coupled |
|--------|-----------|----------------------|
| Assertion target | Return value, state visible through public API, side effect via public interface | Mock call count (`assert_called_with`), private field access (`_total`), internal call order |
| Refactor sensitivity | Survives extract-method, rename, move-class | Breaks on rename even when behavior is unchanged |
| Failure mess