Skill v1.0.0
currentAutomated scan96/100version: "1.0.0" name: refactor-apply description: Applies a refactor plan written by refactor-simple, refactor-deep, or the refactor orchestrator's merged report - auto-fixable items first, then manual items one at a time with the user, verifying with the repo's own checks after each group. Use only after the user has reviewed the plan and said to apply it. argument-hint: "<plan-path> [--auto-only]"
Refactor Apply
Turns a reviewed plan into edits. Never runs unasked; the plan it consumes was shown to the user first, by refactor or by the user invoking an analysis directly.
Input
One plan file: an individual ./tmp/simple-refactor-plan-*.md or ./tmp/deep-refactor-plan-*.md, or the orchestrator's ./tmp/refactor-merged-*.md. All three share the same shape - Critical / Warning / Info sections, each item with file:line, a fix, and an Auto-fixable: Yes/No flag.
Process
1. Read the plan and the repo's checks
Parse every item. Then find what "passing" means in this repository - its lint, typecheck, and test commands from package.json, Makefile, CLAUDE.md or AGENTS.md. Run them once before touching anything so a pre-existing failure is not mistaken for one you caused.
2. Auto-fixable first
Apply every Auto-fixable: Yes item, grouped by file. Rules:
- Change only the lines the finding names and what the fix strictly requires.
A refactor pass does not widen a PR's scope.
- Never alter behaviour to satisfy a convention; if a fix would, it is not
auto-fixable - move it to manual and say why.
- After the group, run the repo's checks. Fix straightforward failures you
introduced; revert an item you cannot make pass and report it.
--auto-only stops here with a summary.
3. Manual, one at a time with the user
For each Auto-fixable: No item, in plan priority order - Critical first: state the finding, the proposed change, and any judgment call it needs; wait for the user's answer; apply; run the checks. The user may skip any item; a skipped Critical is recorded, not argued.
4. Report
Applied: X auto-fixable, Y manual (Z skipped by user)Checks: [each command] PASS/FAILReverted: [items that could not pass, with reason]Left for follow-up: [skipped or out-of-scope items]
Do not commit. The user (or prepare-pr) owns the commit, and the diff should be reviewable as its own step.
Rules
- No blanket rewrites; every edit traces to a plan item.
- Behaviour-preserving only. If a change would alter behaviour, it needs the
user's explicit yes and a test.
- Pre-existing debt marked "not against this PR" is not applied unless the
user asks for it by name.
- Secrets, credentials, and generated files are stop conditions.