Nm Cartograph Code Communities

v1.0.0

Detect architectural clusters in the codebase using community detection on the code knowledge graph. Shows module boundaries, cohesion, and coupling warnings

0· 66·1 current·1 all-time
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the instructions: the skill runs a community-detection action via a graph-query tool when available and otherwise analyzes directory structure and imports. The declared requirements (none) are proportional to an instruction-only skill that leverages other local tooling.
Instruction Scope
Instructions are focused on code-graph community detection and provide a clear fallback that scans repo files and imports. One important note: the preferred path runs an external script found at ~/.claude/plugins/.../gauntlet/graph_query.py (python3 "$GRAPH_QUERY" --action communities). Invoking that script will execute code from the gauntlet plugin (not provided by this skill) so you should only run it if you trust that plugin. The fallback commands (find, rg/grep, sed, xargs) will traverse and read repository files, which is expected but may surface sensitive files if present.
Install Mechanism
There is no install spec and no downloads. This is instruction-only, so nothing gets written or installed by the skill itself.
Credentials
The skill declares no environment variables, credentials, or config paths. All referenced paths are local discovery of an optional plugin and repository file scanning, which are proportionate to its purpose.
Persistence & Privilege
always is false and the skill is user-invocable; it does not request persistent presence or modify agent/system settings. Autonomous invocation is allowed by platform default but not elevated by this skill.
Assessment
This skill is internally coherent and does what it says: detect communities using a graph tool or, if absent, by scanning directories and imports. Before running it, decide whether you trust the local 'gauntlet' plugin it may invoke — that will execute code on your machine. If you prefer safety, run the fallback file-scanning commands manually in a controlled environment or review the gauntlet plugin's graph_query.py source first. Also be aware the fallback will read repository files (which could include sensitive data) when computing coupling/cohesion.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🦞 Clawdis
latestvk977e9wep9m9pt5q9hhbw6t58984n42y
66downloads
0stars
1versions
Updated 1w ago
v1.0.0
MIT-0

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

  1. 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.

  2. 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
    
  3. 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)
    
  4. 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
    
  5. 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 TypeWeight
CALLS1.0
INHERITS0.8
IMPLEMENTS0.7
IMPORTS_FROM0.5
TESTED_BY0.4
CONTAINS0.3

Comments

Loading comments...