Meziantou.Analyzer
Trigger On
- the repo uses or wants
Meziantou.Analyzer
- the team wants one analyzer pack that covers design, usage, security, performance, and style
Value
- produce a concrete project delta: code, docs, config, tests, CI, or review artifact
- reduce ambiguity through explicit planning, verification, and final validation skills
- leave reusable project context so future tasks are faster and safer
Do Not Use For
- repos that already enforce an overlapping analyzer baseline and do not want extra diagnostics
- formatting-only work
Inputs
- the nearest
AGENTS.md
- current analyzer packages
.editorconfig
Quick Start
- Read the nearest
AGENTS.md and confirm scope and constraints.
- Run this skill's
Workflow through the Ralph Loop until outcomes are acceptable.
- Return the
Required Result Format with concrete artifacts and verification evidence.
Workflow
- Add
Meziantou.Analyzer when the repo wants broader rules than the SDK baseline.
- Keep rule severity in the repo-root
.editorconfig.
- Review overlaps with SDK analyzers and Roslynator before mass-enabling everything as errors.
Bootstrap When Missing
If Meziantou.Analyzer is not configured yet:
- Detect current state:
rg -n "Meziantou\\.Analyzer" -g '*.csproj' .
- Add the package to the intended scope (project-level or shared props strategy):
dotnet add PROJECT.csproj package Meziantou.Analyzer
- Set severity in root
.editorconfig for the enabled MAxxxx rules.
- Keep overlap with SDK analyzers and Roslynator explicit to avoid duplicate noise.
- Run
dotnet build SOLUTION_OR_PROJECT and return status: configured or status: improved.
- If the repo intentionally keeps a smaller analyzer surface, return
status: not_applicable.
Deliver
- explicit Meziantou package setup
- repo-owned severity and warning policy
Validate
- the added rules are understood by the team
- CI runs stay actionable instead of noisy
Ralph Loop
Use the Ralph Loop for every task, including docs, architecture, testing, and tooling work.
- Plan first (mandatory):
- analyze current state
- define target outcome, constraints, and risks
- write a detailed execution plan
- list final validation skills to run at the end, with order and reason
- Execute one planned step and produce a concrete delta.
- Review the result and capture findings with actionable next fixes.
- Apply fixes in small batches and rerun the relevant checks or review steps.
- Update the plan after each iteration.
- Repeat until outcomes are acceptable or only explicit exceptions remain.
- If a dependency is missing, bootstrap it or return
status: not_applicable with explicit reason and fallback path.
Required Result Format
status: complete | clean | improved | configured | not_applicable | blocked
plan: concise plan and current iteration step
actions_taken: concrete changes made
validation_skills: final skills run, or skipped with reasons
verification: commands, checks, or review evidence summary
remaining: top unresolved items or none
For setup-only requests with no execution, return status: configured and exact next commands.
Load References
references/meziantou-analyzer.md
references/rules.md
references/config.md
Example Requests
- "Add Meziantou analyzers to the repo."
- "Use Meziantou for extra quality and security checks."
1---2name: dotnet-meziantou-analyzer3description: 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.4---56# Meziantou.Analyzer78## Trigger On910- the repo uses or wants `Meziantou.Analyzer`11- the team wants one analyzer pack that covers design, usage, security, performance, and style1213## Value1415- produce a concrete project delta: code, docs, config, tests, CI, or review artifact16- reduce ambiguity through explicit planning, verification, and final validation skills17- leave reusable project context so future tasks are faster and safer1819## Do Not Use For2021- repos that already enforce an overlapping analyzer baseline and do not want extra diagnostics22- formatting-only work2324## Inputs2526- the nearest `AGENTS.md`27- current analyzer packages28- `.editorconfig`2930## Quick Start31321. Read the nearest `AGENTS.md` and confirm scope and constraints.332. Run this skill's `Workflow` through the `Ralph Loop` until outcomes are acceptable.343. Return the `Required Result Format` with concrete artifacts and verification evidence.3536## Workflow37381. Add `Meziantou.Analyzer` when the repo wants broader rules than the SDK baseline.392. Keep rule severity in the repo-root `.editorconfig`.403. Review overlaps with SDK analyzers and Roslynator before mass-enabling everything as errors.4142## Bootstrap When Missing4344If `Meziantou.Analyzer` is not configured yet:45461. Detect current state:47 - `rg -n "Meziantou\\.Analyzer" -g '*.csproj' .`482. Add the package to the intended scope (project-level or shared props strategy):49 - `dotnet add PROJECT.csproj package Meziantou.Analyzer`503. Set severity in root `.editorconfig` for the enabled `MAxxxx` rules.514. Keep overlap with SDK analyzers and Roslynator explicit to avoid duplicate noise.525. Run `dotnet build SOLUTION_OR_PROJECT` and return `status: configured` or `status: improved`.536. If the repo intentionally keeps a smaller analyzer surface, return `status: not_applicable`.545556## Deliver5758- explicit Meziantou package setup59- repo-owned severity and warning policy6061## Validate6263- the added rules are understood by the team64- CI runs stay actionable instead of noisy6566## Ralph Loop6768Use the Ralph Loop for every task, including docs, architecture, testing, and tooling work.69701. Plan first (mandatory):71 - analyze current state72 - define target outcome, constraints, and risks73 - write a detailed execution plan74 - list final validation skills to run at the end, with order and reason752. Execute one planned step and produce a concrete delta.763. Review the result and capture findings with actionable next fixes.774. Apply fixes in small batches and rerun the relevant checks or review steps.785. Update the plan after each iteration.796. Repeat until outcomes are acceptable or only explicit exceptions remain.807. If a dependency is missing, bootstrap it or return `status: not_applicable` with explicit reason and fallback path.8182### Required Result Format8384- `status`: `complete` | `clean` | `improved` | `configured` | `not_applicable` | `blocked`85- `plan`: concise plan and current iteration step86- `actions_taken`: concrete changes made87- `validation_skills`: final skills run, or skipped with reasons88- `verification`: commands, checks, or review evidence summary89- `remaining`: top unresolved items or `none`9091For setup-only requests with no execution, return `status: configured` and exact next commands.9293## Load References9495- `references/meziantou-analyzer.md`96- `references/rules.md`97- `references/config.md`9899## Example Requests100101- "Add Meziantou analyzers to the repo."102- "Use Meziantou for extra quality and security checks."