CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

test-runner

Use this skill when the user wants to run tests, check test coverage, set up a test suite, parse test results, or integrate testing into CI/CD.

Quality

78%

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 ./skills/test-runner/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 dense, executable recipe collection with no padding — nearly everything is copy-paste-ready code. Its weaknesses are the absence of an explicit workflow (the run/parse/report pipeline is implicit with no validation checkpoints) and total lack of progressive disclosure: all detail is inlined in one file with plugin dependencies undocumented.

Suggestions

State the pipeline order explicitly (run tests → check exit code → parse JUnit XML → gather coverage → format summary) and add a validation step, e.g., verify test_results.xml exists before parsing.

Move secondary detail (the markdown formatter, coverage parsing, and pyproject/pytest.ini config templates) into references/ or scripts/ files, keeping SKILL.md as a lean overview with clearly signaled links.

Note required plugins next to the commands that use them (pytest-json-report for --json-report, pytest-cov for --cov) so the code is truly copy-paste ready, and drop the Quick Reference table that duplicates the Run Tests section.

DimensionReasoningScore

Conciseness

The body is code-first with no explanations of concepts Claude already knows, but the "Quick Reference" table duplicates commands already shown in "Run Tests" (e.g., "pytest tests/ -v", "-n auto", "--lf", "--junit-xml"), which is trimmable redundancy. Efficient overall, so above the anchor for noticeable padding but below the every-token-earns-its-place level.

4 / 5

Actionability

All code blocks are complete and executable (bash commands, parse_junit_xml, get_coverage_summary, format_test_summary), but run_tests relies on the pytest-json-report plugin and coverage on pytest-cov without stating these dependencies, which would cause failures in environments lacking them. Mostly executable with minor gaps, one step below fully copy-paste-ready.

4 / 5

Workflow Clarity

The sections are parallel recipes rather than a sequenced process; the implicit run → parse XML → coverage → format summary pipeline is never stated, and there are no validation checkpoints (e.g., verifying test_results.xml exists or checking the exit code before parsing). Sequence is present but implicit with checkpoints missing, rather than the minor-gaps level above.

3 / 5

Progressive Disclosure

Headers organize the content well, but ~165 lines of detailed recipes are entirely inlined with no references/ or scripts/ split — the markdown formatter, coverage parser, and config templates could live in bundle files. At this length the under-50-lines simple-skill exception does not apply, and there is no reference structure at all, so it sits between minimal structure and appropriately split content.

3 / 5

Total

14

/

20

Passed

Description

80%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, trigger-focused description with explicit "Use when..." guidance and five concrete actions. Its main weakness is the merged single-sentence form: the skill's own capabilities (e.g., runs pytest suites, parses JUnit XML, generates markdown reports) are never independently declared, and key tool keywords like "pytest" are absent.

Suggestions

Add a leading "what" clause before the trigger, e.g., "Runs pytest test suites, measures coverage, and parses JUnit XML results. Use when the user wants to run tests, check coverage, set up a test suite, or integrate testing into CI/CD."

Include high-frequency synonyms such as "pytest", "unit tests", and "failing tests" among the trigger terms.

DimensionReasoningScore

Specificity

Lists five concrete actions — "run tests, check test coverage, set up a test suite, parse test results, or integrate testing into CI/CD" — which comprehensively covers the skill's domain, matching the anchor for multiple specific concrete actions rather than the 'minor gaps' level below.

5 / 5

Completeness

The "when" is fully explicit with concrete trigger phrases ("Use this skill when the user wants to run tests, check test coverage..."), but there is no independent "what" statement — the skill's own capabilities are only conveyed through the user-trigger list. It exceeds anchor 4's typical weakness but lacks the separate explicit what-and-when form of anchor 5.

4 / 5

Trigger Term Quality

Natural phrases users would say are present ("run tests", "test coverage", "set up a test suite", "CI/CD"), but common synonyms and tool names like "pytest", "unit tests", or "failing tests" are missing, so it falls short of comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The test-execution/coverage/CI niche is mostly distinct with clear triggers, but no framework is named and "integrate testing into CI/CD" creates minor overlap risk with general CI/CD-pipeline or framework-specific test skills.

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

ProwlrBot/prowlr-marketplace

Path

skills/test-runner/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.