Agent skill · software engineering · aiskillstore
lint-dotnet
Run .NET architecture linter to check for MSBuild/CPM violations
Why this skill is useful
Adds a specific executable script for running a .NET architecture linter that checks for MSBuild/CPM violations, which the AI wouldn't reliably generate on its own.
What it needs
Requires dotnet installed locally. About 1k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
/lint-dotnet Run the .NET architecture linter on demand to check for violations. Execution Output Format Rules Rule Catches Fix ------ --------- ----- RULEA Hardcoded Version="1.2.3" in Directory.Packages.props Use $(VariableName) and define in Version.props RULEB Version.props imported outside allowed files Remove import. Only DPP or eng/DBP allowed. RULEC Version.props not a symlink (in consumer repos) Recreate symlink, never copy the file RULEG <PackageReference Version="..."> in .csproj Remove Version attr, use CPM Allowed Version.props Import Owners 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. Clean Output No violations found. Safe to proceed. Variable Naming Convention For unknown packages, generate variable name: Some.Package.Name -> SomePackageNameVersion Remove dots and dashes, append "Version"
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/lint-dotnet