refactoring
Behavior-preserving refactoring workflow with a catalog of 23 code smells and 66 language-neutral techniques. Use when diagnosing maintainability problems, selecting a named refactoring, restructuring existing code without changing observable behavior, planning incremental technical-debt cleanup, or reviewing refactoring safety.
Pinned to revision 1a23b918b78b, so it is the text this page describes rather than whatever the author pushed since.
Files
- skills/refactoring/SKILL.md
- skills/refactoring/agents/openai.yaml
- skills/refactoring/references/add-parameter.md
- skills/refactoring/references/change-bidirectional-association-to-unidirectional.md
- skills/refactoring/references/change-reference-to-value.md
- skills/refactoring/references/change-unidirectional-association-to-bidirectional.md
- skills/refactoring/references/change-value-to-reference.md
- skills/refactoring/references/code-smell-checklist.md
- skills/refactoring/references/collapse-hierarchy.md
- skills/refactoring/references/consolidate-conditional-expression.md
- skills/refactoring/references/consolidate-duplicate-conditional-fragments.md
- skills/refactoring/references/decompose-conditional.md
- skills/refactoring/references/duplicate-observed-data.md
- skills/refactoring/references/encapsulate-collection.md
- skills/refactoring/references/encapsulate-field.md
- skills/refactoring/references/extract-class.md
- skills/refactoring/references/extract-interface.md
- skills/refactoring/references/extract-method.md
- skills/refactoring/references/extract-subclass.md
- skills/refactoring/references/extract-superclass.md
- skills/refactoring/references/extract-variable.md
- skills/refactoring/references/form-template-method.md
- skills/refactoring/references/hide-delegate.md
- skills/refactoring/references/hide-method.md
- skills/refactoring/references/inline-class.md
- skills/refactoring/references/inline-method.md
- skills/refactoring/references/inline-temp.md
- skills/refactoring/references/introduce-assertion.md
- skills/refactoring/references/introduce-foreign-method.md
- skills/refactoring/references/introduce-local-extension.md
- skills/refactoring/references/introduce-null-object.md
- skills/refactoring/references/introduce-parameter-object.md
- skills/refactoring/references/move-field.md
- skills/refactoring/references/move-method.md
- skills/refactoring/references/parameterize-method.md
- skills/refactoring/references/preserve-whole-object.md
- skills/refactoring/references/pull-up-constructor-body.md
- skills/refactoring/references/pull-up-field.md
- skills/refactoring/references/pull-up-method.md
- skills/refactoring/references/push-down-field.md
- skills/refactoring/references/push-down-method.md
- skills/refactoring/references/remove-assignments-to-parameters.md
- skills/refactoring/references/remove-control-flag.md
- skills/refactoring/references/remove-middle-man.md
- skills/refactoring/references/remove-parameter.md
- skills/refactoring/references/remove-setting-method.md
- skills/refactoring/references/rename-method.md
- skills/refactoring/references/replace-array-with-object.md
- skills/refactoring/references/replace-conditional-with-polymorphism.md
- skills/refactoring/references/replace-constructor-with-factory-method.md
- skills/refactoring/references/replace-data-value-with-object.md
- skills/refactoring/references/replace-delegation-with-inheritance.md
- skills/refactoring/references/replace-error-code-with-exception.md
- skills/refactoring/references/replace-exception-with-test.md
- skills/refactoring/references/replace-inheritance-with-delegation.md
- skills/refactoring/references/replace-magic-number-with-symbolic-constant.md
- skills/refactoring/references/replace-method-with-method-object.md
- skills/refactoring/references/replace-nested-conditional-with-guard-clauses.md
- skills/refactoring/references/replace-parameter-with-explicit-methods.md
- skills/refactoring/references/replace-parameter-with-method-call.md
- skills/refactoring/references/replace-subclass-with-fields.md
- skills/refactoring/references/replace-temp-with-query.md
- skills/refactoring/references/replace-type-code-with-class.md
- skills/refactoring/references/replace-type-code-with-state-strategy.md
- skills/refactoring/references/replace-type-code-with-subclasses.md
- skills/refactoring/references/self-encapsulate-field.md
- skills/refactoring/references/separate-query-from-modifier.md
- skills/refactoring/references/split-temporary-variable.md
- skills/refactoring/references/substitute-algorithm.md
Every link opens the file at its source, pinned to the revision this page describes.