From dotnet-artisan
Defines .NET test strategy and implementation patterns across xUnit v3, integration testing (WebApplicationFactory, Testcontainers), BDD (Reqnroll), snapshot testing (Verify), Playwright E2E, BenchmarkDotNet, coverage (Coverlet), mutation testing (Stryker.NET), and AOT WASM test compilation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dotnet-artisan:dotnet-testingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Testing strategy, frameworks, and quality tooling for .NET applications. This consolidated skill spans 14 topic areas. Load the appropriate companion file from `references/` based on the routing table below.
references/add-testing.mdreferences/aot-wasm.mdreferences/aspire-testing.mdreferences/bdd.mdreferences/benchmarkdotnet.mdreferences/ci-benchmarking.mdreferences/integration-testing.mdreferences/playwright.mdreferences/slopwatch.mdreferences/snapshot-testing.mdreferences/test-quality.mdreferences/testing-strategy.mdreferences/ui-testing-core.mdreferences/xunit.mdTesting strategy, frameworks, and quality tooling for .NET applications. This consolidated skill spans 14 topic areas. Load the appropriate companion file from references/ based on the routing table below.
Baseline dependency: references/testing-strategy.md defines the unit vs integration vs E2E decision tree and test doubles selection that inform all testing decisions. Load it by default whenever a testing approach needs to be chosen.
Most-shared companion: references/xunit.md covers xUnit v3 framework features used by integration, snapshot, and UI testing companions.
Path resolution: The Companion File column lists filenames relative to this skill's directory. Use Glob to locate the file (pattern: ), then pass the returned absolute path to the Read tool. Do NOT use bare relative paths — the Read tool resolves them relative to the user's project directory, not this skill's location.
| Topic | Keywords | Description | Companion File |
|---|---|---|---|
| Strategy | unit vs integration vs E2E, test doubles | Unit vs integration vs E2E decision tree, test doubles selection | references/testing-strategy.md |
| xUnit | Facts, Theories, fixtures, parallelism | xUnit v3 Facts, Theories, fixtures, parallelism, IAsyncLifetime | references/xunit.md |
| Integration | WebApplicationFactory, Testcontainers, Aspire | WebApplicationFactory, Testcontainers, Aspire, database fixtures | references/integration-testing.md |
| Snapshot | Verify, scrubbing, API responses | Verify library, scrubbing, custom converters, HTTP response snapshots | references/snapshot-testing.md |
| Playwright | E2E browser, CI caching, trace viewer | Playwright E2E browser automation, CI caching, trace viewer, codegen | references/playwright.md |
| BenchmarkDotNet | microbenchmarks, memory diagnosers | BenchmarkDotNet microbenchmarks, memory diagnosers, baselines | references/benchmarkdotnet.md |
| CI benchmarking | threshold alerts, baseline tracking | CI benchmark regression detection, threshold alerts, baseline tracking | references/ci-benchmarking.md |
| Test quality | Coverlet, Stryker.NET, flaky tests | Coverlet code coverage, Stryker.NET mutation testing, flaky tests | references/test-quality.md |
| Add testing | scaffold xUnit project, coverlet, layout | Scaffold xUnit project, coverlet setup, directory layout | references/add-testing.md |
| Slopwatch | LLM reward hacking detection | Slopwatch CLI for LLM reward hacking detection | references/slopwatch.md |
| AOT WASM | Blazor/Uno WASM AOT, size, lazy loading | Blazor/Uno WASM AOT compilation, size vs speed, lazy loading, Brotli | references/aot-wasm.md |
| UI testing core | page objects, selectors, async waits | Page object model, test selectors, async waits, accessibility testing | references/ui-testing-core.md |
| Aspire testing | DistributedApplicationTestingBuilder, Aspire test host | Aspire test host, service HTTP clients, resource health | references/aspire-testing.md |
| BDD | Given/When/Then, Reqnroll, SpecFlow alternative, scenario | Reqnroll (MIT), lightweight xUnit BDD, .feature files, scenario outlines | references/bdd.md |
npx claudepluginhub fenzel999/dotnet-artisan --plugin dotnet-artisanProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.