{"slug":"dotnet-meziantou-analyzer","title":"dotnet-meziantou-analyzer","summary":"Use the open-source free `Meziantou.Analyzer` package for design, usage, security, performance, and style rules in .NET. Use when a repo wants broader analyzer coverage with a single NuGet package.","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-27T21:00:35.683881Z","repo":{"url":"https://github.com/Postpartum-genushyacinthus29/dotnet-skills","stars":12,"forks":1,"license":"MIT","updatedAt":"2026-09-27T19:34:14Z"},"bodyHtml":"<hr>\n<h2>name: dotnet-meziantou-analyzer\nversion: \"1.0.0\"\ncategory: \"Code Quality\"\ndescription: \"Use the open-source free <code>Meziantou.Analyzer</code> package for design, usage, security, performance, and style rules in .NET. Use when a repo wants broader analyzer coverage with a single NuGet package.\"\ncompatibility: \"Requires a .NET SDK-based repository; respects the repo's <code>AGENTS.md</code> commands first.\"</h2>\n<h1>Meziantou.Analyzer</h1>\n<h2>Trigger On</h2>\n<ul>\n<li>the repo uses or wants <code>Meziantou.Analyzer</code></li>\n<li>the team wants one analyzer pack that covers design, usage, security, performance, and style</li>\n</ul>\n<h2>Value</h2>\n<ul>\n<li>produce a concrete project delta: code, docs, config, tests, CI, or review artifact</li>\n<li>reduce ambiguity through explicit planning, verification, and final validation skills</li>\n<li>leave reusable project context so future tasks are faster and safer</li>\n</ul>\n<h2>Do Not Use For</h2>\n<ul>\n<li>repos that already enforce an overlapping analyzer baseline and do not want extra diagnostics</li>\n<li>formatting-only work</li>\n</ul>\n<h2>Inputs</h2>\n<ul>\n<li>the nearest <code>AGENTS.md</code></li>\n<li>current analyzer packages</li>\n<li><code>.editorconfig</code></li>\n</ul>\n<h2>Quick Start</h2>\n<ol>\n<li>Read the nearest <code>AGENTS.md</code> and confirm scope and constraints.</li>\n<li>Run this skill's <code>Workflow</code> through the <code>Ralph Loop</code> until outcomes are acceptable.</li>\n<li>Return the <code>Required Result Format</code> with concrete artifacts and verification evidence.</li>\n</ol>\n<h2>Workflow</h2>\n<ol>\n<li>Add <code>Meziantou.Analyzer</code> when the repo wants broader rules than the SDK baseline.</li>\n<li>Keep rule severity in the repo-root <code>.editorconfig</code>.</li>\n<li>Review overlaps with SDK analyzers and Roslynator before mass-enabling everything as errors.</li>\n</ol>\n<h2>Bootstrap When Missing</h2>\n<p>If <code>Meziantou.Analyzer</code> is not configured yet:</p>\n<ol>\n<li>Detect current state:\n<ul>\n<li><code>rg -n \"Meziantou\\\\.Analyzer\" -g '*.csproj' .</code></li>\n</ul>\n</li>\n<li>Add the package to the intended scope (project-level or shared props strategy):\n<ul>\n<li><code>dotnet add PROJECT.csproj package Meziantou.Analyzer</code></li>\n</ul>\n</li>\n<li>Set severity in root <code>.editorconfig</code> for the enabled <code>MAxxxx</code> rules.</li>\n<li>Keep overlap with SDK analyzers and Roslynator explicit to avoid duplicate noise.</li>\n<li>Run <code>dotnet build SOLUTION_OR_PROJECT</code> and return <code>status: configured</code> or <code>status: improved</code>.</li>\n<li>If the repo intentionally keeps a smaller analyzer surface, return <code>status: not_applicable</code>.</li>\n</ol>\n<h2>Deliver</h2>\n<ul>\n<li>explicit Meziantou package setup</li>\n<li>repo-owned severity and warning policy</li>\n</ul>\n<h2>Validate</h2>\n<ul>\n<li>the added rules are understood by the team</li>\n<li>CI runs stay actionable instead of noisy</li>\n</ul>\n<h2>Ralph Loop</h2>\n<p>Use the Ralph Loop for every task, including docs, architecture, testing, and tooling work.</p>\n<ol>\n<li>Plan first (mandatory):\n<ul>\n<li>analyze current state</li>\n<li>define target outcome, constraints, and risks</li>\n<li>write a detailed execution plan</li>\n<li>list final validation skills to run at the end, with order and reason</li>\n</ul>\n</li>\n<li>Execute one planned step and produce a concrete delta.</li>\n<li>Review the result and capture findings with actionable next fixes.</li>\n<li>Apply fixes in small batches and rerun the relevant checks or review steps.</li>\n<li>Update the plan after each iteration.</li>\n<li>Repeat until outcomes are acceptable or only explicit exceptions remain.</li>\n<li>If a dependency is missing, bootstrap it or return <code>status: not_applicable</code> with explicit reason and fallback path.</li>\n</ol>\n<h3>Required Result Format</h3>\n<ul>\n<li><code>status</code>: <code>complete</code> | <code>clean</code> | <code>improved</code> | <code>configured</code> | <code>not_applicable</code> | <code>blocked</code></li>\n<li><code>plan</code>: concise plan and current iteration step</li>\n<li><code>actions_taken</code>: concrete changes made</li>\n<li><code>validation_skills</code>: final skills run, or skipped with reasons</li>\n<li><code>verification</code>: commands, checks, or review evidence summary</li>\n<li><code>remaining</code>: top unresolved items or <code>none</code></li>\n</ul>\n<p>For setup-only requests with no execution, return <code>status: configured</code> and exact next commands.</p>\n<h2>Load References</h2>\n<ul>\n<li><code>references/meziantou-analyzer.md</code></li>\n<li><code>references/rules.md</code></li>\n<li><code>references/config.md</code></li>\n</ul>\n<h2>Example Requests</h2>\n<ul>\n<li>\"Add Meziantou analyzers to the repo.\"</li>\n<li>\"Use Meziantou for extra quality and security checks.\"</li>\n</ul>\n","files":[{"path":"references/config.md","sizeBytes":5514,"isText":true},{"path":"references/meziantou-analyzer.md","sizeBytes":769,"isText":true},{"path":"references/rules.md","sizeBytes":4529,"isText":true},{"path":"SKILL.md","sizeBytes":3884,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-27T21:02:44.082166Z","sha256":"47AB6CD6D088A010E361579C25746DBE5145C2AB7D54F7A5215A0347E9FA1769","sizeBytes":5982},"review":null,"source":{"repositoryUrl":"https://github.com/Postpartum-genushyacinthus29/dotnet-skills","path":"skills/dotnet-meziantou-analyzer","license":"MIT","commit":"bfa4ebd86f6bd674800f209ebf72ca770c2f026b","subtreeSha":"939FC733DECDC36DBB1E37E4322DA75D6C6EFC028E696C4B7B950B764502872A","lastSyncedAt":"2026-09-27T21:00:28.368219Z"},"reviewedAt":"2026-09-27T21:12:06.856942Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/Postpartum-genushyacinthus29/dotnet-skills/tree/main/skills/dotnet-meziantou-analyzer"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install postpartum-genushyacinthus29-dotnet-skills@llmmart"},{"target":"git","command":"git clone https://github.com/Postpartum-genushyacinthus29/dotnet-skills.git"}]}