CtrlK
BlogDocsLog inGet started
Tessl Logo

tdg-personal/csharp-testing

C# and .NET testing patterns with xUnit, FluentAssertions, mocking, integration tests, and test organization best practices.

57

Quality

57%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Quality

Discovery

32%

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 identifies its domain (C#/.NET testing) and lists relevant technologies but reads more like a topic summary than an actionable skill description. It lacks concrete actions (what does it do with these tools?) and has no explicit trigger guidance for when Claude should select it. The technology names provide some natural keywords but the description would benefit significantly from specifying concrete actions and adding a 'Use when...' clause.

Suggestions

Add a 'Use when...' clause with explicit triggers, e.g., 'Use when the user asks to write tests, create test classes, set up mocking, or work with xUnit in C#/.NET projects.'

Replace the abstract 'patterns and best practices' with concrete actions, e.g., 'Generates xUnit test classes, writes FluentAssertions assertions, sets up mock dependencies with Moq/NSubstitute, and structures integration test projects.'

Include additional natural trigger terms users might say, such as 'unit test', 'TDD', 'test coverage', 'Moq', or 'test project'.

DimensionReasoningScore

Specificity

Names the domain (C#/.NET testing) and lists some specific tools/concepts (xUnit, FluentAssertions, mocking, integration tests, test organization), but these are more categories/technologies than concrete actions. It doesn't describe what the skill actually does (e.g., 'generates test classes', 'writes unit tests', 'creates mock setups').

2 / 3

Completeness

Describes the 'what' at a high level (testing patterns and best practices) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause should cap completeness at 2, and since the 'what' is also weak (patterns/best practices rather than concrete actions), this scores a 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'xUnit', 'FluentAssertions', 'mocking', 'integration tests', and 'C#/.NET' that users might mention. However, it's missing common variations like 'unit test', 'test project', 'NSubstitute', 'Moq', 'test-driven', 'TDD', or '.cs test files'.

2 / 3

Distinctiveness Conflict Risk

The combination of C#/.NET with specific testing frameworks (xUnit, FluentAssertions) provides some distinctiveness, but 'testing patterns' and 'best practices' are broad enough to potentially overlap with general C# coding skills or other testing-related skills.

2 / 3

Total

7

/

12

Passed

Implementation

64%

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

This is a solid reference-style skill with excellent actionability — the code examples are complete, executable, and cover the full testing stack well. Its main weaknesses are that it's somewhat long for a SKILL.md (could split advanced topics into referenced files) and lacks explicit workflow sequencing with validation checkpoints, reading more as a pattern catalog than a guided process.

Suggestions

Split detailed sections (integration tests, Testcontainers, test data builders) into separate referenced files, keeping SKILL.md as a concise overview with links

Add a workflow section that sequences the process of adding tests to a project: create test project → add references → write tests → run → verify coverage, with validation checkpoints

DimensionReasoningScore

Conciseness

The skill is mostly efficient with good code examples, but includes some unnecessary content like the 'When to Activate' section and the tool table describing well-known libraries Claude already knows. The anti-patterns table, while useful, contains some obvious advice (e.g., 'test behavior and outcomes'). Overall it's longer than needed but not egregiously verbose.

2 / 3

Actionability

Excellent actionability with fully executable, copy-paste-ready code examples throughout — unit tests, parameterized tests, mocking, integration tests with WebApplicationFactory and Testcontainers, test data builders, and CLI commands. Every section provides concrete, specific guidance.

3 / 3

Workflow Clarity

The skill presents patterns clearly but lacks explicit workflow sequencing for multi-step processes. There's no guidance on the order of setting up test infrastructure, no validation checkpoints (e.g., verifying test project references are correct before running), and no feedback loops for debugging failing tests. The content reads more as a reference catalog than a guided workflow.

2 / 3

Progressive Disclosure

The content is well-structured with clear headers and logical sections, but it's a monolithic document that could benefit from splitting detailed sections (e.g., Testcontainers setup, integration test patterns) into separate referenced files. At ~200+ lines, the inline detail is heavy for a SKILL.md overview. No external references are provided.

2 / 3

Total

9

/

12

Passed

Validation

90%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Reviewed

Table of Contents