Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add managedcode/dotnet-skills --skill roslynatorgit clone --depth 1 https://github.com/managedcode/dotnet-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/managedcode/dotnet-skills/roslynator)<a href="https://agentmods.dev/skills/managedcode/dotnet-skills/roslynator"><img src="https://agentmods.dev/badge/skills/managedcode/dotnet-skills/roslynator.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00107 | $0.01236 |
| Opus 5 | $0.00053 | $0.00618 |
| Sonnet 5 | $0.00021 | $0.00247 |
| Haiku 4.5 | $0.00011 | $0.00124 |
Grade A, and why
roslynator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Roslynator
Trigger On
- the repo uses or wants
Roslynator.Analyzers - the team wants Roslynator CLI or extra Roslyn-based rules
- the user asks about C# linting, static analysis, code cleanup, or unused code
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 have overlapping analyzer packs with no consolidation plan
- formatting-only work when the repo already standardized on
dotnet formatorCSharpier
Inputs
- the nearest
AGENTS.md - current analyzer packages
.editorconfig
Quick Start
- Read the nearest
AGENTS.mdand confirm scope and constraints. - Run this skill's
Workflowthrough theRalph Loopuntil outcomes are acceptable. - Return the
Required Result Formatwith concrete artifacts and verification evidence.
Workflow
- Prefer the NuGet analyzer packages for build-enforced checks.
- Use the CLI when the repo needs one of these flows explicitly:
analyzefixfind-unusedformat
- Build first when Roslynator needs compiled context.
- Configure rule severity and Roslynator behavior in
.editorconfig. - Avoid duplicating the same rules across multiple analyzer packs without a severity plan.
- Treat CLI auto-fix as a controlled change:
- run it on a bounded target first
- rebuild
- rerun tests
Bootstrap When Missing
If Roslynator is not configured yet:
- Detect current state:
rg -n "Roslynator\\.Analyzers" -g '*.csproj' .rg --files -g '.config/dotnet-tools.json'dotnet tool list --localdotnet tool list --globalcommand -v roslynator
- Choose the install path deliberately:
- analyzer package:
dotnet add PROJECT.csproj package Roslynator.Analyzers - optional CLI:
dotnet new tool-manifest(if missing) anddotnet tool install roslynator.dotnet.cli
- analyzer package:
- Configure ownership in root
.editorconfigso Roslynator does not fight SDK analyzers, StyleCop, or Meziantou. - If the CLI is adopted, add exact commands in
AGENTS.mdand CI, such as:dotnet tool run roslynator analyze SOLUTION_OR_PROJECTdotnet tool run roslynator fix SOLUTION_OR_PROJECT
- Run
dotnet build SOLUTION_OR_PROJECTand the selected Roslynator command, then returnstatus: configuredorstatus: improved. - If the repo wants only the current analyzer baseline and no Roslynator-specific CLI workflow, return
status: not_applicable.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 125 lines · 107 tokens per session scan A 9efe3fcc0d0d
roslynator is a skill published in the GitHub repository managedcode/dotnet-skills (477 stars, last pushed 2d ago), licensed MIT. It adds 107 tokens to every session and 1,236 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
winui-setup
Install and verify the prerequisites the win-dev-skills WinUI 3 toolchain depends on — .NET SDK 8.0.100+, WinApp CLI 0.6+, and Developer Mode. Use only when the user explicitly asks to set up or repair the toolchain. Do not invoke automatically when another skill reports a missing prerequisite; tell the user what is…
winui-wpf-migration
Migrate WPF applications to WinUI 3 — namespace replacement (System.Windows → Microsoft.UI.Xaml), control mapping (DataGrid→ListView, WrapPanel→ItemsRepeater, TabControl→TabView), threading (Dispatcher→DispatcherQueue), imaging (System.Drawing→BitmapImage), MVVM conversion to CommunityToolkit.Mvvm, and…
opengis-skills
Use when AI coding assistant needs GIS/CAD/C#/AI/IoT/3D domain expertise for 73+ open-source projects. One-stop skill index with tag-based search and on-demand loading for GDAL, GeoServer, QGIS, PostGIS, JTS, CesiumJS, FreeCAD, OpenSCAD, OCCT, NPOI, SqlSugar, Furion, Dify, SuperSplat, Go and more.
clean-architecture-dotnet
Use when domain logic leaks into API/Infrastructure, project references violate layer boundaries, or you need to decide between CQS (always), CQRS bus (complex domains), and DDD patterns (invariants and events).
creating-dotnet-mcp-servers
Use when building Model Context Protocol (MCP) servers in .NET, configuring tools, transports (SSE/stdio), JSON serialization for AOT, or testing MCP endpoints.
dotnet-best-practices
Ensure .NET/C# code follows maintainable, modern best practices. Use when reviewing or improving C# code, solution structure, async patterns, dependency injection, or testability.