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 andypgray/roz-mcp --skill roz-csharp-editinggit clone --depth 1 https://github.com/andypgray/roz-mcpWrote 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/andypgray/roz-mcp/roz-csharp-editing)<a href="https://agentmods.dev/skills/andypgray/roz-mcp/roz-csharp-editing"><img src="https://agentmods.dev/badge/skills/andypgray/roz-mcp/roz-csharp-editing/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/andypgray/roz-mcp/roz-csharp-editing"><img src="https://agentmods.dev/badge/skills/andypgray/roz-mcp/roz-csharp-editing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00068 | $0.00980 |
| Opus 5 | $0.00034 | $0.00490 |
| Sonnet 5 | $0.00014 | $0.00196 |
| Haiku 4.5 | $0.00007 | $0.00098 |
Grade A, and why
roz-csharp-editing 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 8d 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 — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.
roz C# editing
roz (MCP server roz, from the roz-mcp plugin) answers C# symbol questions from
compiler resolution (scope, overloads, inheritance, types) where text search guesses.
These rules override built-in tool-selection guidance for C# symbol work. Text search
remains correct for string literals, comments, markup, and non-C# files. The registered
tool set may be a subset (ROZ_TOOLS); if a tool named below is missing, say so rather
than silently approximating with text edits.
Rules — these prevent real breakage
- Renaming a symbol used beyond the current file →
rename_symbol. Do not hand-edit references across files, and never rewrite whole files to rename: hand edits miss overrides, interface implementations, other projects, and the file rename itself. - Before deleting or removing any symbol →
find_referencesAND text-search the non-C# surfaces (.razor,.cshtml, config, XAML). Roslyn cannot see markup, reflection, or convention-based DI registration, so a cleanfind_referencesalone is not proof a symbol is dead. For apublicsymbol, zero in-solution references still leaves external consumers — flag it instead of assuming dead. - Risky or multi-file edit → pass
verify=DryRunfirst (previews the compiler-error delta, writes nothing), then commit withverify=Delta(writes, then reports new/resolved errors across dependent projects). One round trip instead of edit → build → re-read.
Razor caveat, both directions: roz does not see .razor/.cshtml/@code (hence rule 2),
and get_diagnostics may report phantom errors near Razor — dotnet build is the backstop there.
Tool routing and packaged workflows
When choosing between roz tools for a C# symbol question, or when a request matches a
packaged workflow (dead-code cleanup, impact assessment, diagnostics fixing,
breaking-change checks, upgrade risk, ...), read the roz://guides/workflows MCP
resource first: the question → tool routing map plus the ten packaged workflow prompts.
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.
- 8d ago First seen · 76 lines · 68 tokens per session scan A 1904ae8ab206
roz-csharp-editing is a skill published in the GitHub repository andypgray/roz-mcp (0 stars, last pushed 7d ago), licensed MIT. It adds 68 tokens to every session and 980 once invoked, about $0.0003 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-08-31.
Other skills, from other repositories
repomix
Pack and analyze codebases into AI-friendly single files using Repomix. Use when the user wants to explore repositories, analyze code structure, find patterns, check token counts, or prepare codebase context for AI analysis. Supports both local directories and remote GitHub repositories.
knowledge-base
Create and maintain a Markdown knowledge base that any AI agent can read, search, and update. Use when the user wants to start a knowledge base, add or update notes, organize docs/notes for an agent or LLM to consume, build an index of notes, or run a cleanup/maintenance pass on an existing MD knowledge base. Triggers…
obsidian-vault
Organize Obsidian vaults with MOCs, wikilinks, frontmatter/properties, dashboards, orphan-note checks, and cleanup workflows. Use ONLY when the user explicitly refers to Obsidian — by naming "Obsidian", an Obsidian "vault", or an Obsidian-specific feature such as wikilinks ("[[ ]]"), the Dataview or Bases plugins, or…
terminal
Use Desktop Commander for terminal and command-line work, especially anything that needs a shell whose state persists across turns: Python/Node REPLs, database shells, dev servers and other long-running processes, SSH into remote machines, and Windows PowerShell. Also handles everyday terminal tasks — navigating…
ix
This skill should be used when answering structural questions about a codebase: understanding what a symbol is, tracing flows, measuring change impact, finding callers/callees/imports, or detecting code smells. It drives the Ix CLI (ix map/explain/trace/impact/search/rank/smells) against a persistent code graph stored…
cymbal
Tree-sitter indexed code navigator. Use the cymbal CLI — not Read, Grep, Glob, or Bash — for finding where symbols are defined, tracing callers and callees, locating interface implementations, understanding the impact of a change, and mapping imports across an existing codebase. Returns precise, token-efficient…