refactor

pproenca/dot-skills · updated Apr 27, 2026

$npx skills add https://github.com/pproenca/dot-skills --skill refactor
0 commentsdiscussion
summary

Comprehensive code refactoring guide based on Martin Fowler's catalog and Clean Code principles, designed for AI agents and LLMs. Contains 43 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

skill.md

Fowler/Martin Code Refactoring Best Practices

Comprehensive code refactoring guide based on Martin Fowler's catalog and Clean Code principles, designed for AI agents and LLMs. Contains 43 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Refactoring existing code to improve maintainability
  • Decomposing long methods or large classes
  • Reducing coupling between components
  • Simplifying complex conditional logic
  • Reviewing code for code smells and anti-patterns

Rule Categories by Priority

Priority Category Impact Prefix
1 Structure & Decomposition CRITICAL struct-
2 Coupling & Dependencies CRITICAL couple-
3 Naming & Clarity HIGH name-
4 Conditional Logic HIGH cond-
5 Abstraction & Patterns MEDIUM-HIGH pattern-
6 Data Organization MEDIUM data-
7 Error Handling MEDIUM error-
8 Micro-Refactoring LOW micro-

Quick Reference

1. Structure & Decomposition (CRITICAL)

  • struct-extract-method - Extract Method for Long Functions
  • struct-single-responsibility - Apply Single Responsibility Principle
  • struct-extract-class - Extract Class from Large Class
  • struct-compose-method - Compose Method for Readable Flow
  • struct-function-length - Keep Functions Under 20 Lines
  • struct-replace-method-with-object - Replace Method with Method Object
  • struct-parameter-object - Introduce Parameter Object

2. Coupling & Dependencies (CRITICAL)

  • couple-dependency-injection - Use Dependency Injection
  • couple-hide-delegate - Hide Delegate to Reduce Coupling
  • couple-remove-middle-man - Remove Middle Man When Excessive
  • couple-feature-envy - Fix Feature Envy by Moving Methods
  • couple-interface-segregation - Apply Interface Segregation Principle
  • couple-preserve-whole-object - Preserve Whole Object Instead of Fields

3. Naming & Clarity (HIGH)

  • name-intention-revealing - Use Intention-Revealing Names
  • name-avoid-abbreviations - Avoid Abbreviations and Acronyms
  • name-consistent-vocabulary - Use Consistent Vocabulary
  • name-searchable-names - Use Searchable Names
  • name-avoid-encodings - Avoid Type Encodings in Names

4. Conditional Logic (HIGH)

  • cond-guard-clauses - Replace Nested Conditionals with Guard Clauses
  • cond-polymorphism - Replace Conditional with Polymorphism
  • cond-decompose - Decompose Complex Conditionals
  • cond-consolidate - Consolidate Duplicate Conditional Fragments
  • cond-special-case - Introduce Special Case Object
  • cond-lookup-table - Replace Conditional with Lookup Table

5. Abstraction & Patterns (MEDIUM-HIGH)

  • pattern-strategy - Extract Strategy for Algorithm Variants
  • pattern-template-method - Use Template Method for Shared Skeleton
  • pattern-factory - Use Factory for Complex Object Creation
  • pattern-open-closed - Apply Open-Closed Principle
  • pattern-composition-over-inheritance - Prefer Composition Over Inheritance
  • pattern-extract-superclass - Extract Superclass for Common Behavior

6. Data Organization (MEDIUM)

  • data-encapsulate-collection - Encapsulate Collection
  • data-replace-primitive - Replace Primitive with Object
  • data-encapsulate-record - Encapsulate Record into Class
  • data-split-variable - Split Variable with Multiple Assignments
  • data-replace-temp-with-query - Replace Temp with Query

7. Error Handling (MEDIUM)

  • error-exceptions-over-codes - Use Exceptions Instead of Error Codes
  • error-custom-exceptions - Create Domain-Specific Exception Types
  • error-fail-fast - Fail Fast with Preconditions
  • error-separate-concerns - Separate Error Handling from Business Logic

8. Micro-Refactoring (LOW)

  • micro-remove-dead-code - Remove Dead Code
  • micro-inline-variable - Inline Trivial Variables
  • micro-simplify-expressions - Simplify Boolean Expressions
  • micro-rename-for-clarity - Rename for Clarity

How to Use

Read individual reference files for detailed explanations and code examples:

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.756 reviews
  • Yusuf Gupta· Dec 24, 2024

    refactor reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Aditi Sanchez· Dec 20, 2024

    Registry listing for refactor matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Yash Thakker· Dec 8, 2024

    We added refactor from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Liam Sanchez· Nov 15, 2024

    Registry listing for refactor matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Valentina Jackson· Nov 11, 2024

    refactor reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Arya Park· Nov 11, 2024

    refactor is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Diego Menon· Oct 6, 2024

    refactor fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Advait Chen· Oct 2, 2024

    I recommend refactor for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Arya Ndlovu· Oct 2, 2024

    Useful defaults in refactor — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Noor Desai· Sep 17, 2024

    Solid pick for teams standardizing on skills: refactor is focused, and the summary matches what you get after install.

showing 1-10 of 56

1 / 6