design-for-testability
Advisory six-question interrogation of a design: how will we test it, how does it fail, what is observable, and what is the cheapest check that proves it works.
Skill by kashman001
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/kashman001-design-for-testability
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/design-for-testability
What's inside
- Skill name
design-for-testability- Description
- Advisory six-question interrogation of a design: how will we test it, how does it fail, what is observable, and what is the cheapest check that proves it works. Answers land where the design lives; never a gate.
- License
- MIT
- Instructions
- 77 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# design-for-testability — ask "how do we know it works?" before building > **Vendor-neutral skill.** Plain markdown any agent can read and drive, in the shared > `skills/` dir per `CONTEXT.md`. Claude Code also exposes it as > `/design-for-testability` (`.claude/commands/design-for-testability.md`). Decision capture here is strong (decision-log, ADRs, trailers); the question nobody is assigned to ask at design time is *how will we test this, and how does it fail*. Found after implementation, testability problems are the expensive kind. This skill is a short interrogation — a **companion** to `grill-with-docs`, `to-spec`, and ADR authoring, never a replacement or a gate. ## When to use - A design is taking shape: mid-grill, while a spec or ADR is being drafted, or right before `implement` / `tdd` on a feature with more than one moving part. - The user asks "how would we test this?" or "what happens when X breaks?". - Skip it for trivial changes (a typo, an obvious one-liner). ## Read first (demand-load) - The design under discussion: `work/<effort>/spec.md`, the ADR draft, or the plan in conversation — only what the six questions need. - `docs/work-directory-conventions.md` → "Verification evidence" — only when the answers produce concrete checks to record (question 2). ## Procedure — six questions Ask in order; the user answers, you sharpen. Each has a *write-down* — an answer too vague to write down is not yet an answer. 1. **What does "working" look like?** The observable outcome — output, state change, exit code, message — a stranger could confirm without reading the code. *Write down:* one sentence per success outcome. 2. **What is the cheapest check that proves it?** The smallest test, command, or manual step demonstrating 1 end to end. "Run the whole system and look" is a design signal — see 5. *Write down:* the check and its cost (seconds, a fixture, a human). 3. **How does it fail?** Walk inputs and dependencies: bad/missing input, dependency down or slow, partial completion (crash mid-way), re-run after failure, concurrent runs, stale state. *Write down:* one line per failure mode; mark handled vs. accepted. 4. **What is observable when it fails?** Per failure mode in 3: what a caller or operator sees — error message, non-zero exit, log line, metric, half-written file. Silent failure is the finding to hunt for. *Write down:* the signal per failure mode, or "silent — fix in design". 5. **What must the design change to make 1–4 cheap?** The seams: a pure core with I/O at the edges, an injectable clock/filesystem/network, an idempotent re-run, a `--dry-run`. Smallest change that turns an expensive check cheap. *Write down:* the change, or "none needed". 6. **What will we deliberately not test, and why?** The accepted risk, stated so it is a decision, not an omission. A real fork with a rejected alternative is also a `decision-log` Tier-2 note. *Write down:* the untested surface and the reason. ## Where the answers land Pick by where the design lives — one home, not three: - **Effort spec** (`work/<effort>/spec.md`) — the default. A `## Testability` heading (optional in the skeleton, `docs/agents/issue-tracker.md` → "Spec conventions") holding 1, 3, 4, 5, 6 as short bullets. - **ADR** — when the design is an ADR: failure modes, observability, and accepted risk (3, 4, 6) go in its **Consequences** section — the bill this decision sends to the future. - **Verification plan** (`work/<effort>/verification.md` → `## Plan`) — the concrete checks from 2, as `V<n>` items with `covers S<n>` where a spec exists. Answer in conversation first, then write; the write-down is the point. ## Verification - The home file holds the six answers (grep `Testability` in the spec, or read the ADR's Consequences); none reads "TBD". - Every failure mode from 3 has an observability line from 4. - Checks from 2, if any, appear as `V<n>` items in `verification.md`.
From kashman001/ai-workspace-template, MIT.
More from kashman001/ai-workspace-template
- 0.570score
constraint-driven-development
kashman001
Write a project's quality bar into CONSTRAINTS.md and flag changes that quietly lower it (new suppressions, skipped tests, stripped assertions, thresholds…
SkillAFreshness: AClaude Code +9 - 0.565score
doubt-driven-development
kashman001
Subject each non-trivial decision to a fresh-context adversarial review before it stands.
SkillAFreshness: AClaude Code +9 - 0.565score
create-work-item
kashman001
Scaffold a new developer-scoped project directory under work/ that follows the work-directory conventions (README + launcher next-session.md + ledger…
SkillAFreshness: AClaude Code +9 - 0.561score
doc-review
kashman001
Multi-perspective review of a technical document: audience gate first, six independent reviewer subagents, findings synthesized into prioritized…
SkillAFreshness: AClaude Code +9 - 0.560score
decision-log
kashman001
Capture the why behind a decision (choice, rejected alternative, constraint) as a commit trailer, a Tier-2 note in work/<project>/decisions.md, or a promoted…
SkillAFreshness: AClaude Code +9 - 0.557score
checkpoint
kashman001
Wrap up a finished chunk of work: reconcile the backlog, memory and docs, write the hand-off, confirm a clean branch, and emit a catch-up prompt for the next…
SkillAFreshness: AClaude Code +9 - 0.544score
diagnosing-bugs
kashman001
Diagnosis loop for hard bugs and performance regressions.
SkillAFreshness: AClaude Code +9 - 0.544score
git-guardrails-claude-code
kashman001
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute.
SkillAFreshness: AClaude Code +9 - 0.541score
create-verification-skill
kashman001
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillAFreshness: AClaude Code +9 - 0.539score
codebase-design
kashman001
Shared vocabulary for designing deep modules.
SkillAFreshness: AClaude Code +9 - 0.539score
domain-modeling
kashman001
Build and sharpen a project's domain model.
SkillAFreshness: AClaude Code +9 - 0.539score
code-review
kashman001
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code follow this repo's documented coding…
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 12, 2026 (17 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kashman001
- 0.570score
constraint-driven-development
kashman001
Write a project's quality bar into CONSTRAINTS.md and flag changes that quietly lower it (new suppressions, skipped tests, stripped assertions, thresholds…
SkillAFreshness: AClaude Code +9 - 0.565score
create-work-item
kashman001
Scaffold a new developer-scoped project directory under work/ that follows the work-directory conventions (README + launcher next-session.md + ledger…
SkillAFreshness: AClaude Code +9 - 0.565score
doubt-driven-development
kashman001
Subject each non-trivial decision to a fresh-context adversarial review before it stands.
SkillAFreshness: AClaude Code +9 - 0.561score
doc-review
kashman001
Multi-perspective review of a technical document: audience gate first, six independent reviewer subagents, findings synthesized into prioritized…
SkillAFreshness: AClaude Code +9 - 0.560score
decision-log
kashman001
Capture the why behind a decision (choice, rejected alternative, constraint) as a commit trailer, a Tier-2 note in work/<project>/decisions.md, or a promoted…
SkillAFreshness: AClaude Code +9 - 0.557score
checkpoint
kashman001
Wrap up a finished chunk of work: reconcile the backlog, memory and docs, write the hand-off, confirm a clean branch, and emit a catch-up prompt for the next…
SkillAFreshness: AClaude Code +9
Cite this page
design-for-testability skill. Agent Mart. https://agentmart.dev/skills/kashman001-design-for-testability (last updated 2026-10-24)