Help us improve
Share bugs, ideas, or general feedback.
From cartograph
Detects architectural clusters and module boundaries in codebases using community detection on code knowledge graphs. Shows cohesion, coupling warnings, tables, Mermaid diagrams, and improvement suggestions.
npx claudepluginhub athola/claude-night-market --plugin cartographHow this skill is triggered — by the user, by Claude, or both
Slash command
/cartograph:code-communitiesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Identify architectural clusters and module boundaries
Analyzes codebase to produce knowledge-graph.json for interactive dashboard exploring architecture, components, and relationships
Runs a 7-phase codebase analysis using typegraph-mcp tools, producing a detailed architectural report. Useful when onboarding to an unfamiliar codebase or before making significant changes.
Analyzes codebase structural health using graph or static analysis: hub detection, orphan detection, cycles, deep chains, module cohesion. Use for weekly health checks, before refactoring, or when onboarding.
Share bugs, ideas, or general feedback.
Identify architectural clusters and module boundaries in the codebase.
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.
Run community detection (requires gauntlet):
python3 "$GRAPH_QUERY" --action communities
Fallback (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 -20
Group 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:
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 |