tombstonelisted
Install: claude install-skill 0xmortuex/claude-code-skills
# tombstone
`knip`, `ts-prune`, `vulture`, and a careful grep all answer the same question well: does anything *in this repository* still reference this code? That's a real answer, and it's sufficient for private helpers only ever called from within the repo. It is not sufficient the moment the surface is reachable from outside the repo's own source: a public or internal API endpoint another team's service still calls, a mobile client on an app version from eight months ago that nobody updates, a DB column another service reads directly (not through your ORM), a webhook a third party fires, or a batch job that only runs quarterly. Static analysis is blind to all of these — it can only see what's in front of it — and deleting on that confidence alone is how "obviously dead" code turns into a production incident from a caller nobody thought to check.
The fix is not more grep, it's a different kind of evidence: proof that the surface wasn't *invoked*, gathered from wherever invocations actually get recorded, over a window long enough to catch its real calling frequency.
## Step 1 — classify reachability before doing anything else
- **Intra-repo only**: a private function, unexported type, or internal module with no external HTTP/DB/queue/package surface, called only from files in this same repo. Static tools already answered this — this skill has nothing to add, don't slow the deletion down with log-hunting it doesn't need.
- **Externally reachable**: anything callable by so