CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

mutation-testing

Validate test effectiveness with mutation testing using Stryker (TypeScript/JavaScript with Vitest or bun test via @hughescr/stryker-bun-runner) and mutmut (Python). Find weak tests that pass despite code mutations. Use to improve test quality.

Quality

74%

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 ./plugins/mutation-testing/skills/mutation-testing/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 highly actionable body with executable commands, complete configs, and strong before/after examples. Its weaknesses are padding (re-explained mutation basics, version-sensitive details) and a monolithic structure: runner-specific deep detail is inlined rather than split into clearly signaled reference files.

Suggestions

Delete or compress the "Core Concept" and "Common Mutation Types" sections; Claude already knows what mutants, killed/survived, and arithmetic/logical operator mutations are — keep only the project-specific scoring thresholds.

Move the Bun-native-runner section (requirements, config, key behaviors) into a `references/stryker-bun-runner.md` file and link it from a short pointer in SKILL.md, so the main file stays a lean overview.

Add an explicit validation checkpoint to the Workflow (e.g., "Re-run until the mutation score meets the configured threshold; confirm `bunx stryker run` exits 0 against `break: 60`") to close the feedback loop.

DimensionReasoningScore

Conciseness

Mostly efficient (terse install/config/run commands), but the "Core Concept" section and "Common Mutation Types" re-explain mutation-testing basics Claude already knows, and unpinned version requirements ("Bun >= 1.3.7", "@stryker-mutator/core ^9.6.1") are time-sensitive details not confined to a deprecation section. Not 4 because these padded sections are a clear, trimmable overhead beyond minor instances.

3 / 5

Actionability

Install commands, complete copy-paste-ready `stryker.config.mjs`/`stryker.conf.mjs` objects, concrete run commands (`bunx stryker run --incremental`), and before/after weak-vs-strong test examples fully cover the common TypeScript and Python cases. It matches anchor 5's fully executable standard.

5 / 5

Workflow Clarity

The Workflow section sequences coverage check → run → check report → fix survived mutants → re-run incrementally, including verification steps (coverage gate, report inspection, incremental re-run loop), so the batch-operation cap at 3 does not apply. It stops short of anchor 5 because there is no explicit validation checkpoint such as verifying the mutation score meets the threshold before finishing.

4 / 5

Progressive Disclosure

The body is well-sectioned but everything lives inline in a ~230-line SKILL.md with no reference files; niche detail (the entire Bun-native-runner requirements/behaviors section and both full configs) is the kind of content anchor 3 describes as could-be-separate. Not 4 because there are no clearly signaled external references at all, and the file is well beyond the simple-skill 50-line exception.

3 / 5

Total

15

/

20

Passed

Description

66%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 specific, well-targeted description with concrete actions, named tools, and a clear niche. Its main weakness is the trigger guidance: "Use to improve test quality" expresses purpose rather than the conditions under which the skill should activate, which caps completeness at 3.

Suggestions

Replace "Use to improve test quality" with explicit trigger conditions, e.g., "Use when the user mentions mutation testing, weak tests, low test quality, or asks whether tests actually catch bugs, or when using Stryker or mutmut."

Add natural synonyms users might say, such as "tests passing despite bugs", "test coverage gaps", or "strengthen tests", to broaden trigger-term coverage toward anchor 5.

Optionally name the ecosystems as triggers ("for TypeScript/JavaScript or Python projects") so the language pairing is visible as a when-condition, not just a capability.

DimensionReasoningScore

Specificity

"Validate test effectiveness with mutation testing" and "Find weak tests that pass despite code mutations" name several concrete actions, backed by specific tools (Stryker, mutmut, Vitest, bun test). It falls short of anchor 5 because it lists fewer distinct capabilities than the comprehensive multi-action examples.

4 / 5

Completeness

The "what" is clear and specific, but the only when-guidance is "Use to improve test quality", which states a purpose rather than trigger conditions (no "Use when the user mentions..." equivalent). Per the rubric guideline, missing explicit trigger guidance caps completeness at 3; it is not 4 because anchor 4 requires a real, if imperfect, "when" clause.

3 / 5

Trigger Term Quality

"mutation testing", "Stryker", "mutmut", "weak tests", and "test quality" are natural terms users would say. A few common variations are missing (e.g., "tests don't catch bugs", "test coverage gaps"), matching anchor 4 rather than the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

Mutation testing with named tools (Stryker, @hughescr/stryker-bun-runner, mutmut) is a clear, distinct niche with minimal conflict risk. The generic trigger "Use to improve test quality" could overlap with general test-writing or coverage skills, keeping it below anchor 5.

4 / 5

Total

15

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

15

/

16

Passed

Repository

secondsky/claude-skills

Path

plugins/mutation-testing/skills/mutation-testing/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.