gitlink-cli/examples/workflows/gitlink-research/skills/gitlink-research-graph/SKILL.md

6.1 KiB
Raw Blame History

name version description metadata
gitlink-research-graph 1.0.0 科研协作知识图谱:采集 GitLink 仓库的贡献者-PR-Issue 关系,构建协作网络图谱,分析核心贡献者/协作社区/知识流动/团队结构。当科研工作者需要了解项目协作生态、识别核心人物、研究开源团队协作模式时触发。覆盖任务四「知识图谱构建」场景。
requires cliHelp
bins
gitlink-cli
gitlink-cli pr --help

gitlink-research-graph科研协作知识图谱 · 科研辅助 Skill

CRITICAL — 开始前先阅读 ../../../skills/gitlink-shared/SKILL.md认证、权限、API 注意事项)。 CRITICAL — 本 Skill 为只读采集 + 分析,不写入任何仓库。 CRITICAL — GitLink 操作只能用 gitlink-cli。禁止用 ghGitHub CLI操作 GitLink 资源。

定位:任务四科研辅助 Skill第 2 个)。构建 GitLink 仓库的协作知识图谱——贡献者、PR、Issue 作为节点,"提交/评论/关联"作为边形成协作网络。AI 分析核心贡献者、协作社区、知识流动、团队结构,帮科研工作者洞察开源团队的协作模式。覆盖 PDF 任务四「科研热点追踪与知识图谱构建」场景。


图谱模型

节点3 类)

节点 来源 科研含义
👤 贡献者 PR/Issue 作者、commit 作者 协作主体(人)
🔀 PR pr +list 协作贡献(代码改动)
🐛 Issue issue +list 协作需求(问题/讨论)

4 类关系)

含义 来源
贡献者 →提交→ PR 谁提的 PR PR.author
贡献者 →创建/评论→ Issue 谁提/讨论的 Issue Issue.author / journals
PR →关联→ Issue PR 解决了哪个 Issuefix #N PR.body 含 issue 引用
贡献者 →review→ PR 谁审查的 PR pr +reviews

分析维度4 维)

维度 分析方法 科研问题
🎯 核心贡献者 度中心性(谁的 PR/Issue 最多) 谁是项目核心?团队依赖谁?
🤝 协作社区 聚类(共同 PR/Issue 的人) 团队分成几个协作小组?
🔄 知识流动 PR↔Issue 关联路径 问题如何被解决?需求如何落地?
🏗 团队结构 贡献者角色分布(提交者/审查者/提问者) 团队分工健康吗?

工作流

Step 1采集贡献者节点

# PR 作者(主要贡献者)
gitlink-cli pr +list --owner <owner> --repo <repo> --format json
# 提取每条 PR 的 author.login

# Issue 作者(需求方)
gitlink-cli issue +list --owner <owner> --repo <repo> --format json
# 提取每条 Issue 的 author.login

# 贡献者全量contributors endpoint 可能返回 HTML降级方案
MSYS_NO_PATHCONV=1 gitlink-cli api GET /<owner>/<repo>/contributors.json --format json
# 若返回 HTMLgit log --format="%an" | sort | uniq -c | sort -rn

Step 2采集关系

# PR-贡献者关系(谁提了哪些 PR
# 从 Step1 的 pr +list 提取 author + number

# PR-Issue 关联PR 解决了哪个 Issue
# 从 PR 的 body/description 提取 "fix #N" / "close #N" 引用

# PR 审查关系(谁 review 了谁)
gitlink-cli pr +reviews --owner <owner> --repo <repo> --id <pr_id> --format json

Step 3AI 构建图谱 + 分析

综合节点和边AI 分析四维:

分析 方法
🎯 核心贡献者 按 PR/Issue 数排序Top N 为核心;识别"枢纽人物"review 多的)
🤝 协作社区 找共同出现在多个 PR/Issue 的贡献者群(协作紧密的小组)
🔄 知识流动 追踪 Issue → PR → merge 路径(需求如何变成代码)
🏗 团队结构 角色分布:纯提交者 / 纯审查者 / 提问者 / 全能型

Step 4输出协作知识图谱分析报告

## 🕸️ 科研协作知识图谱 — <owner>/<repo>

### 📊 图谱规模
- 节点N 贡献者 + M PR + K Issue
-N 条协作关系

### 🎯 核心贡献者(度中心性 Top 5
| 排名 | 贡献者 | PR数 | Issue数 | 角色 |
|:----:|--------|:----:|:-------:|------|
| 1 | xxx | 42 | 5 | 核心维护者 |
| ... |

### 🤝 协作社区
- 社区A[人物] 围绕 [模块] 协作
- 社区B...

### 🔄 知识流动模式
- 典型路径Issue(提问) → PR(实现) → review(审查) → merge(落地)
- 平均闭环时间:...

### 🏗 团队结构洞察
- 核心层 / 活跃层 / 边缘层 贡献者分布
- 分工健康度评估

关键避坑(实测提炼)

解决
contributors API 返回 HTML 非 JSON 降级用 git log --format="%an" | sort | uniq -c 聚合
pr +list 不返回 author 字段 pr +view --id <n> 逐个取 author量大时抽样
pr +reviews 需逐个 PR 查 抽样 Top N PR 分析(避免 API 频率限制)
PR-Issue 关联fix #N需解析 body AI 从 PR.description 正则提取 issue 编号
中文仓库名 URL 编码 优先英文 repo 名
api GET Git Bash 路径转换 MSYS_NO_PATHCONV=1

实测落地参考

验证仓库Gitlink/gitlink-cli29 贡献者 / 322 PR / 19 Issue协作数据丰富

分析 结果
🎯 核心贡献者 wbtigerPR 最多的核心维护者、wangyue111、puygob236 等
🤝 协作社区 按 shortcut 模块分工wiki/label/notification 等各有人负责)
🔄 知识流动 Issue 提需求 → fork 分支 → PR → review → merge典型开源协作流
🏗 团队结构 多小组并行(各做不同 Skill/命令wbtiger 统筹合并

科研价值gitlink-cli 的协作图谱是研究"开源 AI 工具多团队协作模式"的典型样本——展现了模块化分工 + 集中审核的协作结构。

说明:本 Skill 输出图谱的文字分析(节点/边/社区/中心性。若需可视化图谱力导向图可将数据导出给前端ECharts/D3渲染——是 Dashboard 网页的素材来源。