agentleFS
chrislacey89chrislacey89/skills/request-refactor-plan/SKILL.md

request-refactor-plan

Skill4 starsChanged 8 days agoMITView on GitHub

Side-route skill for planning refactors as safe, tiny-commit RFCs. Use when the user wants a structured refactor plan before implementation. Feeds approved refactor work back into /execute. Not for new-feature shaping or already-concrete implementation tasks.

51 other projects use a version of this, 48 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use batch-grill-me, decision-mapping and 8 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • boyingliu01Skill

    batch-grill-me

    A relentless interview that asks every frontier question at once, round by round. Thin alias of `grilling` (#540) — upstream mattpocock/skills absorbed this protocol into grilling; XP-Gate keeps this name as the sprint-flow Phase 2 entry point so orchestration docs stay stable.

    Also in 6 projects that use this

  • FabienDehopreSkill

    decision-mapping

    Turn a loose idea into a sequenced map of investigation tickets, then drive them to resolution one at a time.

    Also in 4 projects that use this

  • HK-hubSkill

    prd-to-plan

    Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices, saved as a local Markdown file in ./plans/. Use when user wants to break down a PRD, create an implementation plan, plan phases from a PRD, or mentions "tracer bullets".

    Also in 8 projects that use this

  • LesaniSkill

    writing-beats

    Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.

    Also in 22 projects that use this

  • LesaniSkill

    writing-shape

    Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.

    Also in 22 projects that use this

  • RoentekSkill

    loop-me

    Grill me about specs for the workflows I want to build, within this workspace.

    Also in 15 projects that use this

  • +1 more from Lesani

The file

We split this skill into the rules it gives an agent

11 rules. 5 are common, 4 are distinctive, and 2 are very specific to this project.

  • 5

    Common

    Most of the 49 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use /request-refactor-plan when the user wants a refactor RFC, a tiny-commit migration path, or a safer way to reorganize code without …

    line 15
  2. Very specific:

    Do not use it when the work is still a product-shaping problem for /write-a-prd, or when the refactor task is already concrete enough to …

    line 17
  3. Common:

    Ask the user for a long, detailed description of the problem they want to solve and any potential ideas for solutions.

    line 21
  4. Common:

    Ask whether they have considered other options, and present other options to them.

    line 25
  5. Common:

    Look in the codebase to check for test coverage of this area of the codebase.

    line 31
  6. Distinctive:

    Use these strategies to decompose safely:

    line 37
  7. Distinctive:

    Reconcile Differences: When two code paths need to be unified, plan commits that make them incrementally identical first, then a final …

    line 39
  8. Distinctive:

    Isolate Change: When modifying one part of a multi-part function, plan a commit that extracts the part first, then a separate commit that …

    line 40
  9. Distinctive:

    Migrate Data: When changing a data representation, plan commits that temporarily maintain both old and new formats.

    line 41
  10. Common:

    Create a GitHub issue with the refactor plan.

    line 43
  11. Common:

    Do NOT include specific file paths or code snippets.

    line 71

“Common” is measured: kept by at least 6 in 10 of the 49 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Request Refactor Plan

This is a side-route skill for work that is primarily about restructuring code safely rather than shaping a new feature.

Invocation Position

Use /request-refactor-plan when the user wants a refactor RFC, a tiny-commit migration path, or a safer way to reorganize code without jumping straight into implementation.

Do not use it when the work is still a product-shaping problem for /write-a-prd, or when the refactor task is already concrete enough to execute directly in /execute.

This skill will be invoked when the user wants to create a refactor request. You should go through the steps below. You may skip steps if you don't consider them necessary.

  1. Ask the user for a long, detailed description of the problem they want to solve and any potential ideas for solutions.
  2. Explore the repo to verify their assertions and understand the current state of the codebase.
  3. Ask whether they have considered other options, and present other options to them.
  4. Interview the user about the implementation. Be extremely detailed and thorough.
  5. Hammer out the exact scope of the implementation. Work out what you plan to change and what you plan not to change.
  6. Look in the codebase to check for test coverage of this area of the codebase. If there is insufficient test coverage, ask the user what their plans for testing are.
  7. Break the implementation into a plan of tiny commits. Remember Martin Fowler's advice to "make each refactoring step as small as possible, so that you can always see the program working."

    Each commit should be a trivially safe step. Work backward from the final state — ask "what would make the last step trivially safe?" and plan commits that create those preconditions.

    Use these strategies to decompose safely:

    • Reconcile Differences: When two code paths need to be unified, plan commits that make them incrementally identical first, then a final commit that merges. Never plan a commit that merges two slightly-different implementations directly — the differences hide bugs.
    • Isolate Change: When modifying one part of a multi-part function, plan a commit that extracts the part first, then a separate commit that modifies the extracted unit. Extraction is low-risk; modification happens in constrained scope.
    • Migrate Data: When changing a data representation, plan commits that temporarily maintain both old and new formats. Shift writes to the new format first, then reads, then delete the old format. Every intermediate commit is independently verifiable.
  8. Create a GitHub issue with the refactor plan. Use the following template for the issue description:
<refactor-plan-template>

Problem Statement

The problem that the developer is facing, from the developer's perspective.

Solution

The solution to the problem, from the developer's perspective.

Commits

A LONG, detailed implementation plan. Write the plan in plain English, breaking down the implementation into the tiniest commits possible. Each commit should leave the codebase in a working state.

Decision Document

A list of implementation decisions that were made. This can include:

  • The modules that will be built/modified
  • The interfaces of those modules that will be modified
  • Technical clarifications from the developer
  • Architectural decisions
  • Schema changes
  • API contracts
  • Specific interactions

Do NOT include specific file paths or code snippets. They may end up being outdated very quickly.

Testing Decisions

A list of testing decisions that were made. Include:

  • A description of what makes a good test (only test external behavior, not implementation details)
  • Which modules will be tested
  • Prior art for the tests (i.e. similar types of tests in the codebase)

Out of Scope

A description of the things that are out of scope for this refactor.

Further Notes (optional)

Any further notes about the refactor.

</refactor-plan-template>

Handoff

  • Expected input: a refactor problem that needs safer sequencing and scope boundaries
  • Produces: a GitHub issue with a tiny-commit refactor plan and testing decisions
  • May be informed by: /improve-codebase-architecture when the refactor opportunity emerged from architecture exploration
  • Feeds back into: /execute once the refactor plan is approved and ready to execute

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.