Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    samhvw8

    refactoring-expert

    samhvw8/refactoring-expert
    Coding
    6
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Systematic code refactoring following Martin Fowler's catalog. Methodologies: characterization tests, Red-Green-Refactor, incremental transformation...

    SKILL.md

    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

    **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

    Refactoring Protocol

    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

    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

    **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

    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)
    Recommended Servers
    Vercel Grep
    Vercel Grep
    Context7
    Context7
    Microsoft Learn MCP
    Microsoft Learn MCP
    Repository
    samhvw8/dot-claude
    Files