Install any skill in seconds. Free to start, no credit card required.
Get Started Free →dotnet/scaffold-dotnet-test-project
Create the first .NET test project. USE FOR: "solution has no tests", xUnit tests, Tests.csproj/ProjectReference, add an omitted test project to .sln/.slnx/.slnf, central packages, or tests missing from CI. DO NOT USE FOR: a suitable project already registered in the requested build entry point (stop) or migration.
Passed 3 of 8 test cases with the skill, and 4 of 8 without it.
3 fixed5 passed either way9 still failing5 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
A repository contains both `Legacy.sln` and `Modern.slnx`. The CI pipeline script explicitly invokes `dotnet test Modern.slnx`. When registering our newly created test project `tests/Feature.Tests/Feature.Tests.csproj`, which solution file should be updated?
| Checked | Without skill | With skill |
|---|---|---|
| Registers tests/Feature.Tests/Feature.Tests.csproj in Modern.slnx | Missed | Passed |
| Leaves Legacy.sln unmodified | Passed | Passed |
The instructions your model reads when the skill loads.
Create the smallest missing test container or repair only the missing wiring. The goal is test discovery through the repository's real build entry point, not a preferred solution layout.
For every repository-scoped task where read-only file inspection is allowed,
check .agents/skill-overlays/dotnet-test/scaffold-dotnet-test-project.md at
the repository root before any other discovery. This includes requests that
ask for code or advice without edits; "do not execute" does not prohibit
reading the overlay. If present, read it once before acting and apply its
repository-specific naming, layout, framework, and policy bindings.
Before applying it, require its frontmatter to declare
core: dotnet-test/scaffold-dotnet-test-project, binding-revision: "1", and
mode: extend. If any value is missing or different, report the mismatch and
continue using this skill's portable guidance without applying the overlay.
Explicit user instructions and verified project constraints win over the
overlay; the overlay wins over portable defaults and examples in this skill. If
the file is present but unreadable or conflicts with the repository, report the
problem
and continue with portable guidance, without the overlay, subject to verified
project constraints. If it is absent, continue normally. Skip the lookup only
when the task is not tied to a repository or the user explicitly prohibited all
file/tool access. An overlay cannot expand tool permissions or the task's scope.
Inspect the repository before editing, then choose exactly one path:
| Repository state | Action | Do not do |
|---|---|---|
| No suitable test project | Create one bounded project, reference the production project, and register it | Create a project per source project |
Test project exists but lacks the required ProjectReference | Add only that reference and verify direct plus entry-point execution | Scaffold another project or rewrite tests |
Test project passes directly but is absent from .sln, .slnx, or .slnf | Register the existing project in the exact entry point CI uses | Recreate the project or switch solution formats |
| Suitable project, reference, and requested entry point are already correct | Leave the workspace unchanged; use code-testing-agent if test methods are requested | Normalize or replace working files |
An existing project is suitable when its target framework can reference the production project and its purpose matches the requested layer. A different
test cases passed, vs 4 / 8 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.