| name | mcaf-dotnet-stylecop-analyzers |
| description | Use the open-source free `StyleCop.Analyzers` package for naming, layout, documentation, and style rules in .NET projects. Use when a repo wants stricter style conventions than the SDK analyzers alone provide. |
| compatibility | Requires a .NET SDK-based repository; respects the repo's `AGENTS.md` commands first. |
MCAF: .NET StyleCopAnalyzers
Trigger On
- the repo wants
StyleCop.Analyzers
- naming, layout, or documentation style needs stronger enforcement
- the team needs
stylecop.json guidance
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 intentionally rely only on SDK analyzers
- repos where
StyleCop overlaps too heavily with an existing style package and no consolidation is planned
Inputs
- the nearest
AGENTS.md
- current
.editorconfig
- any existing
stylecop.json
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
StyleCop.Analyzers only if the repo wants its opinionated style rules.
- Keep severity in the root
.editorconfig.
- Use
stylecop.json only for StyleCop-specific behavioral options.
- Prefer one checked-in
stylecop.json per repo unless a project genuinely needs its own behavior.
- Avoid rule duplication with SDK analyzers or other analyzer packs when possible.
Bootstrap When Missing
If StyleCop.Analyzers is not configured yet:
- Detect current state:
rg -n "StyleCop\\.Analyzers|stylecop\\.json" -g '*.csproj' -g 'stylecop.json' .
- Add package to the intended scope:
dotnet add PROJECT.csproj package StyleCop.Analyzers
- Keep severity in root
.editorconfig and use stylecop.json only for StyleCop-specific behavior.
- Prevent overlap with existing analyzer packs by defining ownership.
- Run
dotnet build SOLUTION_OR_PROJECT and return status: configured or status: improved.
- If the repo intentionally uses SDK analyzers only, return
status: not_applicable.
Deliver
- explicit StyleCop package setup
- repo-owned StyleCop rule configuration
- clear split between root
.editorconfig and stylecop.json
Validate
- StyleCop severity is versioned in repo config
stylecop.json is used only where it adds value
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
- read
references/stylecop-analyzers.md first
Example Requests
- "Add
StyleCop.Analyzers to this solution."
- "Configure StyleCop without losing
.editorconfig ownership."