CtrlK
BlogDocsLog inGet started
Tessl Logo

testing-anti-patterns

Use when writing or changing tests, adding mocks, or tempted to add test-only methods to production code - prevents testing mock behavior, production pollution with test-only methods, and mocking without understanding dependencies

66

Quality

83%

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

73%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 single-file skill whose main strength is actionability: every anti-pattern pairs a bad/good code example with an explicit gate-function checkpoint including feedback loops, giving excellent workflow clarity. Its main weakness is redundancy — the TDD-prevents-everything message is repeated in three places and the closing summary sections overlap, which costs token efficiency without adding guidance.

Suggestions

Consolidate the redundant TDD messaging: merge 'TDD Prevents These Anti-Patterns' and 'The Bottom Line' into one short section, keeping the core principle stated once.

Merge the overlapping 'Quick Reference' table and 'Red Flags' list into a single quick-reference section to cut duplicated signals.

Trim the 'Why this is wrong' bullet lists where the gate function already states the failure mode (e.g., Anti-Pattern 4's bullets duplicate its Iron Rule).

DimensionReasoningScore

Conciseness

The core TDD message is repeated across 'Following strict TDD prevents these anti-patterns', the 'TDD Prevents These Anti-Patterns' section, and 'The Bottom Line', and the 'Quick Reference', 'Red Flags', and 'Bottom Line' sections overlap substantially. It matches anchor 3 (mostly efficient but could be tightened) rather than anchor 2, since the example pairs and gate functions genuinely earn their tokens.

3 / 5

Actionability

Each anti-pattern has concrete bad/good TypeScript example pairs plus an explicit gate-function decision procedure ('BEFORE mocking any method... IF depends on side effects: Mock at lower level'). This fits anchor 4 (mostly executable guidance with minor gaps) rather than anchor 5, because the code fragments are illustrative (referencing Page, addServer, config) rather than copy-paste runnable.

4 / 5

Workflow Clarity

The gate functions are explicit validation checkpoints with STOP conditions, the Anti-Pattern 3 gate includes a feedback loop ('Run test with real implementation FIRST... THEN add minimal mocking'), and 'Red Flags' serves as a checklist. This matches anchor 5 (clear sequence, explicit validation, feedback loops, checklists) rather than anchor 4, which requires missing checkpoints.

5 / 5

Progressive Disclosure

The single-file skill has no bundle directories (references/, scripts/, assets/ are absent) and no referenced paths to verify, so nothing is buried or nested. It is well-sectioned with headers and a quick-reference table, fitting anchor 4 (good structure, minor organization gaps) rather than anchor 5, since a ~320-line document covering six anti-patterns could plausibly split some detail into reference files.

4 / 5

Total

16

/

20

Passed

Description

83%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 with an explicit and concrete 'Use when...' trigger clause covering natural testing-related phrases, and an explicit statement of what it prevents (three named anti-patterns). Its only weaknesses are modest: capabilities framed as prevented behaviors rather than actions, and a few missing synonyms such as 'stubbing' or 'test doubles'.

Suggestions

Add natural synonyms like 'stubbing', 'test doubles', or 'unit tests' to the trigger clause to improve keyword coverage for users who use those terms.

Reframe part of the description around concrete actions it performs (e.g., 'Reviews test code for mock-related anti-patterns') in addition to what it prevents.

DimensionReasoningScore

Specificity

The description names the testing domain and lists three concrete behaviors it prevents ('prevents testing mock behavior, production pollution with test-only methods, and mocking without understanding dependencies'), matching anchor 4's 'several specific actions; minor gaps'. It stays below anchor 5 because capabilities are expressed as prevented anti-patterns rather than a comprehensive list of concrete actions.

4 / 5

Completeness

It explicitly answers 'when' with a concrete 'Use when writing or changing tests, adding mocks, or tempted to add test-only methods' clause, and 'what' with three explicitly named prevented behaviors. Both are present with concrete trigger phrases, matching anchor 5 rather than anchor 4 where the 'when' would be less specific.

5 / 5

Trigger Term Quality

'writing or changing tests, adding mocks, or tempted to add test-only methods' provides natural phrases a user would say when needing this skill. It misses common synonyms like 'stubbing', 'test doubles', or 'unit tests', so it fits anchor 4 (good coverage, a few natural terms missing) rather than anchor 5.

4 / 5

Distinctiveness Conflict Risk

Mock usage and test-only production methods form a fairly distinct niche with specific triggers, but it could still fire for general TDD or code-review skills. This matches anchor 4 (mostly distinct, minor overlap risk with closely related skills) rather than anchor 5's minimal conflict risk.

4 / 5

Total

17

/

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
microsoft/FluidFramework
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.