Skip to content
Development
Skill

/refactor-apply

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

From plugin
pane
48842 skills10 agents35 commands
Install
$ npx -y skills add dcouple/Pane --skill refactor-apply --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/refactor-apply

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

refactor-apply.SKILL.md
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/FAIL
Reverted: [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.
Read more
Ships withpane

pnpm dlx runpane@latest

Get the whole plugin

Other skills on pane.