Skip to main content

Contributing with Agent Skills

Contributions are welcome. Roslynator is metadata-driven: you edit XML, run codegen, implement a focused class, and add a test. The repo also ships client libraries (BaseDiagnosticAnalyzer, syntax helpers, in-repo test verifiers) so most tasks do not require deep Roslyn API expertise.

Agent skills

Agent skills in the roslynator repository are step-by-step workflows for AI coding agents (Cursor, Claude Code). When you clone the repo, agents can load them automatically from .claude/skills/.

You can also read SKILL.md files directly — they are useful contributor guides even without an AI agent.

SkillUse when
add-analyzerAdding a new RCS#### analyzer
add-refactoringAdding a new RR#### refactoring
add-compiler-diagnostic-fixAdding a code fix for CS####
fix-analyzer-bugFixing a false positive, false negative, or bad code fix
deprecate-analyzer-or-refactoringObsoleting or retiring a rule
release-roslynatorPreparing a release (maintainers)

Skills encode repo-specific details that are easy to get wrong when following generic Roslyn tutorials alone — for example running codegen from the tools directory, using ChangeLog.md, and using in-repo test base classes instead of the public NuGet testing packages.

Where to start

  1. Pick an up-for-grabs issue or open a new issue with the rule id in the title (RCS####, RR####, or CS####).
  2. Bug fixes and small improvements can be implemented right away. New analyzers or refactorings should be discussed first (how to add an analyzer, how to add a refactoring).
  3. Read how to use the .NET API for Roslynator client libraries.
  4. Use in-repo testing patterns — not only the public NuGet testing docs.

Learn Roslyn

When you do need Roslyn background: