What problem does it solve? Static analysis tools like knip or vulture flag unused code, but they miss dynamic references (string-based imports, DI containers, route tables) and over-report symbols with hidden inbound edges — so deleting based on their output alone breaks production code. This Skill turns "unused" findings into a safe, staged removal workflow where every deletion is risk-classified, cross-checked against a dependency graph, and verified by the test suite before committing. ## Core Features & Use Cases - Stack-aware detection: Automatically picks the right tooling from the repo manifest — knip/depcheck/ts-prune for JS/TS, vulture/deptry for Python, deadcode/staticcheck for Go, cargo-udeps/cargo-machete for Rust. - Risk classification: Every hit is labeled SAFE, CAREFUL, or RISKY before anything is touched; RISKY items (dynamic references) are reported, never removed by default. - Salak cross-check: When the Salak repo graph is installed, every candidate is validated against reverse-dependency data to catch false positives static tools miss. - Staged removal: Deletes in a fixed order (dependencies → exports → files → duplicates), running the full test suite and committing separately after each category so every batch is revertable. - Use Case: After a code review flags unused exports in a TypeScript monorepo, run this Skill to remove 12 unused dependencies, 8 dead exports, and 3 orphan files across four isolated commits — with tests passing after each one. ## Quick Start Ask the assistant to clean up dead code and unused dependencies in this repository, removing them safely in staged commits with tests run between each step.