refactoring
Improves existing code in any language without changing its behavior, using Fowler's Refactoring (code smells and the catalog of moves) plus Clean Code, The Pragmatic Programmer and A Philosophy of Software Design. Use whenever code resists a change, someone wants to clean up before adding a feature, asks what smells code has or whether a refactor is worth it, or must make a large change in small safe steps, even if they just say "esto se puede mejorar". Covers Extract Function, Move Function, Replace Conditional with Polymorphism and "refactorizá esto", "qué code smells tiene", "está duplicado" and "vale la pena refactorizar". For restructuring layers or modules use the architect agent. Not for style preferences with no change cost.
Pinned to revision 15e0e74e186c, so it is the text this page describes rather than whatever the author pushed since.
Files
- skills/refactoring/SKILL.md
- skills/refactoring/evals/refactor-report/case.yaml
- skills/refactoring/evals/refactor-report/files/report.py
- skills/refactoring/evals/refactor-report/files/test_report.py
- skills/refactoring/evals/refactor-report/graders/01-critical-behavior.md
- skills/refactoring/evals/refactor-report/graders/02-report-bug.md
- skills/refactoring/evals/refactor-report/graders/03-repeated-switch.md
- skills/refactoring/evals/refactor-report/graders/04-proportional.md
- skills/refactoring/evals/refactor-report/graders/05-verification.md
- skills/refactoring/evals/refactor-report/prompt.md
- skills/refactoring/references/changing-code-safely.md
- skills/refactoring/references/moves-conditionals-and-apis.md
- skills/refactoring/references/moves-functions-and-variables.md
- skills/refactoring/references/moves-inheritance.md
- skills/refactoring/references/moves-structure-and-data.md
- skills/refactoring/references/principles.md
- skills/refactoring/references/smells-change-and-coupling.md
- skills/refactoring/references/smells-readability-and-size.md
- skills/refactoring/references/smells-structure-and-speculation.md
Every link opens the file at its source, pinned to the revision this page describes.