/hard-cut
Remove a feature completely with no backward compatibility; delete surfaces, callers, tests, docs, fallbacks, stubs, and dead exports.
$ npx -y skills add udecode/dotai --skill hard-cut --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/hard-cut
Context preview
The summary Claude sees to decide when to auto-load this skill.
Remove a feature completely with no backward compatibility; delete surfaces, callers, tests, docs, fallbacks, stubs, and dead exports.
SKILL.md
hard-cut.SKILL.mdname: hard-cut
description: Remove a feature completely with no backward compatibility; delete surfaces, callers, tests, docs, fallbacks, stubs, and dead exports.
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
1. Find the real surface area:
- exports
- commands and flags
- routes
- UI entrypoints
- feature flags
- docs and examples
2. Trace references with `rg`. 3. Delete the implementation and the glue:
- call sites
- types
- state
- tests
- docs
- comments
4. Grep again for the removed name and obvious aliases. 5. 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.
Read more
name: hard-cut description: Remove a feature completely with no backward compatibility; delete surfaces, callers, tests, docs, fallbacks, stubs, and dead exports.
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
1. Find the real surface area:
- exports
- commands and flags
- routes
- UI entrypoints
- feature flags
- docs and examples
2. Trace references with `rg`. 3. Delete the implementation and the glue:
- call sites
- types
- state
- tests
- docs
- comments
4. Grep again for the removed name and obvious aliases. 5. 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.
Shared skills for coding agents. Skills are the main routing layer. This repo is the canonical source for reusable udecode workflows; downstream repos should link to these skills instead of copying long SKILL.md files around.
Repo: udecode/dotai
Other skills on dotai.
- /agent-native-reviewer
Review agent-native parity for skills, prompts, tools, commands, generated mirrors, repo workflows, and user-facing actions.
Open skill - /autogoal
Create, verify, repair, and close durable Codex goals with measurable outcomes, evidence gates, plan templates, blocker handling, completion audits, and goal-backed workflow repair.
Open skill - /linear-backlog
Run a scoped Linear backlog autonomously as a sequence of maximal safe parallel batches by composing orchestrator, autogoal, and task. Use when the user wants Codex to execute ordered Linear issues without prompting for each next batch while parallelizing every dependency-ready
Open skill - /orchestrator
Turn the current Codex thread into a coordination thread that routes implementation work to durable reusable child threads in disposable worktrees with short-lived branches targeting main.
Open skill - /resolve-pr-feedback
Resolve GitHub PR review feedback with source-backed triage, fixes, autogoal plan state, focused proof, replies, and thread resolution.
Open skill - /sync-vision
Sync root VISION.md from changed human and agent inputs; use when project taste, doctrine, or maintainer judgment should learn from recent plans, docs, skills, reviews, or repeated misses.
Open skill

