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
{
"context": "Tests risk-focused testing strategy and level selection.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Risk first",
"description": "Starts from behaviours, requirements, input space, expected outputs, and failure modes rather than code shape or coverage targets.",
"max_score": 12
},
{
"name": "Small suite goal",
"description": "States goal of smallest high-confidence maintainable suite rather than maximizing coverage.",
"max_score": 8
},
{
"name": "Input partitions",
"description": "Partitions normal cases, boundaries, forbidden values, and semantically distinct categories.",
"max_score": 10
},
{
"name": "Test levels",
"description": "Assigns unit-style tests to calculations/rules, narrow integration to persistence/serialization, and sparse E2E to critical journeys.",
"max_score": 14
},
{
"name": "Oracles observability",
"description": "Defines observable outputs/effects and suggests improving observability if hidden.",
"max_score": 10
},
{
"name": "Property candidates",
"description": "Identifies suitable invariant/property-based tests such as monotonicity, rounding bounds, or conservation without reimplementing algorithm.",
"max_score": 10
},
{
"name": "Coverage diagnostic",
"description": "Uses coverage as feedback for forgotten behaviour, not as the objective.",
"max_score": 8
},
{
"name": "AAA skeleton",
"description": "Skeleton tests follow Arrange-Act-Assert with domain-named scenarios.",
"max_score": 10
},
{
"name": "Boundary tests",
"description": "Includes invalid inputs, thresholds, and boundary examples.",
"max_score": 10
},
{
"name": "Stop rule",
"description": "States when to stop adding tests based on marginal information/risk.",
"max_score": 8
}
]
}