refactorer

refactorer is an agent for Claude Code from ckorhonen/claude-skills. It costs 41 tokens per session (1,041 once invoked), scanned A, original, MIT.

A code-refactoring assistant that restructures code to improve its organisation and reduce technical debt while preserving external behaviour.

In plain words
What is it for?
Use it to apply small refactorings and design patterns with tests before and after each change.
Why use it?
It helps address duplicated code, oversized functions or classes, long parameter lists, and other structural problems safely.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the claude-skills plugin — 62 skills, 4 commands, 7 agents shipped together

Good fit Use it to apply small refactorings and design patterns with tests before and after each change.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/ckorhonen/claude-skills/refactorer
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/ckorhonen/claude-skills

Made for: Claude Code.

Or install claude-skills, the plugin that ships this one along with the rest of its 62 skills, 4 commands, 7 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for refactorer

README.md
[![agentmods](https://agentmods.dev/badge/agents/ckorhonen/claude-skills/refactorer/github.svg)](https://agentmods.dev/agents/ckorhonen/claude-skills/refactorer)
Your own site
<a href="https://agentmods.dev/agents/ckorhonen/claude-skills/refactorer"><img src="https://agentmods.dev/badge/agents/ckorhonen/claude-skills/refactorer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for refactorer

Your own site · 80×15
<a href="https://agentmods.dev/agents/ckorhonen/claude-skills/refactorer"><img src="https://agentmods.dev/badge/agents/ckorhonen/claude-skills/refactorer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 41 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,041 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00041 $0.01041
Opus 5 $0.00020 $0.00521
Sonnet 5 $0.00008 $0.00208
Haiku 4.5 $0.00004 $0.00104

Measured 10d ago against content hash 68d1cd0fb022, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

refactorer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/refactorer.md · 186 lines

How it starts

The opening of the file, as written. The whole thing — 186 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Refactorer Agent

You are a refactoring expert who improves code structure without changing external behavior. You apply proven patterns while keeping changes minimal and safe.

Refactoring Principles

  1. Behavior Preservation - Tests must pass before and after
  2. Small Steps - One refactoring at a time
  3. Continuous Testing - Run tests after each change
  4. Clear Intent - Each refactoring has a specific goal

Refactoring Process

Phase 1: Assessment

# Ensure tests pass before starting
npm test / pytest / go test

# Understand current structure
find . -name "*.{js,ts,py}" -type f | head -20
wc -l **/*.{js,ts,py}  # Find large files

Phase 2: Identify Smells

Code Smells
  • Long Method (>20 lines) → Extract Method
  • Large Class (>200 lines) → Extract Class
  • Long Parameter List (>3 params) → Parameter Object
  • Duplicated Code → Extract Method/Module
  • Feature Envy → Move Method
  • Data Clumps → Extract Class
  • Primitive Obsession → Value Objects
  • Switch Statements → Polymorphism
  • Parallel Inheritance → Merge Hierarchies
  • Speculative Generality → Remove Unused
Structural Smells
  • Shotgun Surgery → Move related code together
  • Divergent Change → Split responsibilities
  • Message Chains → Hide Delegate
  • Middle Man → Remove/Inline

Phase 3: Apply Refactorings

Extract Method
// Before
function process(data) {
  // validation
  if (!data.name) throw new Error('Name required');
  if (!data.email) throw new Error('Email required');
  // ... more code
}

// After
function process(data) {
  validateData(data);
  // ... more code
}

function validateData(data) {
  if (!data.name) throw new Error('Name required');
  if (!data.email) throw new Error('Email required');
}
Extract Class
// Before: User class doing too much
class User {
  formatAddress() {}
  validateAddress() {}
  geocodeAddress() {}
}

// After: Separate Address responsibility
class User {
  constructor() {
    this.address = new Address();
  }
}

class Address {
  format() {}
  validate() {}
  geocode() {}
}

Read the full file on GitHub · 186 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 186 lines · 41 tokens per session scan A 68d1cd0fb022

Subscribe to this mod's changes

refactorer is an agent published in the GitHub repository ckorhonen/claude-skills (14 stars, last pushed 2mo ago), licensed MIT. It adds 41 tokens to every session and 1,041 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

semantic-drift-auditor

Modernization auditor designed to prevent business terminology decay and semantic drift. Compares migrated codebase entities, databases, and variables against a generated domain-lexicon.json mapped from specs/REQS.md. Trigger with "check semantic drift", "audit business vocabulary", or automatically before slice…

richfrem/agent-plugins-skills · 65 tokens

architect-review

Staff Technical Architect. Reviews code for structural alignment, modularity, coupling, layer violations, and scalability concerns using C4 and SOLID lenses. Fills the "Architecture Skeptic" role in the Graph Planning Phase 1 Fan-Out Trio (see graph-planning-superpowers-policy.md §2.3 and red-team-review/SKILL.md).

richfrem/agent-plugins-skills · 73 tokens

robustness-reviewer

Use when reviewing for production readiness, fragile code, error handling, resilience, reliability, or catching bugs before deployment.

TechNickAI/ai-coding-config · 28 tokens

error-handling-reviewer

Use when reviewing error handling, finding silent failures, checking try-catch patterns, or ensuring errors surface properly with actionable feedback.

TechNickAI/ai-coding-config · 30 tokens

swiftui-performance-analyzer

Use this agent when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues. Automatically scans SwiftUI code for performance anti-patterns - detects expensive operations in view bodies, unnecessary updates, missing lazy loading, and SwiftUI-specific issues that cause frame…

CharlesWiltgen/Axiom · 155 tokens

predictive-analyst

Precognition agent. Analyzes code changes to predict impact, regressions, and conflicts BEFORE they happen. Uses dependency graphs and historical data.

softspark/ai-toolkit · 35 tokens