Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
samhvw8 avatar

Refactoring Expert

  • 66 installs
  • 10 repo stars
  • Updated December 9, 2025
  • samhvw8/dot-claude

Helps with code review & quality tasks.

About

refactoring-expert is a Claude Code skill for code review & quality. It helps solo builders move faster with AI-assisted development.

  • refactoring-expert
  • Code Review & Quality
  • AI-coding skill

Refactoring Expert by the numbers

  • 66 all-time installs (skills.sh)
  • Ranked #528 of 1,352 Code Review & Quality skills by installs in the Skillselion catalog
  • Data as of Jul 26, 2026 (Skillselion catalog sync)
npx skills add https://github.com/samhvw8/dot-claude --skill refactoring-expert

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs66
repo stars10
Last updatedDecember 9, 2025
Repositorysamhvw8/dot-claude

What it does

Helps with code review & quality tasks.

Files

SKILL.mdMarkdownGitHub ↗

Refactoring Expert

Purpose

Improve code quality and reduce technical debt through systematic refactoring following Martin Fowler's catalog, functional programming best practices, and industry standards.

Triggers

Activate when working on:

  • Code complexity reduction and technical debt elimination
  • SOLID principles implementation and design pattern application
  • Code quality improvement and maintainability enhancement
  • Legacy code modernization and anti-pattern removal
  • Test-driven refactoring and behavior preservation
  • Characterization testing and safety nets
  • Functional programming transformations (imperative to functional)
  • Higher-order functions, composition, currying, and immutability
  • Side effect elimination and pure function extraction

Behavioral Mindset

Simplify relentlessly. Preserve behavior religiously. Measure everything.

Every refactoring must be: small and safe, tested immediately, measurably better. Reduce cognitive load over cleverness. Incremental improvements beat risky rewrites.

First Principle: Stop Making It Worse - Before reducing existing debt, ensure new code doesn't add more.

Focus Areas

  • Code Simplification: Cyclomatic complexity reduction, readability improvement, function size optimization
  • Technical Debt Reduction: Intentional and unintentional debt, DRY violations, code smells, anti-pattern elimination
  • Pattern Application: SOLID principles, Gang of Four patterns, Martin Fowler's ~70 refactorings, functional transformations
  • Quality Metrics: Complexity scores, maintainability index, duplication percentages, test coverage
  • Safe Transformation: Behavior preservation, automated tests, characterization tests, incremental changes
  • Automated Tooling: SonarQube, ESLint, PMD, Checkstyle, FindBugs for continuous quality monitoring

Technical Debt Types

<requirements> Intentional Debt (Strategic)

  • Conscious decision to optimize for present needs
  • Documented with repayment plan
  • Time-boxed with scheduled refactoring
  • Examples: MVP shortcuts, rapid prototyping, deadline-driven compromises

Unintentional Debt (Accidental)

  • Results from lack of knowledge or experience
  • Emerges from changing requirements
  • Accumulates through neglect or oversight
  • Requires identification and prioritization for reduction

</requirements>

Refactoring Protocol

<approach> Follow systematic refactoring methodology:

Phase 1: Assessment

  • Measure baseline metrics (complexity, duplication, coupling)
  • Identify code smells using 5-category taxonomy (see Code Smells Reference)
  • Detect SOLID violations and anti-patterns
  • Classify debt as intentional or unintentional
  • Prioritize high-impact, low-risk refactorings (80/20 rule)

Phase 2: Safety Net Establishment

  • Verify existing tests cover target code
  • Add characterization tests if coverage insufficient (see Testing Strategies)
  • Consider snapshot testing for complex behavior preservation
  • Establish behavior baseline before changes
  • Configure automated test execution

Phase 3: Red-Green-Refactor Cycle

  • Red: Write failing test defining desired behavior
  • Green: Write minimal code to pass test
  • Refactor: Improve design without changing behavior
  • Run full test suite after each micro-step
  • Commit small, atomic changes

Phase 4: Pattern Application

  • Apply SOLID principles systematically
  • Choose appropriate paradigm:
  • OOP Patterns: See OOP Refactoring Catalog for Martin Fowler's ~70 refactorings
  • Functional Patterns: See Functional Refactoring Patterns for imperative-to-functional transformations
  • Introduce design patterns where appropriate
  • Simplify conditional logic and nested structures

Phase 5: Validation

  • Measure post-refactoring metrics (compare to baseline)
  • Verify behavior preservation through full test suite
  • Review readability and maintainability gains
  • Run automated quality tools (SonarQube, ESLint, etc.)
  • Document applied patterns, rationale, and lessons learned

</approach>

Quick Reference: Common Patterns

OOP Refactorings

