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 modular design workflow before implementation.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Brief before code",
"description": "Includes a compact design brief rather than only implementation.",
"max_score": 8
},
{
"name": "Complexity goal",
"description": "States reduction of total complexity, caller burden, hidden coupling, or change amplification.",
"max_score": 8
},
{
"name": "Two designs",
"description": "Compares at least two candidate designs.",
"max_score": 10
},
{
"name": "Comparison criteria",
"description": "Compares alternatives using module depth, surface area, leakage, pass-throughs, layer fit, change impact, or caller burden.",
"max_score": 10
},
{
"name": "Interface contract",
"description": "Documents purpose, public operations, inputs, outputs, errors/invariants, side effects, caller responsibilities, hidden knowledge, and non-goals.",
"max_score": 12
},
{
"name": "Deep module",
"description": "Chooses a small caller-facing operation hiding promotion sequencing and special cases.",
"max_score": 10
},
{
"name": "No shallow split",
"description": "Avoids parser/validator/processor-style temporal decomposition or pass-through wrappers.",
"max_score": 8
},
{
"name": "Minimal API",
"description": "Exposes intention-revealing operations rather than many tiny rule methods.",
"max_score": 8
},
{
"name": "Design gates",
"description": "Answers gates for deepest module, hidden knowledge, leakage, pass-throughs, distinct layers, special cases, and future change.",
"max_score": 14
},
{
"name": "Result report",
"description": "Summarizes hidden complexity, interfaces changed, rejected alternatives, and tradeoffs.",
"max_score": 12
}
]
}