Use when a class or method cannot be instantiated or exercised in a test because of its dependencies: heavy constructors, singletons, static calls, global state, or hidden side effects that make the code impossible to isolate. Use it to choose a specific dependency-breaking technique (Sprout Method, Wrap Method, Extract Interface, Parameterize Constructor, Subclass and Override Method, Break Out Method Object, and the full Feathers dependency-breaking catalogue), even when the technique is not named. Use it also when new behaviour must be added immediately alongside untested code without first bringing that surrounding code under test. For the overall approach to changing legacy code safely, including seam identification, characterization tests, effect sketching, and the five-step algorithm that calls these techniques at step three, use the sibling skill legacy-code-changes.
Install with
Claude CodeCodexCursorGitHub CopilotGemini CLI
Supported by the Atlas install prompt. Skill-specific requirements vary.
Skill stats
Skills1CategoryGeneralStars0
About this skill
Use when a class or method cannot be instantiated or exercised in a test because of its dependencies: heavy constructors, singletons, static calls, global state, or hidden side effects that make the code impossible to isolate. Use it to choose a specific dependency-breaking technique (Sprout Method, Wrap Method, Extract Interface, Parameterize Constructor, Subclass and Override Method, Break Out Method Object, and the full Feathers dependency-breaking catalogue), even when the technique is not named. Use it also when new behaviour must be added immediately alongside untested code without first bringing that surrounding code under test. For the overall approach to changing legacy code safely, including seam identification, characterization tests, effect sketching, and the five-step algorithm that calls these techniques at step three, use the sibling skill legacy-code-changes.
Quick start
Copy the install prompt. Use the green button above this README.
Send it to your agent. Paste it into your coding agent’s chat and send.
Review the setup. Your agent checks the skill’s instructions, requirements, and installation scope.
This skill should be used when a class or method cannot be instantiated or exercised in a test because of its dependencies: heavy constructors, singletons, static calls, global state, or hidden side effects that make the code impossible to isolate. Use it to choose a specific dependency-breaking technique (Sprout Method, Wrap Method, Extract Interface, Parameterize Constructor, Subclass and Override Method, Break Out Method Object, and the full Feathers dependency-breaking catalogue), even when the technique is not named. Use it also when new behaviour must be added immediately alongside untested code without first bringing that surrounding code under test. For the overall approach to changing legacy code safely, including seam identification, characterization tests, effect sketching, and the five-step algorithm that calls these techniques at step three, use the sibling skill `legacy-code-changes`.
About this listing
Category
General
Reported license
MIT
Listing language (estimated)
English
Review status
Not individually reviewed
Agent compatibility
Atlas installation supports Claude Code, Codex, and Cursor. Skill-specific dependencies and features are checked during setup.