design-for-testability

Interrogates software designs with six testability questions before implementation begins.

Updated Jun 24, 2026
One-click install
npx skills add https://github.com/kashman001/ai-workspace-template --skill design-for-testability-kashman001
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: design-for-testability
Source: https://github.com/kashman001/ai-workspace-template/tree/main/skills/design-for-testability
Command: npx skills add https://github.com/kashman001/ai-workspace-template --skill design-for-testability-kashman001

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Designs often reach implementation without anyone asking how the feature will be tested, how it fails, or what is observable when it breaks. Testability problems discovered after code is written are the expensive kind; this Skill surfaces the testability bill while the design is still cheap to change. ## Core Features & Use Cases - Six-question interrogation: Walks through what "working" looks like, the cheapest check that proves it, failure modes, observability per failure, design seams that make checks cheap, and what will deliberately not be tested. - Companion to design workflows: Runs alongside spec drafting, ADR authoring, or plan review sessions, and never acts as a gate that blocks a design. - Structured write-down: Answers land in one home — a ## Testability section in the effort spec, the Consequences section of an ADR, or V<n> items in a verification plan. - Use Case: While drafting a spec for a retry mechanism, use this Skill to enumerate failure modes (dependency down, partial completion, concurrent runs), record the observable signal for each, and capture the accepted untested risk as an explicit decision. ## Quick Start Ask the agent to run the design-for-testability interrogation on the current spec or ADR draft and record the six answers in the design document.

Frequently Asked Questions about design-for-testability

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make a software design more testable before writing code?▼

Ask six questions at design time: what working looks like, the cheapest check that proves it, how it fails, what is observable per failure, what design change makes checks cheap, and what you deliberately will not test. Write each answer into the spec or ADR where the design lives.

What questions should I ask when reviewing a technical design?▼

Focus on observable outcomes a stranger could confirm, failure modes like bad input or partial completion, the signal each failure produces, and seams such as injectable clocks or dry-run flags. Silent failures are the key finding to hunt for.

When should I skip a testability review of a design?▼

Skip it for trivial changes such as a typo fix or an obvious one-liner. It is intended for designs with more than one moving part, during spec or ADR drafting, or right before implementation starts.

Where should testability decisions be documented?▼

Record them in one home matching where the design lives: a Testability heading in the effort spec, the Consequences section of an ADR, or V-items in the verification plan. Accepted untested risk can also become a decision-log entry.

Does a testability review block a design from proceeding?▼

No, it is advisory and never acts as a gate. It makes the testability cost visible before code is written, but the design proceeds regardless of the answers.