# Refactor

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

- **Type:** Skill
- **Install:** `agentstack add skill-rsmdt-the-startup-refactor`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [rsmdt](https://agentstack.voostack.com/s/rsmdt)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [rsmdt](https://github.com/rsmdt)
- **Source:** https://github.com/rsmdt/the-startup/tree/main/plugins/start/skills/refactor
- **Website:** https://www.r16t.com/agentic-startup

## Install

```sh
agentstack add skill-rsmdt-the-startup-refactor
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

## 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
  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 => AskUserQuestion: Add tests first (recommended) | Proceed without coverage | Cancel
  ready         => continue
}

### 2. Select Mode

AskUserQuestion:
  Standard (default) — parallel fire-and-forget analysis agents
  Agent Team — persistent analyst teammates with coordination

Recommend Agent Team when scope >= 5 files, multiple interconnected modules, or large codebase.

### 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
}

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.
AskUserQuestion: 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 -- `. 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.
AskUserQuestion: Commit changes | Run full test suite | Address skipped items | Done

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [rsmdt](https://github.com/rsmdt)
- **Source:** [rsmdt/the-startup](https://github.com/rsmdt/the-startup)
- **License:** MIT
- **Homepage:** https://www.r16t.com/agentic-startup

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-rsmdt-the-startup-refactor
- Seller: https://agentstack.voostack.com/s/rsmdt
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
