‹ 首页

code-communities

@athola · 收录于 1 周前

Detects architectural clusters and coupling boundaries via community detection on the code graph. Use when identifying module groupings or refactoring targets.

适合你,如果正在分析代码结构、规划模块拆分或重构边界

/ 下载安装
code-communities.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add athola/claude-night-market/code-communities
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- athola/claude-night-market/code-communities
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify athola/claude-night-market/code-communities
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
324GitHub stars
待重算上下文体积
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 0980a33

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): ```bash python3 "$GRAPH_QUERY" --action communities ```

Fallback (no gauntlet): Analyze directory structure and cross-directory imports: ```bash # 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.

  1. 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 ```
  1. 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) ```
  1. Generate Mermaid diagram: ```mermaid 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 ```
  1. Suggest improvements:
  2. Low cohesion (<0.5): "Consider splitting this module into more focused components"
  3. 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 |

Exit Criteria
  • [ ] Community table rendered with columns Community, Nodes, Cohesion, and Description for each detected cluster
  • [ ] Coupling warning surfaced for any pair of communities with more than 10 cross-boundary edges, labelled with severity
  • [ ] Mermaid flowchart TB generated with one subgraph per community showing cohesion score in the subgraph label
  • [ ] Improvement suggestions provided for any community with cohesion < 0.5 or coupling > 20 cross-community edges
  • [ ] If gauntlet is not installed, directory-structure fallback runs and absence of graph data is stated to the user
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。