unused-code-cleanup
Systematically identify and remove unused imports, variables, and dead code from TypeScript/React projects using --noUnusedLocals and --noUnusedParameters compiler flags
allowed_tools: Read, Edit, Bash, Grep
$ 설치
git clone https://github.com/phamhung075/4genthub-hooks /tmp/4genthub-hooks && cp -r /tmp/4genthub-hooks/skills/unused-code-cleanup ~/.claude/skills/4genthub-hooks// tip: Run this command in your terminal to install the skill
SKILL.md
name: unused-code-cleanup description: Systematically identify and remove unused imports, variables, and dead code from TypeScript/React projects using --noUnusedLocals and --noUnusedParameters compiler flags allowed-tools: Read, Edit, Bash, Grep
Unused Code Cleanup
Identify and remove unused imports/variables/dead code from TypeScript/React projects.
When to Use
- TypeScript projects with unused code warnings
- After major refactoring or feature removal
- Pre-production cleanup for bundle size optimization
- Code quality improvement initiatives
Detection
| Task | Command |
|---|---|
| Detect | npx tsc --noEmit --noUnusedLocals --noUnusedParameters 2>&1 | grep "error TS6133" |
| Count | ... | wc -l |
| High-impact files | ... | sed 's/([0-9]*,[0-9]*).*//' | sort | uniq -c | sort -rn | head -15 |
Common Patterns
| Pattern | Cause | Impact | Difficulty |
|---|---|---|---|
| Unused imports | Icon libraries, API types | Smaller bundle | Easy |
| Dead feature | Feature removed, code remains | Reveals subsystems | Complex |
| Unused parameters | React Query error callbacks | Clean conventions | Easy |
| Debug snapshots | Debugging code left in | Runtime performance | Easy |
| Unused props | Component refactoring | Interface clarity | Medium |
| Unused hooks | Removed functionality | Prevent unnecessary renders | Easy |
Cleanup Strategy
- Prioritize high-impact → Files with 10+ warnings first
- Identify patterns → Imports (quick wins), state (dead features), parameters (callbacks), variables (debug)
- Verify each file →
npm run build && npx tsc --noEmit - Track progress → Start count → Current count
Key Insights
Cascading dependencies: Unused state → unused setters → unused conversion functions → entire dead feature subsystems
Performance:
- Removing unused
getQueryData()improves runtime - Smaller bundle from unused import removal
- Faster TypeScript compilation
Debug archaeology: beforeCache/afterCache variables reveal debugging history (often paired with removed console.log)
Common Mistakes
| Mistake | Issue | Solution |
|---|---|---|
| Remove used destructured | error might be used later | Check all references |
| Miss dynamic calls | String references to functions | Search for function name |
| No build verification | Reflection/dynamic imports break | Run build after each file |
| Remove API-required params | Breaking callback signature | Use _ for unused params |
Session Metrics (Example: 2025-11-08)
| Metric | Value |
|---|---|
| Warnings | 148 → 101 (32% reduction) |
| Files cleaned | 6 |
| Items removed | 47 |
| Build time | 15.30s |
Files:
| File | Warnings | Items |
|---|---|---|
| BranchContextDialog.tsx | 22 | Icons, parsing functions, state |
| useRealtimeSync.ts | 12 | Debug snapshot variables |
| useSubtasks.ts | 4 | Unused onError parameters |
| useTasks.ts | 2 | Unused onError parameters |
| api-lazy.ts | 4 | Unused type/API imports |
| LazySubtaskList/* | 5 | queryClient, props, parameters |
Automation
ESLint
{
"rules": {
"@typescript-eslint/no-unused-vars": ["error", {
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_"
}]
}
}
Pre-commit Hook
#!/bin/bash
unused=$(npx tsc --noEmit --noUnusedLocals --noUnusedParameters 2>&1 | grep "error TS6133" | wc -l)
[ $unused -gt 0 ] && echo "⚠️ $unused unused code warnings"
Quick Reference
| Task | Command |
|---|---|
| Detect | npx tsc --noEmit --noUnusedLocals --noUnusedParameters |
| Count | ... | grep "error TS6133" | wc -l |
| High-impact | ... | sed 's/([0-9]*,[0-9]*).*//' | sort | uniq -c | sort -rn |
| Build | npm run build |
| TypeScript | npx tsc --noEmit |
Supporting Files
- EXAMPLES.md - 9 patterns with before/after code, session example (148→101), cascading dependencies, performance impact
- TEMPLATES.md - Detection commands, cleanup workflows, 9 pattern templates, progress tracking
- VALIDATION.md - Pre/during/post checklists, validation commands, quality checks by pattern, metrics collection
Repository

phamhung075
Author
phamhung075/4genthub-hooks/skills/unused-code-cleanup
2
Stars
0
Forks
Updated4d ago
Added1w ago