CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dotnet-test

Generates C# backend unit and integration tests for EF Core DbContext repositories, domain services, and vertical slice handlers using xUnit or NUnit against SQLite in-memory or Testcontainers databases, one test per scenario and business rule, each tagged with [UseCase]. Use when the user asks to "write backend tests for C#", "write .NET tests for this handler", "test ef core context", "write integration tests for dotnet", or mentions xUnit or NUnit handler tests. Blazor component tests are /bunit-test, browser tests /playwright-test.

0.96x
Quality

95%

Does it follow best practices?

Impact

96%

0.96x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is ai-unified-process/aiup-blazor-dotnet

SKILL.md
Quality
Evals
Security

Quality

Content

88%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 a dense, actionable playbook: an exact UseCaseAttribute definition, a complete SQLite three-DbContext test example, a spec-as-oracle failure policy, and a validated workflow with a failure decision loop. It is slightly long in places (security boilerplate, naming conventions) and keeps everything in one file rather than splitting detail into references, but organization and executability are strong.

Suggestions

Trim the prompt-injection paragraph and the class-naming parenthetical to their operative rules to reclaim tokens without losing guidance.

Consider moving the full traceability section (attribute source plus the ~30-line example) into a references/ file, keeping only the attribute shape and a compact example inline in SKILL.md.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious project policy ("Prefer SQLite in-memory or Testcontainers... Avoid UseInMemoryDatabase", "The specification is the oracle, not the code") rather than known-concept explanation, so it sits above the 'mostly efficient with unnecessary explanation' anchor. It falls short of the lean anchor because the prompt-injection paragraph and the long class-naming parenthetical ("UC plus the digits of the id plus the PascalCase use case name — plus Handler (so it sits next to the bUnit class...") could be trimmed without losing rules.

4 / 5

Actionability

It gives the exact attribute shape ("the shape must be exactly this" with a complete UseCaseAttribute class), a near copy-paste-ready SQLite test covering connection setup, seeding, act, and assert, and the concrete command `dotnet test`. Not 4: the examples cover the common cases fully with executable code, a spec-heading mapping table, and exact naming conventions.

5 / 5

Workflow Clarity

The six-step workflow has explicit validation ("Execute `dotnet test` to confirm tests pass"), a failure feedback loop ("decide which side is wrong before you change anything" with fix-the-test vs. leave-it-failing branches), and re-run guidance ("Run the whole test class afterwards, not only the methods you added"). Test generation is neither destructive nor batch, so the cap-3 rule does not apply.

5 / 5

Progressive Disclosure

Sections are clear and well-ordered with a working in-file anchor link ([When a Test Fails](#when-a-test-fails)), and the ~135-line body keeps all guidance one level deep with no buried references. It is not 5 because nothing is split into a references file (the full traceability example and attribute source are candidates) and the file exceeds the under-50-lines simple-skill case; it is not 3 because structure and content placement are appropriate for its size.

4 / 5

Total

18

/

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.

The description is exemplary: concrete capabilities with frameworks and database backends named, explicit natural-language triggers in quoted user phrasings, and explicit routing boundaries against sibling test skills. No dimension shows a gap worth a suggestion.

DimensionReasoningScore

Specificity

"Generates C# backend unit and integration tests for EF Core DbContext repositories, domain services, and vertical slice handlers using xUnit or NUnit against SQLite in-memory or Testcontainers databases" names multiple concrete actions with comprehensive coverage of targets, frameworks, and databases, plus the output convention "one test per scenario and business rule, each tagged with [UseCase]". Not 4: coverage has no gaps — scope, tooling, backing store, and granularity are all explicit.

5 / 5

Completeness

It answers 'what' concretely (generates unit and integration tests for EF Core DbContexts, domain services, and vertical slice handlers) and 'when' explicitly with the "Use when the user asks to..." clause listing concrete trigger phrases. Not 4: the when-clause is explicit and specific, not merely present or loosely worded.

5 / 5

Trigger Term Quality

Quoted phrases "write backend tests for C#", "write .NET tests for this handler", "test ef core context", "write integration tests for dotnet", and "xUnit or NUnit handler tests" are natural user utterances, with synonyms covered (C#/.NET/dotnet, xUnit/NUnit, EF Core, handler). Not 4: no common phrasing a user would naturally say for this need is missing.

5 / 5

Distinctiveness Conflict Risk

It carves a clear niche (non-UI C# backend tests) and explicitly disambiguates adjacent skills — "Blazor component tests are /bunit-test, browser tests /playwright-test" — so wrong-skill triggering risk is minimal. Not 4: the boundary statements remove even the minor overlap with related test 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.

Repository

AI-Unified-Process/marketplace

Path

aiup-blazor-dotnet/skills/dotnet-test/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.