CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/dotnet-unit-tests

Use whenever the task is to write, add, fix or review .NET unit tests in C#, F# or VB.NET, even a quick test for one method: xUnit.net by default, plus NUnit and MSTest. Covers Fact and Theory tables, fixtures, mocking, FluentAssertions, async tests and coverage with dotnet test.

Quality

97%

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

92%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 strong, well-structured body: executable examples, a sequenced workflow with a real validation/feedback loop, and clean progressive disclosure across three genuine reference files. The only weakness is modest token overhead — editorial justification for xUnit and unpinned version/date references that could be trimmed or consolidated into a versioning note.

Suggestions

Trim the Overview's justification of xUnit's ecosystem standing ('used by .NET Foundation projects and Microsoft's own .NET runtime'); the framework-choice rules already justify the default, and Claude does not need the editorial context.

Consolidate version-sensitive facts ('v3 released 2024; v2 still widely used', the FluentAssertions v8 license change) into a single 'Versions and licensing' or deprecated-patterns note so the time-sensitive details don't blur the main workflow.

DimensionReasoningScore

Conciseness

The body is largely lean and code-forward, but the Overview paragraph editorializing xUnit's status ("used by .NET Foundation projects and Microsoft's own .NET runtime") and unpinned time-sensitive version facts ("v3 released 2024", the FluentAssertions "v8 commercial-license change") are unnecessary or belong in a deprecated/versions section. It sits above level 3's 'some unnecessary explanation' but does not meet level 5's 'every token earns its place'.

4 / 5

Actionability

Guidance is copy-paste ready throughout: complete install commands, a runnable first test, full Theory/MemberData/fixture/ITestOutputHelper code, filter commands, and a full CI YAML snippet. The only elisions (`{ ... }` bodies in attribute-wiring examples) are structural rather than missing logic, so the common cases are fully covered as the level-5 anchor requires.

5 / 5

Workflow Clarity

Steps 1-7 are clearly sequenced (install → first test → parameterize → skip/traits → fixtures → output → CI) and include an explicit validation checkpoint with error recovery in Step 2 ("if it discovers 0 tests, confirm the class is public, the method carries [Fact], and all three packages are installed"), plus verify-signature/stop-and-ask rules in the authoring conventions. This matches the level-5 anchor's explicit validation and feedback loops.

5 / 5

Progressive Disclosure

The SKILL.md keeps xUnit core workflow inline and appropriately splits NUnit, MSTest, and FluentAssertions detail into three real, one-level-deep reference files, each clearly signaled with descriptive pointers both inline and in a References section. Navigation is easy and no content that belongs in a separate file is inlined, matching the top anchor.

5 / 5

Total

19

/

20

Passed

Description

100%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.

This is an exemplary description: it pairs an explicit 'Use whenever…' trigger clause naming the task verbs, languages, and frameworks with a concrete inventory of covered topics. Trigger terms are comprehensive and natural, and the .NET-specific scope makes confusion with other skills very unlikely.

DimensionReasoningScore

Specificity

The description enumerates concrete actions ("write, add, fix or review .NET unit tests") and a comprehensive capability catalog ("Fact and Theory tables, fixtures, mocking, FluentAssertions, async tests and coverage with dotnet test") with no significant coverage gaps, matching the top anchor rather than the 'minor gaps' level 4.

5 / 5

Completeness

It explicitly answers both questions: "Use whenever the task is to write, add, fix or review .NET unit tests in C#, F# or VB.NET, even a quick test for one method" gives concrete 'when' triggers, and the framework defaults plus topic list gives a clear 'what'. This mirrors the level-5 exemplar structure, clearly above level 4's 'when could be more explicit'.

5 / 5

Trigger Term Quality

It covers the natural terms users would say for this domain — ".NET unit tests", "xUnit.net", "NUnit", "MSTest", "C#, F# or VB.NET", "dotnet test" — including framework synonyms and even the casual phrasing "even a quick test for one method". No commonly used variation is missing, so it fits the comprehensive-coverage anchor rather than level 4's "a few natural terms missing".

5 / 5

Distinctiveness Conflict Risk

The niche is unambiguous — .NET unit testing specifically, with named frameworks (xUnit.net, NUnit, MSTest) and languages — leaving minimal conflict risk with adjacent skills such as general test review. It is more distinct than level 4's 'minor overlap risk with closely related skills'.

5 / 5

Total

20

/

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