Releases: jcgruesome/moltbloat
Releases · jcgruesome/moltbloat
Release list
v0.8.1 — Usage tracker fix
Fixed
- Usage tracker (
track-usage.sh) silently logged every invocation as"unknown"— it read tool name/input from env vars (CLAUDE_TOOL_NAME/CLAUDE_TOOL_INPUT) that Claude Code never sets. The PostToolUse hook payload actually arrives as JSON on stdin. Rewrote the script to parse stdin directly, with atomic file-locked writes and errors routed to~/.moltbloat/errors.loginstead of failing silently.
This had been degrading /moltbloat:usage data since the hook was introduced.
Full Changelog: v0.8.0...v0.8.1
v0.8.0
Added
/moltbloat:audit --deep— multi-agent forensic audit: 7 scoped auditors, adversarial verification of every high-severity finding, ideation lenses, and a polished shareable HTML report with a token-waste ledger and phased cleanup plan. Flags:--thorough,--no-ideas,--yes. New support files:scripts/deep-recon.py(deterministic read-only ground truth),scripts/deep-audit-workflow.js(canonical orchestration, degrades gracefully without Workflow/subagents), andskills/audit/{deep-audit.md,report-template.html}.
Removed
- Historical design spec from
docs/superpowers/specs/(recoverable from git history).
Full changelog: https://github.com/jcgruesome/moltbloat/blob/main/CHANGELOG.md
moltbloat v0.7.1
🎉 moltbloat v0.7.1
Audit your Claude Code ecosystem for bloat, redundancy, and token waste.
The headline of this release: /moltbloat:usage now finds bloat by mining your actual Claude Code history — retroactively, from the very first run.
✨ What's New
Retroactive usage mining (/moltbloat:usage)
- Mines Claude Code's native session transcripts (
~/.claude/projects/**/*.jsonl) as the primary data source — no more waiting weeks for the tracking hook to accumulate data. It works immediately. - New
scripts/parse-history.pystreams every transcript and aggregates real tool, MCP server, skill, and subagent usage with per-itemcount,first_used,last_used, andsessions. Flags:--since <days>,--json. - Recency tiers — every installed component is classified ACTIVE / STALE / NEVER against a configurable window (
thresholds.stale_days, default 30). - Disable suggestions — never/stale MCPs, plugins, and agents come with the exact disable command (read-only — moltbloat never runs them).
- moltbloat's own PostToolUse hook log is now supplemental corroboration rather than the sole source.
🛡️ Fixed
No false-positive disable suggestions
- Plugins that deliver value through surfaces the miner can't see — LSP providers, statuslines, hooks-only, and command-only plugins — were wrongly flagged "never used." The usage skill now computes an observability check: a plugin is judged from history only if it has a measurable surface (skill/agent/MCP) or has history attributed to it. Unobservable plugins go to a "review manually" section and never appear in disable suggestions.
- Slash commands that are logged via the
Skilltool are now correctly tiered by recency.
/moltbloat:doctor → /moltbloat:diagnose
- The
doctorskill collided with Claude Code's built-in/doctorcommand and hijacked it via generic trigger words. Renamed to/moltbloat:diagnosewith scoped triggers that defer to the built-in. Breaking: update any references to the old command name.
⚙️ Config
- Schema v1.2 — adds
thresholds.stale_days(default 30). Existing configs migrate automatically.
Full changelog: v0.6.0...v0.7.1
moltbloat v0.6.0
🎉 moltbloat v0.6.0
Audit your Claude Code ecosystem for bloat, redundancy, and token waste.
✨ What's New
Export & Integration
audit --json— Export audit results as JSON for CI integrationaudit --export <path>— Save audit results to filesnapshot --export <path>— Export snapshots for team sharing
Smart Analysis
- Semantic duplicate detection — Finds plugins with similar functionality even with different names
- Usage-based recommendations — Cross-references audit findings with actual usage data
profile suggest— One command analyzes ecosystem + usage + conflicts and recommends optimized profile
Configuration
ignored_findings— Dismiss false positives in configdefaults.auto_compact— Automatically compact usage data- Customizable thresholds, cost rates, and penalties
Robustness
- File locking for concurrent writes
- Error logging to
~/.moltbloat/errors.log - Config schema migration (v1.0 → v1.1)
- Dependency checking
📊 Real-World Results
Before: 18 plugins, 275 skills, ~69K tokens, Health: 45/100
After: 12 plugins, ~240 skills, ~45K tokens, Health: 78/100
Savings: 35% token overhead, ~$0.07 per message (Sonnet)
Found: Two Vercel plugins with 100% overlap, one had zero usage
🚀 Quick Start
# Install
claude plugin marketplace add https://github.com/jcgruesome/moltbloat
claude plugin install moltbloat
# Use
/moltbloat:audit # See your ecosystem health
/moltbloat:audit --json # Export for CI
/moltbloat:profile suggest # Get optimization recommendations
/moltbloat:clean --dry-run # Preview cleanup📸 Screenshot
=== MOLTBLOAT ECOSYSTEM AUDIT ===
Health Score: 45/100 🔴 CRITICAL
HIGH PRIORITY:
⚠️ Token overload: ~69K tokens
everything-claude-code (108 skills)
vercel-plugin (51 skills)
vercel (35 skills)
⚠️ Duplicate: vercel + vercel-plugin
100% keyword overlap
vercel has zero usage
RECOMMENDATION:
Run: /moltbloat:profile suggest
Estimated savings: ~24K tokens (-35%)
📚 Documentation
🏆 Stats
- 12 skills — No bloat, merged functionality
- MIT Licensed
- CI-tested with GitHub Actions
💬 Support
🔗 Links
- Reddit: r/ClaudeCode post (add link after posting)
- Version: v0.6.0
- Requires: Claude Code 2.x