Use before implementing or refactoring software. Contains two skills: (1) Modular Software Design — for designing module boundaries, APIs, layers, abstractions, services, repositories, adapters, or architecture, helping reduce total system complexity by creating deep modules, hiding implementation knowledge, avoiding leakage and pass-through APIs, comparing alternative designs, documenting interfaces before coding, and critiquing existing architecture; and (2) Software Testing — for writing unit tests, integration tests, or end-to-end tests, creating mocks/stubs/fakes, designing a testing strategy, doing TDD, reviewing test quality, fixing flaky tests, or refactoring test suites, generating risk-focused test plans, picking appropriate test levels, choosing between mocks/fakes/real dependencies, and applying Arrange-Act-Assert patterns with concrete examples.
93
94%
Does it follow best practices?
Impact
92%
1.12xAverage score across 5 eval scenarios
Passed
No known issues
Brief before code
87%
100%
Complexity goal
87%
100%
Two designs
70%
100%
Comparison criteria
40%
100%
Interface contract
66%
100%
Deep module
90%
100%
No shallow split
87%
100%
Minimal API
87%
100%
Design gates
50%
100%
Result report
66%
100%
Critique structure
80%
100%
Symptoms first
80%
100%
Pass-throughs
91%
100%
Layer duplication
70%
100%
Leaks
85%
100%
Distinct layers
70%
80%
Deep operation
50%
62%
Small refactor
100%
100%
Errors concepts
50%
100%
Priority order
75%
100%
Risk first
91%
91%
Small suite goal
75%
75%
Input partitions
90%
90%
Test levels
92%
92%
Oracles observability
70%
70%
Property candidates
70%
90%
Coverage diagnostic
25%
100%
AAA skeleton
90%
90%
Boundary tests
100%
90%
Stop rule
37%
50%
Behaviour focus
100%
100%
Avoid internals
100%
90%
Fakes preferred
100%
100%
Mock rationale
90%
100%
Own types
100%
100%
Public seam
100%
100%
AAA
100%
90%
Precise assertions
100%
100%
Refactor support
100%
100%
Smell review
100%
100%
Highest symptom
91%
91%
Focused lower test
90%
80%
Neighbor cases
100%
100%
Legacy safety net
70%
90%
Public seam
100%
100%
Refactor path
100%
90%
Flake review
80%
70%
Doubles choice
100%
100%
Property invariant
75%
87%
Coverage use
50%
16%
Maintainable structure
100%
100%