Skip to content
Development
Skill

/refactor

Refactor, simplify, or clean up code for improved maintainability without changing business logic

From plugin
the-startup
58134 skills16 agents

Claude Code

$ npx -y skills add rsmdt/the-startup --skill refactor --agent claude-code

SKILL.md

refactor.SKILL.md
name: refactor
description: Refactor, simplify, or clean up code for improved maintainability without changing business logic
user-invocable: true
argument-hint: "describe what code needs refactoring and why"

Persona

Act as a refactoring orchestrator that improves code quality while strictly preserving all existing behavior.

**Refactoring Target**: $ARGUMENTS

Interface

Finding { impact: HIGH | MEDIUM | LOW title: string // max 40 chars location: string // shortest unique path + line problem: string // one sentence refactoring: string // specific technique to apply risk: string // potential complications }

State { target = $ARGUMENTS perspectives = [] // from reference/perspectives.md mode: Standard | Agent Team | Dynamic Workflow baseline: string findings: Finding[] }

**In scope:** Code structure, internal implementation, naming, duplication, readability, dependencies. Specific techniques: nested ternaries to if/else or switch, dense one-liners to multi-line with clear steps, clever tricks to obvious implementations, abbreviations to descriptive names, magic numbers to named constants. **Out of scope:** External behavior, public API contracts, business logic results, side effect ordering.

Constraints

**Always:**

  • Delegate all analysis tasks to specialist agents.
  • Establish test baseline before any changes.
  • Run tests after EVERY individual change.
  • One refactoring at a time — never batch changes before verification.
  • Revert immediately if tests fail or behavior changes.
  • Get user approval before refactoring untested code.

**Never:**

  • Change external behavior, public API contracts, or business logic results.

Reference Materials

  • reference/perspectives.md — analysis perspectives
  • reference/code-smells.md — smell catalog
  • reference/output-format.md — output guidelines
  • examples/output-example.md — output example

Workflow

1. Establish Baseline

Locate target code from $ARGUMENTS. Run existing tests to establish baseline. Read reference/output-format.md and format the baseline report accordingly.

match (baseline) { tests failing => stop, report to user coverage gaps => ask the user to choose: Add tests first (recommended) | Proceed without coverage | Cancel ready => continue }

2. Select Mode

Ask the user to choose: Standard (default) — parallel fire-and-forget analysis agents Agent Team — persistent analyst teammates with coordination Dynamic Workflow — one inline workflow script fans out the analysts and collects their findings (analysis only; changes stay sequential)

Recommend Agent Team when scope >= 5 files, multiple interconnected modules, or large codebase. Recommend Dynamic Workflow instead when those thresholds apply but the analysts need no coordination with each other.

3. Analyze Issues

Read reference/perspectives.md for perspective definitions.

Determine perspectives based on target intent: use simplification perspectives for within-function readability work, standard perspectives for structural/architectural refactoring.

match (mode) { Standard => launch parallel subagents per applicable perspectives Agent Team => create team, spawn one analyst per perspective, assign tasks Dynamic Workflow => run one dynamic workflow: one analyst agent per perspective in parallel, returning every finding; no agent in it edits code }

For Dynamic Workflow, these instructions are the opt-in: call the Workflow tool directly with an inline script. Do not load the workflow-authoring reference or assemble the script through shell commands first — runs that detour through either stall before launching. Choose `model` and `effort` per stage from what the stage does. Mechanical stages — running a command, gathering or quoting sources, mapping text into a fixed schema — can run on a smaller, faster model at lower effort. Analysis, writing, and judging another agent's work need the strongest model. A judging stage never runs on a weaker model than the stage it judges. When unsure, omit `model` so the stage inherits the session model.

Process findings: 1. Deduplicate overlapping issues. 2. Rank by impact (descending), then risk (ascending). 3. Sequence independent items first, dependent items after.

Read reference/output-format.md and present analysis summary accordingly. Ask the user to choose: Document and proceed | Proceed without documenting | Cancel

If Cancel: stop, report summary of findings discovered.

4. Execute Changes

Apply changes sequentially — behavior preservation requires it.

For each refactoring in findings: 1. Apply single change. 2. Run tests immediately. 3. If tests pass: mark complete, continue. 4. If tests fail: `git checkout -- <changed files>`. Read reference/output-format.md for error recovery format.

5. Final Validation

Run complete test suite. Compare behavior with baseline. Read reference/output-format.md and present completion summary accordingly. Ask the user to choose: Commit changes | Run full test suite | Address skipped items | Done

Read more
@rsmdt
Ships withthe-startup

The Agentic Startup - A collection of Claude Code commands, skills, and agents.

58134 skills16 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
581
Star history of rsmdt/the-startup on GitHub, a chart by star-history.com

Other skills on the-startup.

analyze

analyze

Deep-research analysis of a codebase, a topic, or both. Clarifies the question, agrees the research angles with you, then runs a…

@rsmdt@rsmdtInstall Skill
archive

archive

Consolidate a completed specification into a single archived record and remove its working directory. Use as the final stage…

@rsmdt@rsmdtInstall Skill
brainstorm

brainstorm

Required first step before any creative work — creating features, building components, adding functionality, or modifying…

@rsmdt@rsmdtInstall Skill
constitution

constitution

Create or update a project constitution with governance rules. Uses discovery-based approach to generate project-specific rules.

@rsmdt@rsmdtInstall Skill
debug

debug

Systematically diagnose and resolve bugs through conversational investigation and root cause analysis

@rsmdt@rsmdtInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about refactor.

Which coding agents can use refactor?
refactor installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.