TE

test-design-reviewer

Scores test quality based on Dave Farley's testing principles to ensure your test suite acts as an effective safety net.

Install

mkdir -p .claude/skills/test-design-reviewer && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4977" && unzip -o skill.zip -d .claude/skills/test-design-reviewer && rm skill.zip

Installs to .claude/skills/test-design-reviewer

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Evaluates test quality using Dave Farley's 8 properties. Use when reviewing tests, assessing test suite quality, or analyzing test effectiveness against TDD best practices.
172 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Scores test design across 8 properties
  • Grades readability and intent
  • Analyzes coupling to implementation details
  • Provides recommendations for test refactoring

How it works

Evaluates code against predefined heuristics for the 8 properties of good tests (e.g., atomic, repeatable), returning a score and specific refactoring advice.

Inputs & outputs

You give it
Test suite or individual test file content
You get back
Evaluation scores for 8 properties and improvement feedback

When to use test-design-reviewer

  • Reviewing legacy test suites for brittleness
  • Analyzing test effectiveness against TDD standards
  • Refactoring tests to improve readability
  • Scoring new tests for project compliance

About this skill

Test Design Reviewer

Review tests as executable specifications and safety evidence. Read the tests before the implementation so their public story can stand on its own, then inspect the production boundary and repository constraints needed to judge the claims accurately.

Properties

PropertyInspectStrong evidence
UnderstandableNames, arrange/act/assert flow, domain vocabularyThe behavior and failure are clear without reconstructing internals
MaintainableCoupling, duplication, fixtures, public boundariesBehavior-preserving refactors do not require unrelated test rewrites
RepeatableTime, randomness, concurrency, network, shared resourcesRepeated and parallel runs have controlled inputs and cleanup
AtomicShared state, ordering, cleanup, failure isolationA test can run alone and its failure identifies one behavior
NecessaryDistinct risk or contract protectedRemoving the test would remove meaningful evidence
GranularScope of behavior and diagnostic qualityAssertions describe one coherent outcome; related assertions may stay together
FastMeasured feedback time at the appropriate layerThe suite is fast enough for its intended feedback loop
FirstEvidence of test-first developmentA captured RED run, development trace, or history demonstrates the test failed for the expected reason before production behavior changed

Rating

Rate each property Strong, Mixed, Weak, or Not assessed.

  • Use exact file locations and observed evidence.
  • Do not calculate an aggregate score; unequal risks and repository contexts make a weighted number falsely precise.
  • Mark First Not assessed when only the final tree is available. Static test shape cannot prove chronology.
  • Mark Fast Not assessed unless execution evidence or trustworthy timing is available.
  • Prefer the smallest change that strengthens observable behavior. Do not demand one assertion per test, one test per file, or unit tests where a higher-level contract is the honest evidence boundary.

Review Process

  1. Establish the claimed behavior, test layer, repository policy, and relevant risk.
  2. Read the tests without implementation and record what a failure would mean.
  3. Inspect the public production boundary, fixtures, and configured runner.
  4. Run focused tests or timing only when authorized and useful; report exactly what ran.
  5. Rate every property with evidence, including Not assessed where evidence is absent.
  6. Rank only actionable findings by severity and impact. Include the smallest credible fix.
  7. Separate test defects from production-design seams and local policy preferences.

Output

## Test design review: [scope]

| Property | Rating | Evidence |
|---|---|---|
| Understandable | Strong/Mixed/Weak/Not assessed | [file:line and reason] |
| Maintainable | ... | ... |
| Repeatable | ... | ... |
| Atomic | ... | ... |
| Necessary | ... | ... |
| Granular | ... | ... |
| Fast | ... | ... |
| First | ... | ... |

### Findings

1. **[severity] — [problem]** (`path:line`)
   Impact: [observable risk].
   Smallest fix: [action].

### Validation gaps

- [Anything not assessed and the evidence needed]

No findings is a valid result; do not invent work to populate the section.

Source And Attribution

The eight properties are drawn from Dave Farley's Properties of Good Tests. This version is a fresh, evidence-based implementation rather than a textual adaptation of an external skill. Read references/source-notes.md for the exact historical provenance and unresolved permission issue in older releases.

When not to use it

  • When writing throwaway code
  • When the codebase lacks sufficient test coverage to analyze

Limitations

  • Subjective grading based on agent interpretation of test intent
  • Does not automate the actual refactoring, only provides instructions

How it compares

Applies explicit academic testing principles rather than relying on standard code-linting or coverage metrics.

Compared to similar skills

test-design-reviewer side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
test-design-reviewer (this skill)12moNo flagsIntermediate
python-testing-patterns772moReviewIntermediate
dependency-upgrade265moReviewIntermediate
test-cases577moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry