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---5
6# Meziantou.Analyzer
7
8## Trigger On
9
10- the repo uses or wants `Meziantou.Analyzer`
11- the team wants one analyzer pack that covers design, usage, security, performance, and style
12
13## Value
14
15- produce a concrete project delta: code, docs, config, tests, CI, or review artifact
16- reduce ambiguity through explicit planning, verification, and final validation skills
17- leave reusable project context so future tasks are faster and safer
18
19## Do Not Use For
20
21- repos that already enforce an overlapping analyzer baseline and do not want extra diagnostics
22- formatting-only work
23
24## Inputs
25
26- the nearest `AGENTS.md`
27- current analyzer packages
28- `.editorconfig`
29
30## Quick Start
31
321. 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.
35
36## Workflow
37
381. 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.
41
42## Bootstrap When Missing
43
44If `Meziantou.Analyzer` is not configured yet:
45
461. 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`.
54
55
56## Deliver
57
58- explicit Meziantou package setup
59- repo-owned severity and warning policy
60
61## Validate
62
63- the added rules are understood by the team
64- CI runs stay actionable instead of noisy
65
66## Ralph Loop
67
68Use the Ralph Loop for every task, including docs, architecture, testing, and tooling work.
69
701. Plan first (mandatory):
71 - analyze current state
72 - define target outcome, constraints, and risks
73 - write a detailed execution plan
74 - list final validation skills to run at the end, with order and reason
752. 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.
81
82### Required Result Format
83
84- `status`: `complete` | `clean` | `improved` | `configured` | `not_applicable` | `blocked`
85- `plan`: concise plan and current iteration step
86- `actions_taken`: concrete changes made
87- `validation_skills`: final skills run, or skipped with reasons
88- `verification`: commands, checks, or review evidence summary
89- `remaining`: top unresolved items or `none`
90
91For setup-only requests with no execution, return `status: configured` and exact next commands.
92
93## Load References
94
95- `references/meziantou-analyzer.md`
96- `references/rules.md`
97- `references/config.md`
98
99## Example Requests
100
101- "Add Meziantou analyzers to the repo."
102- "Use Meziantou for extra quality and security checks."