From moltbloat
Dependency graph — show what each plugin provides and the blast radius of removing it
How this skill is triggered — by the user, by Claude, or both
Slash command
/moltbloat:dependsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<Purpose>
<Use_When>
/moltbloat:clean<Do_Not_Use_When>
/moltbloat:audit/moltbloat:why
</Do_Not_Use_When>Determine scope
Check if the user specified a plugin name. If yes, analyze just that plugin. If no, build the full graph for all enabled plugins.
Inventory each plugin's contributions
For each enabled plugin, scan its cached directory to catalog what it provides:
PLUGIN_DIR=~/.claude/plugins/cache/<marketplace>/<plugin>/<version>
Skills:
find "$PLUGIN_DIR/skills" -name "SKILL.md" -type f 2>/dev/null | while read f; do
dir=$(dirname "$f")
name=$(basename "$dir")
echo "skill: $name"
done
Agents:
find "$PLUGIN_DIR/agents" -name "*.md" -type f 2>/dev/null | while read f; do
name=$(basename "$f" .md)
echo "agent: $name"
done
MCP servers:
cat "$PLUGIN_DIR/.mcp.json" 2>/dev/null
Parse the JSON to list MCP server names and their tool counts.
Hooks:
cat "$PLUGIN_DIR/hooks/hooks.json" 2>/dev/null
List hook types (PreToolUse, PostToolUse, Stop, etc.) and what they trigger.
Commands:
find "$PLUGIN_DIR/commands" -name "*.md" -type f 2>/dev/null | while read f; do
name=$(basename "$f" .md)
echo "command: $name"
done
CLAUDE.md instructions:
wc -c "$PLUGIN_DIR/CLAUDE.md" 2>/dev/null
wc -c "$PLUGIN_DIR/AGENTS.md" 2>/dev/null
Detect cross-plugin dependencies
Build a grep pattern dynamically from all installed plugin names, then check if any plugin's skills or hooks reference another plugin:
# Build pattern from all installed plugin names (excluding the current one)
pattern=$(cat ~/.claude/plugins/installed_plugins.json 2>/dev/null | grep -oE '"[^"]+@[^"]+' | sed 's/^"//' | cut -d'@' -f1 | grep -v "<current_plugin>" | paste -sd'|' -)
grep -rE "$pattern" "$PLUGIN_DIR/skills/" "$PLUGIN_DIR/hooks/" 2>/dev/null
Build the dependency table
For a single plugin query:
# Moltbloat Dependency Report: <plugin-name>
## Provides
| Type | Count | Items |
|------|-------|-------|
| Skills | <N> | <list top skill names> |
| Agents | <N> | <list agent names> |
| MCP servers | <N> | <list server names and tool categories> |
| MCP tools | ~<N> | <list tool name samples> |
| Hooks | <N> | <list hook types registered> |
| Commands | <N> | <list or "—"> |
| CLAUDE.md | <X> KB (~<Y> tokens) | <description> |
## Blast Radius if Removed
**You would lose:**
<list each category with counts and notable items>
**Other plugins affected:**
<list any plugins that reference this one, or "None">
**Overlaps with other installed plugins:**
<list detected skill/agent/MCP overlaps with other plugins>
## Token Cost
<breakdown by CLAUDE.md + MCP tools + skill listings>
- **Total: ~<X> tokens (<Y>% of context window)**
For a full graph:
# Moltbloat Full Dependency Graph
| Plugin | Skills | Agents | MCPs | Tools | Hooks | Tokens |
|--------|--------|--------|------|-------|-------|--------|
<one row per installed plugin with actual counts>
| **TOTAL** | **X** | **X** | **X** | **X** | **X** | **~X** |
## Cross-Plugin Dependencies
<list any detected references between plugins, or "None">
## Overlap Map
<list detected agent/skill/MCP overlaps across all plugins>
Done
This skill is read-only. Suggest /moltbloat:clean to act on findings or /moltbloat:why <plugin> for a quick single-plugin summary.
npx claudepluginhub jcgruesome/moltbloat --plugin moltbloatGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.