<< All versions
Skill v1.0.1
currentAutomated scan100/100udecode/dotai/hard-cut
+2 new
──Details
PublishedSeptember 30, 2026 at 12:10 PM
Content Hashsha256:2682318aa5d57ff7...
Git SHAaef20fd4335f
Bump Typepatch
──Files
Files (1 file, 1.5 KB)
SKILL.md1.5 KBactive
SKILL.md · 58 lines · 1.5 KB
version: "1.0.1" name: hard-cut description: "Remove a named feature completely, including callers, exports, tests, docs and compatibility paths."
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 surface, delete more code.