dead-code-removal — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited dead-code-removal (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Dead code removal via massively parallel scanning and execution. You are the ORCHESTRATOR — you scan, verify, batch, then execute all removals with atomic commits.
Rules:
False-positive guards — NEVER mark as dead:
index re-exports@public / @api doc tagscreateXXXHook), tool factories (createXXXTool), plugin definitionsRun ALL of these in parallel:
Compiler/linter strict mode (primary scanner — run FIRST):
# TypeScript
npx tsc --noEmit --noUnusedLocals --noUnusedParameters 2>&1
# Python
vulture src/ --min-confidence 80
# Go
staticcheck -checks U1000 ./...This gives you the definitive list of unused locals, imports, parameters, and types with exact file:line locations.
Orphaned file detection (run simultaneously): Find files in src/ NOT imported by any other file. Check all import statements. EXCLUDE: index files, test files, entry points, markdown, config files. Return: file paths.
Unused export detection (run simultaneously): Find exported functions/types/constants that are never imported by other files. Cross-reference: for each export, grep the symbol name across src/ — if it only appears in its own file, it's a candidate. EXCLUDE: entry point exports, test files. Return: file path, line, symbol name, export type.
Collect all results into a master candidate list.
For EACH candidate from Phase 1:
# Search for all references (excluding the declaration itself)
grep -rn "symbolName" src/ --include="*.ts" | grep -v "declaration_file.ts"
# Or use language-specific tools:
# TypeScript: ts-prune, ts-unused-exports
# Python: vulture --min-confidence 80
# Go: staticcheck -checks U1000
# 0 references = CONFIRMED dead
# 1+ references = NOT dead, drop from listAlso apply the false-positive guards above. Produce a confirmed list:
| # | File | Symbol | Type | Action |
|---|------|--------|------|--------|
| 1 | src/foo.ts:42 | unusedFunc | function | REMOVE |
| 2 | src/bar.ts:10 | OldType | type | REMOVE |
| 3 | src/baz.ts:7 | ctx | parameter | PREFIX _ |Action types:
REMOVE — delete the symbol/import/file entirelyPREFIX _ — unused function parameter required by signature → rename to _paramNameIf ZERO confirmed: report "No dead code found" and STOP.
Goal: maximize parallel execution with ZERO conflicts.
Example batching:
Batch A: [src/hooks/foo/hook.ts — 3 unused imports]
Batch B: [src/features/bar/manager.ts — 2 unused constants, 1 dead function]
Batch C: [src/tools/baz/tool.ts — 1 unused param, src/tools/baz/types.ts — 1 unused type]
Batch D: [src/dead-file.ts — entire file deletion]Files in the same directory CAN be batched together (they won't conflict as long as no two agents edit the same file). Maximize batch count for parallelism.
For EACH batch:
_ (do NOT remove — required by signature)rmgit checkout -- [files] and report failuregit add [your-specific-files] && git commit -m "refactor: remove dead code from [brief file list]"
git add [specific files]). NEVER git add -A — other batches may be running in parallel.After ALL batches complete:
# Language-specific type check (must pass)
npx tsc --noEmit # TypeScript
mypy src/ # Python
go vet ./... # Go
# Tests (note any NEW failures vs pre-existing)
npm test
pytest
# Build (must pass)
npm run buildProduce summary:
## Dead Code Removal Complete
### Removed
| # | Symbol | File | Type | Commit |
|---|--------|------|------|--------|
| 1 | unusedFunc | src/foo.ts | function | abc1234 |
### Skipped (verification failed)
| # | Symbol | File | Reason |
|---|--------|------|--------|
### Verification
- Type check: PASS/FAIL
- Tests: X passing, Y failing (Z pre-existing)
- Build: PASS/FAIL
- Total removed: N symbols across M files
- Total commits: K atomic commitsIf a specific scope is provided, narrow the scan:
all or empty → full project scan (default)STOP and report if:
Inspired by: oh-my-opencode remove-deadcode command
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.