CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

test-driven-development

Use when implementing any feature or bugfix, before writing implementation code

Quality

59%

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

Fix and improve this skill with Tessl

tessl review fix ./src-tauri/experts/skills/test-driven-development/SKILL.md

The canonical home for this skill is test-driven-development in obra/superpowers

SKILL.md
Quality
Evals
Security

Quality

Content

66%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.

The core red-green-refactor workflow is excellent — clearly sequenced, with explicit verification checkpoints, error-recovery branches, executable examples, and a checklist. Quality drops at the margins: substantial duplication across the three rationalization-focused sections, and a broken reference to @testing-anti-patterns.md (no such file exists in the bundle).

Suggestions

Create references/testing-anti-patterns.md or remove the reference — the body currently points to a file that does not exist in the bundle.

Merge "Why Order Matters", "Common Rationalizations", and "Red Flags" into a single section; they cover the same objections three times over.

Move the anti-rationalization/objection-handling material to a reference file and keep SKILL.md focused on the cycle, leaving the inline body closer to the core workflow.

DimensionReasoningScore

Conciseness

Three separate sections — "Why Order Matters" (5 rebuttals), "Common Rationalizations" (11-row table), and "Red Flags" (13 bullets) — restate the same anti-rationalization material, and a graphviz block that Claude cannot render or execute consumes ~20 lines. This is noticeably verbose with several padded sections (anchor 2), beyond anchor 3's "some unnecessary explanation that could be tightened".

2 / 5

Actionability

Fully executable guidance throughout: paired Good/Bad TypeScript examples, real commands ("npm test path/to/test.test.ts"), a complete worked bug-fix cycle from failing test to passing test, a "When Stuck" table with specific solutions, and a concrete verification checklist. This matches anchor 5 (copy-paste ready, covering the common cases).

5 / 5

Workflow Clarity

The red-green-refactor cycle is clearly sequenced with explicit mandatory verification steps after each phase, error-recovery feedback loops ("Test errors? Fix error, re-run until it fails correctly"; "Other tests fail? Fix now"), and a final verification checklist — exactly anchor 5's "explicit validation steps; feedback loops for error recovery; checklists for complex processes".

5 / 5

Progressive Disclosure

No bundle files exist, yet the body's only reference — "read @testing-anti-patterns.md" — points to a nonexistent file, leaving navigation broken. Meanwhile ~100 lines of objection-handling and anti-pattern content that clearly belongs in a separate reference file are inlined in SKILL.md. This matches anchor 2 rather than anchor 3, since the defect is not just imperfect organization but a dangling reference plus inlined secondary content.

2 / 5

Total

14

/

20

Passed

Description

32%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.

The description has a clear, well-formed trigger clause but omits the skill's purpose entirely — a reader cannot tell this is about writing tests before code. It is also over-broad as a trigger, matching nearly any development task. It reads as half of a good description with the "what" half missing.

Suggestions

Add a concrete statement of what the skill does, e.g. "Write the failing test first, then minimal implementation code (red-green-refactor cycle)."

Include the skill's own vocabulary as trigger terms — "TDD", "write tests first", "test-driven" — so it is distinguishable from other coding skills.

Narrow the trigger's breadth ("any feature or bugfix" matches nearly all coding tasks) or acknowledge the breadth is intentional, since it is meant as an always-on discipline.

DimensionReasoningScore

Specificity

The description names the domain ("implementing any feature or bugfix") but lists no concrete actions — the word "test" never even appears. It matches anchor 2 ("Names the domain but actions are minimal or generic") and falls short of anchor 3, which requires 1-2 concrete stated actions.

2 / 5

Completeness

The "when" is explicit ("Use when implementing any feature or bugfix, before writing implementation code") but the "what" is entirely absent — the skill's actual behavior (write tests first) is never stated. Anchor 2 ("only 'when' is present without 'what'") matches exactly; anchor 3 is the inverse case and does not apply.

2 / 5

Trigger Term Quality

"implementing any feature or bugfix" provides some natural keywords, but major variations users would say are missing: "test", "TDD", "write tests", "refactoring". This fits anchor 3 (relevant keywords present, common synonyms missing) rather than anchor 4's "good keyword coverage with only a few natural terms missing".

3 / 5

Distinctiveness Conflict Risk

"implementing any feature or bugfix" would fire on virtually every coding task, creating high overlap risk with any implementation, testing, or code-review skill. "TDD" is never named, so the skill cannot be distinguished from other testing skills — anchor 2 ("Very broad; high overlap risk with many similar skills").

2 / 5

Total

9

/

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

arwei944/codeg

Path

src-tauri/experts/skills/test-driven-development/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.