CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/fluentassertions

Reference for FluentAssertions - the canonical .NET fluent-assertion library pairable with xUnit / NUnit / MSTest; provides `.Should()` extension API (`.Should().Be()`, `.Should().BeOfType()`, `.Should().Throw()`, `.Should().BeEquivalentTo()` for deep equality, `.Should().Satisfy()` for predicates, `.Should().BeApproximately()` for floats); rich failure messages with object structure visualization. Covers the v8 license change: v8+ is free for open-source and non-commercial use but requires a paid license for commercial use, while v7 remains fully open-source. Use when a .NET test project needs deep object comparison or better failure output than `Assert.X` gives, when assertions must survive a move between xUnit / NUnit / MSTest, or when picking between v7 and v8+ on license grounds.

76

Quality

95%

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

87%

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

The body is concise, actionable, and well-structured with proper progressive disclosure to a real bundle file. Its main weakness is the absence of explicit validation/verification steps in the workflow despite this being a test-assertion skill where a 'run the tests' checkpoint is natural.

Suggestions

Add an explicit verification step after Step 2/3 such as 'Run `dotnet test` to confirm the new assertions pass and read the FluentAssertions failure output', turning the sequence into a validate-then-fix feedback loop.

In the Anti-patterns or Step 5 section, note that FluentAssertions failure messages only render on failure, so confirm the assertion actually fails once to validate the message quality before relying on it.

DimensionReasoningScore

Conciseness

Lean and code-first; assumes Claude knows what test frameworks and assertion libraries are, with every line earning its place (e.g., the matcher catalog lines are tight one-liners with inline comments).

3 / 3

Actionability

Provides executable `dotnet add package` commands, copy-paste-ready C# snippets, and a concrete migration table mapping `Assert.X` calls to `.Should()` equivalents.

3 / 3

Workflow Clarity

Steps 1-7 are clearly sequenced, but there are no explicit validation or verification checkpoints (e.g., 'run the tests to confirm the assertion passes') even though a natural feedback loop exists for a test assertion skill.

2 / 3

Progressive Disclosure

SKILL.md is a well-organized overview that signals a single one-level-deep reference (`references/matchers.md`, a real file) for the full catalog, with content appropriately split between core examples inline and the complete reference out-of-line.

3 / 3

Total

11

/

12

Passed

Description

100%

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 specific, trigger-rich, and complete with an explicit 'Use when' clause covering both functional and licensing motivations. It clearly distinguishes FluentAssertions from sibling test-runner skills.

DimensionReasoningScore

Specificity

Lists multiple concrete capabilities: the `.Should()` extension API with specific methods like `.Be()`, `.BeOfType()`, `.Throw()`, `.BeEquivalentTo()` for deep equality, `.Satisfy()` for predicates, and `.BeApproximately()` for floats.

3 / 3

Completeness

Explicitly answers both what (reference for FluentAssertions providing the `.Should()` API and rich failure messages) and when via the 'Use when a .NET test project needs deep object comparison... when picking between v7 and v8+ on license grounds' clause.

3 / 3

Trigger Term Quality

Good coverage of natural terms a .NET user would say: 'deep object comparison', 'better failure output', 'xUnit / NUnit / MSTest', '.NET test project', and license-driven 'v7 and v8+' / 'commercial use' / 'open-source'.

3 / 3

Distinctiveness Conflict Risk

Has a clear niche (the canonical .NET fluent-assertion library) with distinct triggers around assertion failure messages, framework migration, and licensing, making it unlikely to trigger for the wrong skill.

3 / 3

Total

12

/

12

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents