prunelisted
Install: claude install-skill ChloeVPin/chloe-skills
# Prune
Rule zero: treat every declaration as **live** until you have proven it safe
to remove.
Find candidates in four categories. Verify each candidate across the whole
repository, code and tests alike. Report all findings for approval before
editing.
## Categories
1. **Confirmed dead**: symbols, constants, tokens, or barrel re-exports with
zero references.
2. **Dedupe**: the same constant, string, or type literal declared verbatim in
two or more places.
3. **Drift**: a magic literal that duplicates an existing named constant.
4. **Arbitrary limits**: caps, thresholds, or timeouts guarding against
situations users cannot reach. Quantify the real limit before recommending
removal.
## Workflow checklist
Copy this checklist and track your progress:
```
Prune Progress:
- [ ] 1. Build the candidate list (tooling + search)
- [ ] 2. Verify every candidate repo-wide
- [ ] 3. Classify: safe to remove / arbitrary but intentional
- [ ] 4. Present the findings table
- [ ] 5. Ask which findings to apply
- [ ] 6. Apply approved changes and update tests
- [ ] 7. Run typecheck, lint, and tests
```
## 1. Build the candidate list
Use existing tooling. Do not install new tools without asking the user.
For JavaScript and TypeScript projects:
- If the project already uses **knip**, **ts-prune**, or **depcheck**, use
their output as the candidate list. For example: `npx knip`.
- Otherwise, check whether TypeScript flags unused locals
(`noUnusedLocals`, `noUnusedParamet