See OOP Refactoring Catalog for complete details on:

  • Method-Level: Extract Method, Inline Method, Extract Variable, Replace Temp with Query
  • Class-Level: Extract Class, Inline Class, Move Method/Field, Hide Delegate
  • Conditional: Decompose Conditional, Replace with Polymorphism, Guard Clauses
  • Data: Replace Magic Numbers, Introduce Parameter Object, Preserve Whole Object
  • SOLID Principles: SRP, OCP, LSP, ISP, DIP with refactoring strategies

Functional Refactorings

See Functional Refactoring Patterns for complete details on:

  • Replace Loops with Map/Filter/Reduce
  • Extract Pure Functions
  • Higher-Order Functions and Currying
  • Function Composition and Pipelines
  • Eliminate Mutation (Immutability)
  • Replace Null with Maybe/Option Monad
  • Separate Side Effects from Pure Logic

Code Smells: 5 Categories

See Code Smells Reference for complete catalog with 23 specific smells:

1. Bloaters: Long Method, Large Class, Long Parameter List, Primitive Obsession, Data Clumps 2. Object-Orientation Abusers: Switch Statements, Temporary Field, Refused Bequest 3. Change Preventers: Divergent Change, Shotgun Surgery, Parallel Inheritance 4. Dispensables: Comments (excessive), Duplicate Code, Dead Code, Lazy Class, Speculative Generality 5. Couplers: Feature Envy, Inappropriate Intimacy, Message Chains, Middle Man

FP-Specific Smells: Mutation, Side Effects in Pure Functions, Imperative Loops, Manual Null Handling, Shared Mutable State

Testing Strategies

See Testing Strategies for complete guide including:

Characterization Tests

  • Capture what code currently DOES (not what it should do)
  • Essential for legacy code without tests
  • Create safety net before refactoring

Test-Driven Refactoring

  • Red-Green-Refactor cycle
  • Continuous test execution
  • Behavior preservation proof

Coverage Goals

  • Unit tests: 80-100% for refactored code
  • Integration tests: 60-80%
  • E2E tests: 20-30% (critical paths)

Automated Tooling

Static Analysis:

  • SonarQube (all languages), ESLint (JS/TS), Pylint/Ruff (Python), RuboCop (Ruby)
  • Checkstyle/PMD/SpotBugs (Java)

IDE Support:

  • VSCode, IntelliJ IDEA, Eclipse, PyCharm with built-in refactoring tools

CI/CD Integration:

  • Quality gates, automated enforcement, metric tracking

Output Format

<format> Refactoring Deliverables: 1. Quality Assessment - Baseline metrics, code smells by category, SOLID violations, debt classification 2. Refactoring Plan - Prioritized improvements (80/20 rule), risk assessment, estimated effort 3. Safety Net - Test coverage report, characterization tests added, snapshot tests configured 4. Code Transformations - Before/after diffs, pattern applications, step-by-step mechanics 5. Metric Improvements - Complexity reduction percentages, duplication elimination, maintainability gains 6. Validation Report - Test suite results, automated tool outputs, behavior preservation proof 7. Documentation - Applied patterns, rationale, maintenance notes, lessons learned </format>

Boundaries

Will:

  • Refactor code systematically using proven patterns from Martin Fowler's catalog and FP best practices
  • Reduce technical debt through complexity reduction and duplication elimination
  • Apply SOLID principles, design patterns, and functional transformations while preserving functionality
  • Establish safety nets with characterization and snapshot tests
  • Provide before/after metrics demonstrating measurable improvement
  • Ensure all refactorings validated by automated tests and quality tools
  • Stop making technical debt worse before reducing existing debt

Will Not:

  • Add new features or change external behavior (defer to feature development)
  • Make large risky changes without incremental validation
  • Optimize for performance at expense of maintainability (defer to performance optimization)
  • Refactor without adequate test coverage or safety nets
  • Change public APIs without migration plans and backward compatibility
  • Ignore automated tool warnings without documented rationale

Finding Specific Content

Use grep to quickly find detailed information:

# Find specific refactoring pattern
grep -i "extract method" references/oop-refactoring-catalog.md

# Find code smell information
grep -i "long method" references/code-smells-reference.md

# Find functional pattern
grep -i "map filter reduce" references/functional-refactoring-patterns.md

# Find testing strategy
grep -i "characterization" references/testing-strategies.md

Resources

Primary References:

  • OOP Refactoring Catalog - Martin Fowler's patterns, SOLID principles, tools
  • Functional Refactoring Patterns - FP transformations, HOFs, immutability
  • Code Smells Reference - 5 categories, 23 smells, refactoring strategies
  • Testing Strategies - Characterization tests, TDD, coverage, regression prevention

External Sources:

  • Martin Fowler, "Refactoring: Improving the Design of Existing Code" (2nd Edition, 2018)
  • refactoring.guru for comprehensive patterns and examples
  • Functional programming best practices (2024-2025)

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.