Install any skill in seconds. Free to start, no credit card required.
Get Started Free →aiskillstore/lint-dotnet
Run .NET architecture linter to check for MSBuild/CPM violations
Passed 16 of 19 test cases with the skill, and 8 of 19 without it.
and 10 more in the full report
10 fixed9 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
What exact output line is produced when the repository passes all architecture lint rules without any violations?
| Checked | Without skill | With skill |
|---|---|---|
| Outputs CLEAN|All rules passed when no violations exist | Missed | Passed |
The instructions your model reads when the skill loads.
Run the .NET architecture linter on demand to check for violations.
bash "${CLAUDE_PLUGIN_ROOT}/scripts/lint-dotnet.sh" .
RULE_X|file
line_number: violation details
| Rule | Catches | Fix |
|---|---|---|
| RULE_A | Hardcoded Version="1.2.3" in Directory.Packages.props | Use $(VariableName) and define in Version.props |
| RULE_B | Version.props imported outside allowed files | Remove import. Only DPP or eng/DBP allowed. |
| RULE_C | Version.props not a symlink (in consumer repos) | Recreate symlink, never copy the file |
| RULE_G | <PackageReference Version="..."> in .csproj | Remove Version attr, use CPM |
| File | Purpose |
|---|---|
Directory.Packages.props | CPM-enabled projects |
eng/Directory.Build.props | CPM-disabled projects |
src/Sdk/*/Sdk.props | SDK entry points (MSBuild auto-imports these) |
src/common/*.props | Shared SDK infrastructure |
All other files importing Version.props = violation.
test cases passed, vs 8 / 19 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.