athola/bloat-detector
Detects codebase bloat via dead code, duplication, complexity, and doc bloat scans. Use when codebase feels large or before a release.
npx skills add https://github.com/athola/claude-night-market --skill bloat-detector
Systematically detect and eliminate codebase bloat through progressive analysis tiers.
| Category | Examples |
|----------|----------|
| Code | Dead code, God classes, Lava flow, duplication |
| AI-Generated | Tab-completion bloat, vibe coding, hallucinated deps |
| Documentation | Redundancy, verbosity, stale content, slop |
| Dependencies | Unused imports, dependency bloat, phantom packages |
| Git History | Stale files, low-churn code, massive single commits |
/bloat-scan
Detects: Large files, stale code, old TODOs, commented blocks, basic duplication
/bloat-scan --level 2 --focus code # or docs, deps
Adds: Static analysis (Vulture/Knip), git churn hotspots, doc similarity
/bloat-scan --level 3 --report audit.md
Adds: Cross-file redundancy, dependency graphs, readability metrics
| Do | Don't |
|----|-------|
| Context usage > 30% | Active feature development |
| Quarterly maintenance | Time-sensitive bugs |
| Pre-release cleanup | Codebase < 1000 lines |
| Before major refactoring | Tools unavailable (Tier 2/3) |
| Level | Confidence | Action |
|-------|------------|--------|
| HIGH | 90-100% | Safe to remove |
| MEDIUM | 70-89% | Review first |
| LOW | 50-69% | Investigate |
Priority = (Token_Savings × 0.4) + (Maintenance × 0.3) + (Confidence × 0.2) + (Ease × 0.1)
Tier 1 (always available):
modules/quick-scan.md - Heuristics, no toolsmodules/git-history-analysis.md - Staleness, churn, vibe coding signaturesmodules/growth-analysis.md - Growth velocity, forecasts, threshold alertsTier 2 (optional tools):
modules/code-bloat-patterns.md - Anti-patterns (God class, Lava flow)modules/ai-generated-bloat.md - AI-specific patterns (Tab bloat, hallucinations)modules/documentation-bloat.md - Redundancy, readability, slop detectionmodules/static-analysis-integration.md - Vulture, KnipShared:
modules/remediation-types.md - DELETE, REFACTOR, CONSOLIDATE, ARCHIVEPatterns that span plugin boundaries or manifest configuration,
discovered through ecosystem-wide audits.
alwaysApply AccumulationFlag plugins with 3+ skills where alwaysApply: true.
Each always-on skill injects its full text into every session,
creating a baseline token floor before the user types anything.
Sum the estimated_tokens fields to report total per-session cost.
Compare hooks declared in plugin.json or openpackage.yml
against entries in hooks.json. A hook present in hooks.json
but absent from the manifest is invisible to the plugin loader
and cannot be audited, versioned, or disabled through normal
plugin management.
Scan skill files for identical multi-line text blocks repeated
across 10+ files (e.g., generic troubleshooting sections like
"Command not found / Permission errors / Unexpected behavior").
These are copy-paste artifacts that inflate token cost without
adding skill-specific value.
Skills loaded into model context gain nothing from HTML-style
Tables of Contents. Detect ## Table of Contents followed by
bulleted anchor-link lists. These waste tokens since
the model reads sequentially, not via hyperlinks.
Compare files on disk in skills/*/modules/ against the
modules: list in each skill's SKILL.md frontmatter. Files
that exist on disk but are not listed in the manifest are
invisible to progressive loading and may be dead weight or
missing from the load path.
Always excludes: .venv, __pycache__, .git, node_modules, dist, build, vendor
Also respects: .gitignore, .bloat-ignore
--dry-run for previewsbloat-auditor agent - Executes scansunbloat-remediator agent - Safe remediationcontext-optimization skill - MECW principles/bloat-scan command - User-facing slash command that invokes thisskill; there is no separate bloat-scan skill
findings listed per bloat category (Code, AI-Generated,
Documentation, Dependencies, Git History)
a priority score computed from the formula
`(Token_Savings × 0.4) + (Maintenance × 0.3) + (Confidence × 0.2)
+ (Ease × 0.1)`
every proposed removal documented as DELETE, REFACTOR,
CONSOLIDATE, or ARCHIVE per modules/remediation-types.md
hook registration gaps, boilerplate footers, ToC bloat) if the
scan target contains plugin directories
Take athola/bloat-detector from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.