{"skill":{"slug":"bookforge-duplication-removal-via-extraction","displayName":"Duplication Removal Via Extraction","summary":"Remove duplicated code across methods and classes by extracting small shared utilities first and letting larger structure (superclass, Template Method) emerg...","tags":{"bookforge":"1.0.0","code-quality":"1.0.0","dry":"1.0.0","duplication":"1.0.0","latest":"1.0.0","legacy-code":"1.0.0","refactoring":"1.0.0","software-engineering":"1.0.0"},"stats":{"comments":0,"downloads":0,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1777470472107,"updatedAt":1777470709301},"latestVersion":{"version":"1.0.0","createdAt":1777470472107,"changelog":"Initial release: Duplication Removal via Extraction skill helps consolidate duplicated code into shared utilities and structures, based on Michael Feathers' legacy code techniques.\n\n- Guides developers through removing duplicated logic from multiple classes/methods using safe, incremental extraction.\n- Requires test coverage (or characterization tests) before refactoring to ensure behavior is preserved.\n- Describes a bottom-up process: extract small shared methods first, then introduce shared superclasses or patterns as needed.\n- Includes triggers and prerequisites, with advice on when not to use the skill (e.g., accidental similarity).\n- Supports any OO language; integrates with characterization-test-writing skill for establishing test safety.","license":"MIT-0"},"metadata":{"os":null,"systems":null},"owner":{"handle":"quochungto","userId":"s176b6gfk8djgcz320d83ta4e184bx1v","displayName":"Hung Quoc To","image":"https://avatars.githubusercontent.com/u/88069966?v=4"},"moderation":null}