CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

testable-design

Design code for testability using boundary isolation, dependency injection, and testable architecture patterns. Use when designing test strategies, writing unit tests, improving test coverage, refactoring untestable or hard-to-test code, working with mocking or test doubles, or applying TDD practices.

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, actionable skill body: clear sequenced workflow with per-step outputs, executable commands, a disciplined anti-pattern catalog, and clean progressive disclosure into four genuine reference files. Weaknesses are minor — some duplicated statements between Philosophy, Layer Isolation, and Step 5, and code examples with placeholder bodies.

DimensionReasoningScore

Conciseness

The body is dense and earns most of its tokens: before/after code, an anti-pattern catalog with WHY/BAD/GOOD, and copy-paste ripgrep commands, with no explaining of basics Claude already knows. It is not 5 because of repetition: "If code is hard to test, it's a design problem, not a testing problem" appears in both Philosophy and the 'Tests Are Architecture' section, and Step 5's checklist ('Entities are unit tested (pure logic, no dependencies)') restates the Layer Isolation section; it is well above 3 because the padding is limited to these few duplicated statements.

4 / 5

Actionability

Concrete, near-executable guidance throughout: TypeScript before/after DI examples, a Humble Object pair, stub/mock/fake implementations, and runnable commands like `rg -n "new [A-Z].*Repository\(|..." src`. It is not 5 because several examples have placeholder bodies ('// Logic using this.repo', '// Business logic here') and the StubOrderRepository implements only findById against an interface that also requires save, so they are not fully copy-paste ready; it clearly exceeds 3 since the code is real (not pseudocode) with only minor gaps.

4 / 5

Workflow Clarity

The five-step workflow (identify blockers → apply DI → isolate side effects → design test doubles → verify boundary tests) is clearly sequenced, each step declares an explicit **Output**, and Step 5 is a verification checklist. It is not 5 because there is no feedback loop for error recovery (no guidance on what to do when a Step 5 check fails or a blocker can't be refactored); this is not a destructive/batch skill, so the validation cap does not apply, and the explicit per-step outputs place it above the 3 anchor.

4 / 5

Progressive Disclosure

SKILL.md serves as the overview (philosophy, principles, workflow, anti-patterns) and pushes deeper material into four real, one-level-deep files, all verified to exist with substantive content, clearly signaled in a References table that includes a 'When to Use' navigation column. This matches the 5 anchor's clear overview with well-signaled one-level-deep references and easy navigation; nothing inlined clearly belongs in a separate file.

5 / 5

Total

17

/

20

Passed

Description

91%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it explicitly states what the skill does and when to use it, with rich natural trigger terms and synonyms. The only weaknesses are the single-verb action list and a few broad triggers (unit tests, TDD) that risk overlap with closely related testing skills.

DimensionReasoningScore

Specificity

The description names the domain and several concrete techniques: "boundary isolation, dependency injection, and testable architecture patterns". It falls below the 5 anchor because there is a single primary action ("Design code for testability") with the techniques as modifiers, rather than the multiple distinct concrete actions the 5 anchor requires (e.g., extract/fill/merge/convert); it is above the 3 anchor because more than 1-2 specific approaches are explicitly named.

4 / 5

Completeness

Both halves are explicit: what it does ("Design code for testability using boundary isolation, dependency injection, and testable architecture patterns") and when to use it ("Use when designing test strategies, writing unit tests, ... or applying TDD practices") with concrete trigger phrases. This mirrors the 5 anchor's structure exactly; the 'when' clause is present and enumerates six concrete triggers, so it is not the 4 anchor's case of a 'when' that could be more specific.

5 / 5

Trigger Term Quality

Natural phrases a user would say are comprehensively covered, including synonyms: "writing unit tests", "improving test coverage", "refactoring untestable or hard-to-test code", "mocking", "test doubles", and "TDD practices". It matches the 5 anchor's bar of natural terms plus synonyms ("untestable or hard-to-test code", "mocking or test doubles"); file extensions are not applicable to this design skill.

5 / 5

Distinctiveness Conflict Risk

The core niche (designing code for testability via DI and boundary isolation) is clearly distinct, and most triggers ("test coverage", "hard-to-test code", "mocking", "test doubles") point at this niche. It is not 5 because triggers like "writing unit tests" and "applying TDD practices" are broad phrases that closely related skills (e.g., a test-driven-development skill) would also claim; it is not 3 because the description is far more specific than a generic domain statement and the overlap is confined to closely related skills.

4 / 5

Total

18

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

pantheon-org/tekhne

Path

skills/software-engineering/design-principles/testable-design/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.