Refactor Without Behaviour Change skill for Claude and Codex
Refactor Without Behaviour Change as an AI skill. It asks for Code to refactor, Why it needs to change, Language and test framework and 3 more, then does the…
Install it once and Claude or Codex runs it for you. When your request matches, your AI loads the skill, asks for anything it is missing, and works through the template itself. Prefer to fill it in by hand? See the full prompt template.
Download the skill (.zip) · View SKILL.md
When it is used
Use when code needs restructuring such as extracting, renaming or splitting, and the team must show that its behaviour did not change. Do not use for adding features, fixing bugs or rewriting a module in a new design. Related topics: coding, technical.
What it will ask you for
- Code to refactor (longer free text)
- Why it needs to change (longer free text)
- Language and test framework (free text, e.g. "Python with pytest")
- Existing tests (longer free text)
- Risk tolerance (choose one: Very cautious, Balanced, Move fast)
- Size of each step (number from 1 to 20)
How it works
- List the behaviour that must stay identical, including side effects, error cases and anything callers depend on.
- Compare existing tests with that list and name each behaviour that has no test.
- Specify characterisation tests for the gaps and require them to pass on the untouched code before any change.
- Break the work into named single moves of the requested size, each followed by the exact test run that proves it safe.
- State what cannot be proven by tests, such as timing or concurrency, and how to check it by hand.
What you get
A behaviour list, a table of test gaps, the characterisation tests to add, an ordered step plan with a test checkpoint per step, and a short list of unproven risks.
What it watches out for
- Writing the new tests against the refactored code, which pins the new behaviour and proves nothing about the old.
- Bundling a rename with a logic tweak in one step, so a failing test no longer points at one cause.
- Ignoring side effects such as logging order or database writes, which callers often rely on without knowing.
How to install
Claude.ai and the Claude desktop app
- Download the skill .zip.
- Open Settings, then Capabilities, and find Skills.
- Choose Upload skill and select the .zip.
- Ask Claude for help with the task. It loads the skill when your request matches.
Claude Code
- Download the skill .zip.
- Unzip it into ~/.claude/skills/ (or .claude/skills/ inside a project).
- Start a new session. Claude Code loads the skill when your request matches.
Codex
- Download the skill .zip.
- Unzip it into ~/.agents/skills/ (or .agents/skills/ inside a project).
- Codex picks it up on its own. Type $ and the skill name to use it, or just ask for the task.
Cursor
- Download the Cursor rule (.mdc).
- Save it in .cursor/rules/ inside your project.
- Cursor's agent applies the rule when your request matches its description.
AGENTS.md (Codex, Cursor, and other coding agents)
- Copy the AGENTS.md section.
- Paste it into AGENTS.md at the root of your repository, creating the file if needed.
- Coding agents that read AGENTS.md follow it when your request fits.