CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/mutmut-mutation

Use when a Python pytest or unittest suite needs mutation testing to show whether the tests catch bugs. Sets up mutmut: mutmut run, results and browse, applying survivors, pragma: no mutate suppressions and pyproject.toml config.

Quality

86%

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

Overview
Quality
Evals
Security
Files

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.

The body is highly actionable with a well-sequenced, validated workflow and a correct one-level reference file, but it is held back by redundancy — a duplicated step summary and quoted marketing bullets — and by mutmut 2.x/3.x CLI flag inconsistencies in the CI and PR-wrapper snippets.

Suggestions

Remove the 'How to use' numbered summary (or the Step 1-7 headers) — the two duplicate each other point for point — and drop the quoted 'Key features' marketing bullets from the Overview.

Reconcile CLI flags with mutmut 3.x: replace '--paths-to-mutate' and '--max-children' with the 3.x equivalents (source_paths scoping / [tool.mutmut] settings) so the CI and PR-wrapper snippets are actually executable, and align the wrapper script with the prose that says to use source_paths.

Consider offloading the mutator catalog and full CI yaml to a reference file alongside mutmut-pitfalls.md to slim the ~210-line body further.

DimensionReasoningScore

Conciseness

The 7-step 'How to use' summary is fully duplicated by the expanded 'Step 1-7' sections, and the Overview quotes five marketing-style feature bullets ('Interactive terminal based UI', 'Parallel and fast execution') that add no instructional value, with 'Per [mutmut-docs][md]' repeated ~10 times. The bulk (config table, commands, worked example) is efficient, so this sits between the 2 and 3 anchors — noticeably tighter than padding, but with several sections that could be trimmed.

3 / 5

Actionability

Concrete, copy-paste-style commands throughout (install, run, browse/apply/revert loop, CI yaml, worked example) cover the common cases. It falls short of 5 because the PR wrapper uses 'mutmut run --paths-to-mutate' and '--max-children 4' — 2.x-era flags inconsistent with the 3.x config style shown elsewhere ('pytest_add_cli_args_test_selection'), and the prose says to scope via source_paths while the script uses the flag.

4 / 5

Workflow Clarity

Steps 1-7 are clearly sequenced with explicit validation checkpoints: 'confirm the pytest / unittest suite is green before mutating', the apply → test-should-fail → git checkout revert loop, and the worked example's verify-and-rerun. The disk-writing mutant application is a risky batch-style operation and it has explicit feedback loops, so the workflow-clarity cap does not apply.

5 / 5

Progressive Disclosure

references/mutmut-pitfalls.md exists, is exactly one level deep, and is clearly signaled inline ('catalogued in [references/mutmut-pitfalls.md]'), verified against the actual bundle. It is not a 5 because offload is minimal — the mutator catalog and full CI yaml remain inline in a ~210-line body with only one reference file.

4 / 5

Total

16

/

20

Passed

Description

92%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: third-person voice, explicit 'Use when...' trigger, and a comprehensive enumeration of concrete mutmut capabilities. The only weakness is modest synonym coverage for trigger phrases (e.g., 'surviving mutants', 'test quality').

DimensionReasoningScore

Specificity

The description enumerates multiple concrete actions — 'mutmut run, results and browse, applying survivors, pragma: no mutate suppressions and pyproject.toml config' — comprehensively covering the tool's workflow. It exceeds the 4 anchor because there are no meaningful gaps in capability coverage, and it is concrete rather than generic.

5 / 5

Completeness

Both parts are explicitly answered: 'Use when a Python pytest or unittest suite needs mutation testing...' gives a concrete when, and 'Sets up mutmut: mutmut run, results and browse, applying survivors...' gives a clear what. This matches the 5 anchor exactly rather than 4, since the 'when' clause is specific rather than vague.

5 / 5

Trigger Term Quality

Good natural keyword coverage: 'Python', 'pytest', 'unittest', 'mutation testing', 'tests catch bugs', and the tool name 'mutmut'. It falls short of the 5 anchor because common user variations like 'surviving mutants', 'test quality', or 'test suite strength' are absent.

4 / 5

Distinctiveness Conflict Risk

A clear niche — Python mutation testing with mutmut — with distinct triggers (pytest/unittest, mutation testing) that are unlikely to fire for unrelated skills. Minimal overlap risk with general testing or coverage skills.

5 / 5

Total

19

/

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.

Reviewed

On this page