hard-cut
Installation
SKILL.md
Hard Cut
Use this when a feature should die, not linger.
Rules
- Delete the surface. Do not deprecate it.
- Do not leave
throw new Error("Not implemented"), placeholder notices, "feature removed" banners, or TODOs about bringing it back unless the user explicitly asks. - Do not keep compatibility aliases, deprecated shims, fallback parsing, migration bridges, or dead exports.
- Delete tests for deleted behavior. Keep tests only for the behavior that still exists.
- Delete comments that describe deleted code or mourn the old feature.
- If removal exposes adjacent dead code, keep cutting until the graph is clean.
Sweep
- Find the real surface area:
- exports
- commands and flags
- routes
- UI entrypoints
- feature flags
- docs and examples
- Trace references with
rg. - Delete the implementation and the glue:
- call sites
- types
- state
- tests
- docs
- comments
- Grep again for the removed name and obvious aliases.
- Run the narrowest honest verification for the surviving product.
Smells
- deprecated notices
- not-implemented throws
- stub handlers
- dead enum or union members
- permanently-false feature-flag branches
- unused env vars and config
- tests that only prove the deleted feature used to exist
Bias
If the choice is between deleting more code and leaving a zombie seam, delete more code.