Add Refactoring
dotnet/roslynator
A skill your agent uses when adding a new RR refactoring in roslynator, editing Refactorings.xml, registering in RefactoringContext, or when refactorings-testing.md shows XunitRefactoringVerifier —…
Rename and refactor C symbols in a .NET solution or multi-solution monorepo with a one-shot Roslyn CLI.
$ npx skills add CodeAlive-AI/ai-driven-development --skill refactoring-csharp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install CodeAlive-AI/ai-driven-development refactoring-csharp --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/CodeAlive-AI/ai-driven-development.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/refactoring-csharp .claude/skills/refactoring-csharp && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "refactoring-csharp" agent skill from https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/refactoring-csharp into .claude/skills/refactoring-csharp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-csharp", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/refactoring-csharpType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add CodeAlive-AI/ai-driven-development --skill refactoring-csharp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install CodeAlive-AI/ai-driven-development refactoring-csharp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CodeAlive-AI/ai-driven-development.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/refactoring-csharp .agents/skills/refactoring-csharp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "refactoring-csharp" agent skill from https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/refactoring-csharp into .agents/skills/refactoring-csharp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-csharp", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CodeAlive-AI/ai-driven-development --skill refactoring-csharp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install CodeAlive-AI/ai-driven-development refactoring-csharp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CodeAlive-AI/ai-driven-development.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/refactoring-csharp .cursor/skills/refactoring-csharp && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "refactoring-csharp" agent skill from https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/refactoring-csharp into .cursor/skills/refactoring-csharp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-csharp", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/CodeAlive-AI/ai-driven-development.git --path skills/refactoring-csharp--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add CodeAlive-AI/ai-driven-development --skill refactoring-csharp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install CodeAlive-AI/ai-driven-development refactoring-csharp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CodeAlive-AI/ai-driven-development.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/refactoring-csharp .gemini/skills/refactoring-csharp && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "refactoring-csharp" agent skill from https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/refactoring-csharp into .gemini/skills/refactoring-csharp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-csharp", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install CodeAlive-AI/ai-driven-development refactoring-csharpInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add CodeAlive-AI/ai-driven-development --skill refactoring-csharp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/CodeAlive-AI/ai-driven-development.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/refactoring-csharp .github/skills/refactoring-csharp && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "refactoring-csharp" agent skill from https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/refactoring-csharp into .github/skills/refactoring-csharp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-csharp", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CodeAlive-AI/ai-driven-development --skill refactoring-csharp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install CodeAlive-AI/ai-driven-development refactoring-csharp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CodeAlive-AI/ai-driven-development.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/refactoring-csharp .opencode/skills/refactoring-csharp && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "refactoring-csharp" agent skill from https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/refactoring-csharp into .opencode/skills/refactoring-csharp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-csharp", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
refactoring-csharpRename and refactor C symbols in a .NET solution or multi-solution monorepo with a one-shot Roslyn CLI.
Refactoring Csharp is an agent skill from CodeAlive-AI/ai-driven-development. Rename and refactor C symbols in a .NET solution or multi-solution monorepo with a one-shot Roslyn CLI. Use when the user asks to rename a symbol, preview impact, update references across a solution, or refactor shared projects across several solutions.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 31 other files (for example `README.md`, `install.sh` and `release.sh`).
It sits in Development, covering Refactoring and Monorepo tooling. It works with C# and .NET. The repository describes itself as: Practices, protocols, and skills for AI-driven software development. Skills and safety hooks for Claude Code, Codex, OpenCode, Cursor, Antigravity, and any agent supporting the… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 25b7b1d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (C#, Shell and PowerShell, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
dotnetrgFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Refactoring Csharp loads about 2.5k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 1,267 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from CodeAlive-AI/ai-driven-development at commit 25b7b1d, republished under its MIT licence (© CodeAlive-AI). 1,267 words, ~2,478 tokens.
.claude/skills/refactoring-csharp/SKILL.md (or your agent's skills folder). This skill also uses 25 other files; get the full folder from GitHub.This skill ships a Roslyn-based C# rename CLI in src/. It is intentionally one-shot and
stateless: one call resolves the target, validates the request, and returns either a preview
or an applied rename. There is no public prepare step.
If the skill was installed by install.sh, prefer the prebuilt CLI:
bin/csharp-refactor rename-symbol <sln|slnx|directory> <file> <line> <oldName> <newName> [dryRun=false|true]Otherwise run the bundled source CLI from the skill directory:
dotnet run --project src/CSharpRefactoring.Cli -- rename-symbol <sln|slnx|directory> <file> <line> <oldName> <newName> [dryRun=false|true]When invoked from outside the skill directory, use an absolute project path:
/<skill-dir>/bin/csharp-refactor rename-symbol <sln|slnx|directory> <file> <line> <oldName> <newName> [dryRun=false|true]
# or, if no prebuilt binary is installed:
dotnet run --project /path/to/refactoring-csharp/src/CSharpRefactoring.Cli -- rename-symbol <sln|slnx|directory> <file> <line> <oldName> <newName> [dryRun=false|true]The tool project may create normal bin/ and obj/ directories under the skill. That is
expected and useful: it lets repeated runs reuse the .NET build cache instead of rebuilding
the CLI from scratch.
The target solution is not redirected to a temporary build output. The CLI opens the solution
from the solution directory and lets Roslyn/MSBuild use the target project's normal build
cache (obj/, bin/, or the repository's configured artifacts layout). This is intentional:
it avoids creating a second cache tree for the project being refactored and lets repeated
renames benefit from the project's existing MSBuild/Roslyn design-time build cache.
| Field | Required | Default | Notes |
|---|---|---|---|
solution_path | yes | - | Absolute path to the .sln/.slnx file, or a repository directory for monorepo-wide refactoring. |
file_path | yes | - | Absolute path to a file inside the solution. |
line_number | yes | - | 1-based line number. Use the value reported by rg -n. |
old_name | yes | - | Exact current identifier on that line. This is the anchor. |
new_name | yes | - | Must be a valid C# identifier. |
dry_run | no | false | Apply changes by default. Preview only when explicitly set to true. |
rename_overloads | no | false | Keep overloads unchanged by default. |
rename_in_strings | no | false | String literals stay untouched by default. |
rename_in_comments | no | true | Comments are renamed by default. |
rename_file | no | true | Safe file move for supported named types. Never recreate the file as delete+add. |
rg -n to locate the symbol and copy the 1-based line number directly.rename-symbol once without the dryRun argument for normal rename requests. This applies the rename.dryRun=true only when the user explicitly asks for preview, when the target is ambiguous, or when the rename is unusually broad/risky and applying immediately would be irresponsible. The CLI also accepts true, --dry-run, dryRun=false, false, and --no-dry-run; invalid values fail fast and must never silently apply.Use directory mode only when a repository contains multiple .sln/.slnx files or shared
projects that are not all present in one normal solution. For ordinary repositories, pass the
specific solution file because it is faster and avoids scanning unrelated projects.
When solution_path is a directory:
solution_path.file_path as the absolute path to the target source file..sln, .slnx, and supported project files under the directory..slnx, opens that aggregate solution, performs the rename, and deletes the temporary solution directory before returning.solution_path is a directory, the tool scans it recursively, merges discovered .sln, .slnx, and project files into one temporary .slnx, opens that solution, runs the rename, and deletes the temporary solution directory before returning..sln/.slnx input, the tool runs Roslyn from the target solution directory. For a directory input, it runs Roslyn from that directory while opening the temporary aggregate solution. In both modes, project files stay in place and use the target project's normal MSBuild outputs.file_path, line_number, and old_name.old_name is mandatory because it disambiguates the target when a line contains more than one renameable identifier.bin/ and obj/ cache unless the user explicitly asks for a clean/no-cache run.Treat these as supported rename targets when the Roslyn symbol is source-backed and
CanBeReferencedByName:
NamedTypeMethodPropertyFieldEventParameterLocalTypeParameterNamespaceDo not rename constructors, destructors, static constructors, or indexers.
rename_file=true is a convenience default, but it only produces a real safe move when the
symbol is a single-declaration named type and the file stem matches the current type name.
If the tool does not return file_move_from_path and file_move_to_path, the symbol rename is still valid,
but the file itself was not moved. Do not claim a file rename happened unless the tool reports it.
This is intentionally conservative so git sees a tracked rename instead of a delete+add pair.
Use the tool's error codes as actionable guidance:
| Error code | Meaning | What to do |
|---|---|---|
invalid_solution_path | Solution path is missing, does not exist, or is neither .sln/.slnx nor a directory. | Ask for a real solution path or repository directory. |
invalid_file_path | File path is missing or not present on disk. | Ask for the correct file path. |
file_not_in_solution | The file is not part of the loaded solution. | Ask for the correct file or solution. |
invalid_line_number | Line number is outside file bounds or not 1-based. | Ask for the correct line. |
invalid_old_name | old_name was empty or whitespace. | Ask for the exact current name. |
old_name_not_found_on_line | No renameable symbol with that name exists on the line. | Ask for a better line or file. |
ambiguous_old_name_on_line | More than one renameable symbol matches that name on the line. | Narrow the target or use a different line. |
unsupported_symbol_kind | Roslyn found a symbol, but this kind is not renameable here. | Move to a supported symbol kind. |
symbol_not_in_source | The symbol is not declared in source. | Pick a source-backed target. |
invalid_new_name | new_name is not a valid C# identifier. | Propose a valid identifier. |
same_name | New name equals the current name. | Ask for a different name. |
no_changes | Roslyn produced no text edits. | Re-check the target or the new name. |
apply_failed | Workspace apply failed. | Treat as a runtime failure and retry only if the state is unchanged. |
operation_timeout | The rename timed out. | Retry with a larger timeout or a narrower target. |
A rename workflow is complete when:
line_number + old_name.© CodeAlive-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 25 other files in skills/refactoring-csharp of CodeAlive-AI/ai-driven-development.
Open the folder on GitHubat commit 25b7b1d
Refactoring Csharp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Refactoring Csharp this skillCodeAlive-AI/ai-driven-development | 155 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Add Refactoringdotnet/roslynator | 3.5k | — | ~946 | Automated safety check: Pass | Custom licence | |
| Dynamo Dotnet ExpertDynamoDS/Dynamo | 2k | — | ~909 | Automated safety check: Pass | Apache-2.0 | |
| Deprecate Analyzer Or Refactoringdotnet/roslynator | 3.5k | — | ~511 | Automated safety check: Pass | Custom licence | |
| Okojo Test262akeit0/okojo | 160 | — | ~742 | Automated safety check: Pass | MIT | |
| Dotnet10 Featuresrunceel/ReactiveProperty | 944 | — | ~2.7k | Automated safety check: Pass | MIT |
dotnet/roslynator
A skill your agent uses when adding a new RR refactoring in roslynator, editing Refactorings.xml, registering in RefactoringContext, or when refactorings-testing.md shows XunitRefactoringVerifier —…
DynamoDS/Dynamo
Write and review C/.NET code in Dynamo following Dynamo coding standards, modern C patterns, and repo conventions.
dotnet/roslynator
A skill your agent uses when obsoleting or retiring RCS, RR, or RCF in roslynator, replacing an analyzer with another id, or when tempted to use IsObsolete on an Analyzer entry — analyzers use…
akeit0/okojo
Run and continue Okojo Test262 compliance work. An agent skill from akeit0/okojo.
runceel/ReactiveProperty
Reference for the .NET 10 / C 14 features that are relevant to the ReactiveProperty repository.
Samsung/TizenFX
Automatically scans the TizenFX codebase on a rotating schedule to discover .NET 8 / C 12+ refactoring targets and register them as GitHub Issues.
CodeAlive-AI/ai-driven-development
Investigate GitHub repository history before risky code changes using git blame/log, GitHub PRs, review comments, squash/rebase/cherry-pick/rename heuristics, and cited evidence.
CodeAlive-AI/ai-driven-development
Create, publish, delete, and submit plugins for coding agents (Claude Code, OpenCode, Devin CLI/Desktop).
CodeAlive-AI/ai-driven-development
Deep research over the Semantic Scholar Graph API. An agent skill from CodeAlive-AI/ai-driven-development.
CodeAlive-AI/ai-driven-development
A skill your agent uses when testing Windows 11 desktop apps (WinForms/WPF/UWP) via UFO UIA/Win32 automation MCP.
CodeAlive-AI/ai-driven-development
Audit and improve repositories for reliable agentic work across Codex and Codex App, Claude Code, and OpenCode.
CodeAlive-AI/ai-driven-development
Manage hooks and automation for coding agents (Claude Code, Codex CLI, OpenCode, Devin CLI/Desktop).
Categories
Rename and refactor C symbols in a .NET solution or multi-solution monorepo with a one-shot Roslyn CLI. Refactoring Csharp is an agent skill from CodeAlive-AI/ai-driven-development.NET solution or multi-solution monorepo with a one-shot Roslyn CLI.
Refactoring Csharp fits situations like: the user asks to rename a symbol; update references across a solution; refactor shared projects across several solutions.
Run `npx skills add CodeAlive-AI/ai-driven-development --skill refactoring-csharp -a claude-code`. Or copy the skill folder (skills/refactoring-csharp in CodeAlive-AI/ai-driven-development) into .claude/skills/refactoring-csharp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add CodeAlive-AI/ai-driven-development --skill refactoring-csharp -a codex`. Or copy the skill folder (skills/refactoring-csharp in CodeAlive-AI/ai-driven-development) into .agents/skills/refactoring-csharp in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CodeAlive-AI/ai-driven-development --skill refactoring-csharp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/refactoring-csharp, .gemini/skills/refactoring-csharp, .github/skills/refactoring-csharp and .opencode/skills/refactoring-csharp in your project.
Going by SKILL.md and its folder, Refactoring Csharp needs C#, a shell and PowerShell for the scripts in its folder and the command-line tools its instructions call (dotnet and rg). Our summary lists: A Bash shell; PowerShell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Refactoring Csharp is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Refactoring Csharp: Add Refactoring (dotnet/roslynator, 3.5k stars), Dynamo Dotnet Expert (DynamoDS/Dynamo, 2k stars), Deprecate Analyzer Or Refactoring (dotnet/roslynator, 3.5k stars) and Okojo Test262 (akeit0/okojo, 160 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
CodeAlive-AI (a GitHub organization) maintains it in CodeAlive-AI/ai-driven-development, which has 155 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 6, 2026.
Source: CodeAlive-AI/ai-driven-development on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.