What problem does it solve? Changing code that has no tests is risky: every edit is a gamble because nothing tells you whether existing behavior survived. This Skill provides a disciplined, step-by-step method for getting untested code under a test harness, pinning current behavior, and making changes one verifiable step at a time instead of editing and praying. ## Core Features & Use Cases - Legacy Code Change Algorithm: A five-step procedure (identify change points, find test points, break dependencies, write tests, then change) with safety checklists and triage guidance for tight deadlines. - Characterization Tests & Golden Masters: Techniques for pinning what code actually does — including snapshot testing done right and handling bugs discovered mid-characterization. - Dependency-Breaking Catalog: Named, mechanical techniques (Parameterize Constructor, Extract Interface, Sprout Method/Class, Wrap Method/Class, Break Out Method Object) with before/after code in TypeScript, Python, and Java. - Use Case: You inherit an 800-line OrderService with zero tests and must add a loyalty points feature. The Skill walks you through parameterizing the constructor, writing nine pin tests, sprouting the new logic as a fully tested class, and shipping with zero regressions. ## Quick Start Ask the AI to help you safely add a feature or fix a bug in a specific untested class or module, and it will apply the change algorithm, seams, and characterization test techniques to your code.