Generates a Mermaid dependency graph showing import relationships between modules
编程
code-communities
试用Detects architectural clusters and coupling boundaries via community detection on the code graph
它能做什么
Detects architectural clusters and coupling boundaries via community detection on the code graph
技能文档
Night Market Skill — ported from claude-night-market/cartograph. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
Code Community Detection
Identify architectural clusters and module boundaries in the codebase.
Prerequisites
This skill requires the gauntlet plugin for graph data. Discover it:
GRAPH_QUERY=$(find ~/.claude/plugins -name "graph_query.py" -path "*/gauntlet/*" 2>/dev/null | head -1)
If gauntlet is not installed: Fall back to directory structure analysis. Group files by directory and use import statements to identify module boundaries. Generate a Mermaid diagram from directory-level relationships.
If installed but no graph.db: Tell the user to run
/gauntlet-graph build.
Steps
-
Run community detection (requires gauntlet):
python3 "$GRAPH_QUERY" --action communitiesFallback (no gauntlet): Analyze directory structure and cross-directory imports:
# Directory-level grouping find . -name "*.py" -not -path "*/node_modules/*" | \ sed 's|/[^/]*$||' | sort | uniq -c | sort -rn # Cross-directory imports (rg preferred, grep fallback) if command -v rg &>/dev/null; then rg "^from |^import " --type py -l . | \ xargs -I{} rg "^from \w+ import|^import \w+" {} --no-filename else grep -rh "^from \|^import " --include="*.py" . fi | sort | uniq -c | sort -rn | head -20Group by top-level directories and count cross-directory imports to estimate coupling.
-
Display clusters:
Community | Nodes | Cohesion | Description auth | 12 | 0.85 | Authentication module db | 8 | 0.92 | Database access layer api/handlers | 15 | 0.71 | API request handlers utils | 6 | 0.45 | Shared utilities -
Show coupling warnings: If communities have
10 cross-boundary edges, highlight them:
WARNING: High coupling between 'auth' and 'api/handlers' (23 cross-community edges, severity: high) -
Generate Mermaid diagram:
flowchart TB subgraph auth[Auth Module - cohesion 0.85] verify_token check_permissions end subgraph db[DB Layer - cohesion 0.92] execute_query connection_pool end auth -->|"23 edges"| api db -->|"5 edges"| api -
Suggest improvements:
- Low cohesion (<0.5): "Consider splitting this module into more focused components"
- High coupling (>20 edges): "Consider introducing an interface to reduce direct dependencies"
Algorithm
Uses the Leiden algorithm (when igraph is available) with edge-type-specific weights. Falls back to file-based grouping otherwise.
| Edge Type | Weight |
|---|---|
| CALLS | 1.0 |
| INHERITS | 0.8 |
| IMPLEMENTS | 0.7 |
| IMPORTS_FROM | 0.5 |
| TESTED_BY | 0.4 |
| CONTAINS | 0.3 |
相关技能
Traces execution paths through the code graph with criticality scoring and Mermaid charts
Generates a Mermaid architecture diagram showing high-level component relationships
Generates a Mermaid class diagram showing types, inheritance, and composition
Generates a Mermaid sequence diagram showing how data moves between components
Generate interactive HTML node-graph diagrams for code visualization. Trigger when user asks to: visualize code architecture, diagram module dependencies, map call chains, graph class relationships, show UI event flows, display widget hierarchy layouts, or understand how code connects. Keywords: "visualize", "diagram", "graph", "map out", "call chain", "architecture", "code flow", "widget hierarchy", "UI layout", "界面布局", "调用链", "代码架构", "可视化", "模块依赖", "函数关系", "类图", "事件流".