CtrlK
BlogDocsLog inGet started
Tessl Logo

test-analysis-extensions

Provides file paths to language-specific reference files for the test ANALYSIS skills (assertion-quality, test-anti-patterns, test-gap-analysis, test-smell-detection, test-tagging). Call this skill to discover available extension files (e.g., dotnet.md for .NET/MSTest/xUnit/NUnit/TUnit, python.md for pytest/unittest, typescript.md for Jest/Vitest/Mocha, java.md for JUnit/TestNG, etc.). Do not use directly — invoked by the test-quality-auditor agent and polyglot analysis skills that need framework-specific lookup tables (test markers, assertion APIs, skip annotations, sleep patterns, mystery guest indicators, integration markers, setup/teardown, tag-support capability).

55

Quality

62%

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

Quality

Content

50%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is well-structured with a clean overview table, explicit usage sequence, and capability taxonomy, but every dimension lands at 2: the capability list is redundantly restated, the referenced extension files do not exist so the read-step is not executable, the workflow lacks a verification checkpoint, and no content is actually split into the missing bundle files.

Suggestions

Ship the referenced extensions/*.md files (dotnet, python, typescript, java, go, ruby, rust, swift, kotlin, powershell, cpp) or remove the links; broken references block both actionability and progressive disclosure.

Remove the duplicated category enumeration: keep it in the table's Contents column and have the 'Capability tags' section only define the tag-support enum (auto-edit / report-only / convention-based) without re-listing the eight categories.

Add a verification step to the Usage workflow, e.g. 'Confirm the extension file declares support for the detected framework and capability before applying its rules; if a capability is missing, mark it unsupported in the report.'

DimensionReasoningScore

Conciseness

The body is mostly lean and assumes Claude knows what test frameworks are, but the eight capability categories are stated three times — in the description, the table's Contents column ('Test markers, assertion APIs, sleep/delay patterns...'), and again in the 'Capability tags' section — so it could be tightened. Not a 3 because of this redundancy; not a 1 because it avoids padding with concepts Claude already knows.

2 / 3

Actionability

The Usage section gives concrete numbered steps and a specific fallback rule ('Pest → python.md/pytest semantics'), but it instructs Claude to 'Read the matching extension file' while none of the referenced extensions/*.md files exist in the bundle, so the guidance cannot actually be carried out. Not a 1 because the steps are concrete instructions rather than vague description.

2 / 3

Workflow Clarity

A clear 4-step sequence is present (detect language/framework → read matching extension → read all relevant extensions if mixed → rely on shared categories), but there is no validation checkpoint such as confirming an extension covers the detected framework before relying on it. Not a 1 because the sequence is explicit; not a 3 because no verification step is given.

2 / 3

Progressive Disclosure

The overview table with clearly signaled one-level-deep markdown links is the correct progressive-disclosure shape, but the referenced extensions/*.md files are absent from the bundle (no extensions/, references/, scripts/, or assets/ directories exist), so in practice no content is actually split out and the overview carries everything inline. Not a 3 because content is not genuinely split into existing files; not a 1 because the structure and navigation are well signaled rather than a monolithic wall of text.

2 / 3

Total

8

/

12

Passed

Description

75%

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 is highly specific and distinctive with clear what/when guidance, but its single core action is restated rather than expanded into multiple distinct actions, and it lacks a natural-language 'Use when' trigger because it is explicitly agent-invoked.

Suggestions

Lead with the concrete actions the skill performs (e.g., 'Resolves a language/framework to an extension file and returns its per-capability lookup tables') so multiple distinct actions are visible, not just 'discover extension files'.

Add at least one natural-language trigger clause such as 'Use when a polyglot test analysis skill needs framework-specific detection rules for an unfamiliar language', even though invocation is agent-driven, to improve trigger-term quality.

DimensionReasoningScore

Specificity

It names the domain ('test ANALYSIS skills', 'polyglot analysis skills') and a concrete action ('Call this skill to discover available extension files'), but the remainder enumerates lookup-table contents (test markers, assertion APIs, sleep patterns) rather than distinct actions, so it is one core action restated. It is not the 3-anchor because that requires multiple distinct concrete actions like 'extract, fill, merge'.

2 / 3

Completeness

It explicitly answers what ('Provides file paths to language-specific reference files... discover available extension files') and when ('invoked by the test-quality-auditor agent and polyglot analysis skills that need framework-specific lookup tables'), which is equivalent explicit trigger guidance. Not a 2 because both what and when are present and explicit, not merely implied.

3 / 3

Trigger Term Quality

Relevant framework keywords appear (pytest, unittest, Jest, Vitest, Mocha, JUnit, xUnit, .NET), but there is no natural 'Use when...' trigger and the description explicitly says 'Do not use directly' and is agent-invoked, so the 'would a user naturally say this' test fails. Not a 1 because genuine relevant keywords are present rather than only jargon.

2 / 3

Distinctiveness Conflict Risk

A sharply defined niche (language-specific reference files for named test-analysis sub-skills) plus an explicit 'Do not use directly — invoked by the test-quality-auditor agent' guard makes unintended triggering very unlikely. Not a 2 because it is far more specific than 'Works with document files'.

3 / 3

Total

10

/

12

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 11 missing

Warning

Total

15

/

16

Passed

Repository
dotnet/skills
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.