CtrlK
BlogDocsLog inGet started
Tessl Logo

csharp-testing

C# and .NET testing patterns with xUnit, FluentAssertions, mocking, integration tests, and test organization best practices. Use when writing or reviewing xUnit tests, mocks, or integration tests in a C# / .NET project.

69

Quality

85%

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

SKILL.md
Quality
Evals
Security

Quality

Content

82%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, dense pattern reference: fully executable code examples across unit, parameterized, mocking, integration, and test-data patterns, with zero concept-explanation padding. The main gaps are the absence of any explicit multi-step setup workflow and content long enough that sections could be offloaded to reference files for progressive disclosure.

DimensionReasoningScore

Conciseness

The body is code-first with essentially no explanation of concepts Claude already knows, quoting only a light intro ('Comprehensive testing patterns for .NET applications using xUnit, FluentAssertions, and modern testing practices') and a 'When to Activate' list that duplicate the frontmatter description. A few examples also carry setup boilerplate (full constructors, disposal scaffolding) that could be trimmed, so it is efficient with minor instances of over-explanation rather than perfectly lean.

4 / 5

Actionability

Every section delivers fully executable, copy-paste-ready guidance: complete xUnit test classes ('[Theory] ... [InlineData]', 'TheoryData<CreateOrderRequest, string>'), NSubstitute verification ('await _repository.Received(1).AddAsync'), WebApplicationFactory DI replacement ('services.RemoveAll<DbContextOptions<AppDbContext>>()'), Testcontainers via IAsyncLifetime, a test data builder, and concrete 'dotnet test --filter' commands. The examples cover the common cases (unit, parameterized, mocking, API integration, persistence) with no pseudocode.

5 / 5

Workflow Clarity

This is a pattern cookbook rather than a linear multi-step process; each section is self-contained and unambiguous (e.g., the anti-patterns table pairs each problem with a concrete fix). It falls short of a 5 because no explicit sequence exists for the advertised activation scenarios — e.g., no ordered steps for 'Setting up test infrastructure for .NET projects' and no guidance on choosing between WebApplicationFactory's in-memory DB and Testcontainers.

4 / 5

Progressive Disclosure

No bundle files (references/, scripts/, assets/) exist, so all ~310 lines live inline in SKILL.md under well-organized headers ('Unit Test Structure', 'ASP.NET Core Integration Tests', 'Test Organization', 'Running Tests'). Structure is clear and nothing is buried, but the two long integration-testing sections (WebApplicationFactory and Testcontainers) plus the builder/organization material could reasonably be split into one-level-deep reference files, keeping only an overview in SKILL.md.

4 / 5

Total

17

/

20

Passed

Description

87%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: concrete stack coverage, natural trigger phrasing, and explicit what/when in third person with no fluff beyond 'best practices'. Only minor refinements — swapping generic filler for concrete actions and adding common synonyms like 'unit tests' or 'Moq' — would make it fully top-anchor.

DimensionReasoningScore

Specificity

The description enumerates concrete coverage areas — 'xUnit, FluentAssertions, mocking, integration tests, and test organization best practices' — naming specific tools rather than generic language. It is not a 5 because the items are domains rather than concrete actions and 'best practices' is generic filler; it is well above a 3 because it lists several specific capabilities with only minor gaps.

4 / 5

Completeness

It explicitly answers both questions: what it does ('C# and .NET testing patterns with xUnit, FluentAssertions, mocking, integration tests, and test organization') and when to use it ('Use when writing or reviewing xUnit tests, mocks, or integration tests in a C# / .NET project') with concrete trigger phrases, matching the top anchor.

5 / 5

Trigger Term Quality

It uses natural phrases a user would actually say — 'writing or reviewing xUnit tests, mocks, or integration tests in a C# / .NET project' — which reads like a genuine trigger. A few natural terms are missing, e.g., 'unit tests', 'test coverage', 'Moq', or 'flaky tests', so keyword coverage is good but not comprehensive.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — C#/.NET testing with named frameworks (xUnit, FluentAssertions) — and its trigger conditions are language- and framework-qualified, so it is unlikely to fire for the wrong skill (e.g., JavaScript/Python testing skills).

5 / 5

Total

18

/

20

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
affaan-m/ECC
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.