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

View the source on GitHub

Browse the @skills marketplace