csharp-tunit Skill (awesome-copilot) for Claude Code: What It Does and How to Install It
Makes Claude write C# unit tests with TUnit, covering standard and data-driven tests.
- Installs
- 8.9K
- on skills.sh
- Stars
- 40.7K
- on GitHub
- Updated
- Oct 2026
- last repo commit
Claude follows a set of TUnit rules when it writes tests. Tests use the [Test] attribute with no class attributes, every assertion is written as await Assert.That(...), and setup uses [Before(Test)] and [After(Test)]. SKILL.md also covers [Arguments], [MethodData] and [ClassData] for data-driven tests.
The folder has one file, SKILL.md, and no scripts. It includes a nine-rule list for moving xUnit tests to TUnit. TUnit requires .NET 8.0 or higher.
Good for
- .NET 8+ developers writing unit tests with TUnit
- Teams moving xUnit tests to TUnit
- Anyone adding data-driven tests with [Arguments] or [MethodData]
Install csharp-tunit
Claude Code
- 1
Download the skill folder from https://github.com/github/awesome-copilot/tree/HEAD/skills/csharp-tunit.
- 2
Put it at ~/.claude/skills/csharp-tunit/ so that SKILL.md sits directly inside.
- 3
Start a new session; the skill loads when its description matches the task.
Pick one route. The Copilot CLI plugin route installs the csharp-dotnet-development plugin from the awesome-copilot marketplace: 9 skills (csharp-async, csharp-mstest, csharp-nunit, csharp-tunit, csharp-xunit, aspnet-minimal-api-openapi, dotnet-best-practices, dotnet-upgrade, resx-source-generator-migration) and the expert-dotnet-software-engineer agent. The other routes install only csharp-tunit. The repo README says its customizations come from third-party developers, so inspect them before installing.
Built from the package data we hold. Not yet tested by us.
What's in the skill
When it loads
Get best practices for TUnit unit testing, including data-driven tests
Sections in SKILL.md
- Project Setup
- Test Structure
- Standard Tests
- Data-Driven Tests
- Assertions
- Advanced Features
- Test Organization
- Performance and Parallel Execution
- Migration from xUnit
Key facts
- License
- MIT (repo LICENSE)
- Installs on skills.sh
- 8,853 (Nov 2, 2026)
- Last repo commit
- Oct 30, 2026
- Audits on skills.sh
- Gen Agent Trust Hub: pass, Socket: pass, Snyk: pass
- What it includes
- 1 file: SKILL.md (no scripts)
What it includes
Separate [ProjectName].Tests project with TUnit and TUnit.Assertions
TUnit needs .NET 8.0 or higher. Tests run with dotnet test.
Runs code ·
Project setup[Test] attribute, no class attributes, Arrange-Act-Assert
Names tests MethodName_Scenario_ExpectedBehavior and uses [Before(Test)] and [After(Test)] for setup and teardown.
Try: “Write TUnit tests for my Calculator class”
Write ·
Test structureOne behavior per test, awaited Assert.That assertions
Tests should be independent; [DependsOn] is there when they cannot be.
Write ·
Standard tests[Arguments], [MethodData], [ClassData], ITestDataSource
[Arguments] is the equivalent of xUnit's [InlineData].
Write ·
Data-driven testsawait Assert.That(...) with IsEqualTo, Contains, Throws, And and Or
All assertions are asynchronous and must be awaited.
Write ·
Assertions[Repeat], [Retry], [ParallelLimit<T>], [Skip], [Timeout]
Also [DependsOn] and custom attributes.
Write ·
Advanced featuresParallel by default; [NotInParallel] to opt out
Tests within the same class run sequentially by default.
Write ·
Parallel executionMaps [Fact], [Theory], [InlineData], [MemberData] and asserts to TUnit
9 replacement rules, such as [Fact] to [Test] and IClassFixture<T> to [Before(Class)] and [After(Class)].
Write ·
Migration from xUnit
From the official docs
Permissions
Low risk
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It edits your test code
Claude writes and changes test classes and the test project in your repo. Review the diff and run the tests yourself before you commit. github.com
The plugin route also adds an agent and 8 other skills
The plugin.json lists 9 skills and one agent, expert-dotnet-software-engineer. That agent's file lists tools such as runCommands, runTasks, edit/editFiles and fetch. Use a folder route or the skills CLI if you want only csharp-tunit. github.com
Technical details
| Turning on read-only | No read-only mode. |
|---|---|
| Sign-in and keys | No credentials are named in SKILL.md. |
| Scopes |
|
Questions
What does the csharp-tunit skill do?
It makes Claude write C# unit tests with TUnit, including data-driven tests. It also lists how to move xUnit tests to TUnit.
What does TUnit need?
SKILL.md says TUnit requires .NET 8.0 or higher. Tests run with dotnet test, and assertions come from the TUnit.Assertions package.
How is TUnit different from xUnit?
SKILL.md says TUnit runs tests in parallel by default, needs no test class attributes, uses [Test] instead of [Fact] and makes every assertion asynchronous. It gives a replacement list for 9 xUnit constructs.
How do I install it?
Use the install box at the top of this page. The repo README documents Copilot CLI plugins from the awesome-copilot marketplace, and the csharp-dotnet-development plugin includes this skill. The box also has folder routes that install only this skill.
Are there skills for other test frameworks?
Yes, in the same plugin. Its plugin.json also lists csharp-mstest, csharp-nunit and csharp-xunit. This page covers TUnit only.
Is it safe?
It guides Claude to write and change test code in your repo, so review the diff and run the tests before you commit. It bundles no scripts. The plugin route also installs eight more skills and an agent, which you can avoid with a folder route.
Information
updated Nov 2, 2026
- Repository
- github/awesome-copilot
- Folder
skills/csharp-tunit
Sources
Docs, issue trackers and discussions this page is built from.
Show all 5Hide
- csharp-tunit SKILL.md · github.com
- awesome-copilot README · github.com
- csharp-dotnet-development plugin.json · github.com
- awesome-copilot LICENSE · github.com
- expert-dotnet-software-engineer agent · github.com