agentsclimarketplace

Lint dotnet

Skill ComeOnOliver/skillshub/skills/aiskillstore/marketplace/ancplua/lint-dotnet

🧠 The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.

Install
npx -y skills add ComeOnOliver/skillshub --skill lint-dotnet

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Run .NET architecture linter to check for MSBuild/CPM violations

SKILL.md

1.4 KB, 335 tokens by cl100k_base, as published. Nobody here has run it

/lint-dotnet

Run the .NET architecture linter on demand to check for violations.

Execution

bash "${CLAUDE_PLUGIN_ROOT}/scripts/lint-dotnet.sh" .

Output Format

RULE_X|file
  line_number: violation details

Rules

RuleCatchesFix
RULE_AHardcoded Version="1.2.3" in Directory.Packages.propsUse $(VariableName) and define in Version.props
RULE_BVersion.props imported outside allowed filesRemove import. Only DPP or eng/DBP allowed.
RULE_CVersion.props not a symlink (in consumer repos)Recreate symlink, never copy the file
RULE_G<PackageReference Version="..."> in .csprojRemove Version attr, use CPM

Allowed Version.props Import Owners

FilePurpose
Directory.Packages.propsCPM-enabled projects
eng/Directory.Build.propsCPM-disabled projects
src/Sdk/*/Sdk.propsSDK entry points (MSBuild auto-imports these)
src/common/*.propsShared SDK infrastructure

All other files importing Version.props = violation.

Clean Output

CLEAN|All rules passed

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"

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.