---
name: gitlink-research-insight
version: 1.0.0
description: "科研项目洞悉：通过 gitlink-cli 采集仓库数据，AI 分析项目成熟度、文档质量、贡献模式、社区健康度，生成结构化科研洞察报告。"
metadata:
  requires:
    bins: ["gitlink-cli", "jq"]
  cliHelp: "gitlink-cli repo --help / gitlink-cli commit --help / gitlink-cli search --help"
---

# gitlink-research-insight（科研项目洞悉）

> **前置条件：** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md) 了解认证、全局参数和 API 注意事项。
>
> **CRITICAL — 所有 GitLink 操作必须使用 `gitlink-cli`。**

## 说明

本 Skill 面向科研工作者，利用 gitlink-cli 的数据采集能力和 AI Agent 的分析能力，对 GitLink 平台上的科研类仓库进行多维度分析，生成结构化的项目洞察报告。

### 分析流程

```mermaid
flowchart LR
    A[目标仓库] --> B[数据采集层]
    B --> C[AI 分析层]
    C --> D[报告生成层]
    
    subgraph B[数据采集]
        B1[repo +info]
        B2[commit +list]
        B3[issue +list]
        B4[pr +list]
        B5[collaborator +list]
    end
    
    subgraph C[AI 分析]
        C1[成熟度评估]
        C2[文档质量]
        C3[贡献模式]
        C4[社区健康度]
    end
    
    subgraph D[报告输出]
        D1[项目画像]
        D2[贡献网络]
        D3[改进建议]
        D4[可复现性评分]
    end
```

---

## 数据采集维度

### 命令集

```bash
# 1. 仓库基本信息
gitlink-cli repo +info --owner <owner> --repo <repo> --format json
gitlink-cli repo +topics --owner <owner> --repo <repo> --format json
gitlink-cli repo +languages --owner <owner> --repo <repo> --format json
gitlink-cli repo +contributors --owner <owner> --repo <repo> --format json

# 2. 提交历史
gitlink-cli commit +list --owner <owner> --repo <repo> --limit 100

# 3. Issue 统计
gitlink-cli issue +list --owner <owner> --repo <repo> --state all --format json

# 4. PR 统计
gitlink-cli pr +list --owner <owner> --repo <repo> --state all --format json

# 5. 协作者
gitlink-cli collaborator +list --owner <owner> --repo <repo>
```

### 采集的数据字段

| 数据类别 | 关键字段 | 用途 |
|----------|----------|------|
| 仓库信息 | name, description, star_count, fork_count, created_at, updated_at | 基础画像 |
| 主题标签 | topics[] | 研究方向识别 |
| 编程语言 | languages{} | 技术栈分析 |
| 提交记录 | author, date, message | 贡献活跃度 |
| Issue | state, created_at, closed_at, labels | 问题响应能力 |
| PR | state, created_at, merged_at | 协作效率 |
| 协作者 | login, role | 团队结构 |

---

## AI 分析维度

### 1. 项目成熟度评估

| 指标 | 评分规则 | 权重 |
|------|----------|------|
| 项目年龄 | >2年=10, 1-2年=7, 6-12月=5, <6月=3 | 25% |
| Star 数 | >100=10, 50-100=7, 10-50=5, <10=3 | 25% |
| Fork 数 | >50=10, 20-50=7, 5-20=5, <5=3 | 20% |
| 最近更新 | <1月=10, 1-3月=7, 3-6月=5, >6月=3 | 30% |

### 2. 文档质量评估

| 检查项 | 评分 | 说明 |
|--------|------|------|
| 有 README | 3 | 基本文档 |
| README 包含摘要/用法 | 3 | 信息完整 |
| 有 LICENSE | 2 | 开源合规 |
| 有 CONTRIBUTING | 1 | 贡献指南 |
| 有 CI 配置 | 1 | 自动化构建 |

### 3. 贡献模式分析

| 指标 | 评分规则 | 权重 |
|------|----------|------|
| 贡献者数量 | ≥10=10, 5-9=7, 2-4=5, 1=3 | 30% |
| 提交频率 | 每周≥3次=10, 每周1-2次=7, 每月≤2次=3 | 30% |
| 新贡献者比例 | >20%=10, 5-20%=7, <5%=3 | 20% |
| 提交分布均匀度 | 均匀=10, 集中在个别=5, 单人=3 | 20% |

### 4. 社区健康度

| 指标 | 评分规则 | 权重 |
|------|----------|------|
| Issue 关闭率 | >80%=10, 50-80%=7, <50%=3 | 30% |
| Issue 平均响应 | <2天=10, 2-7天=7, >7天=3 | 25% |
| PR 合并率 | >70%=10, 40-70%=7, <40%=3 | 25% |
| PR 平均合并时间 | <3天=10, 3-7天=7, >7天=3 | 20% |

### 综合评分

```
综合得分 = 成熟度×25% + 文档质量×20% + 贡献模式×30% + 社区健康度×25%
```

---

## 报告模板

```markdown
# 🔬 科研项目洞察报告 — {owner}/{repo}

**分析日期：** {date}
**综合评分：** {score}/10 {emoji}

## 一、项目画像
| 维度 | 数据 |
|------|------|
| 项目名称 | {name} |
| 描述 | {description} |
| 创建时间 | {created_at} |
| Star/Fork | {stars} / {forks} |
| 主要语言 | {languages} |
| 研究主题 | {topics} |

## 二、成熟度分析（{score}/10）
- 项目年龄：{age}
- 社区影响力：{influence}
- 维护活跃度：{activity}
- **分析：** {analysis_text}

## 三、文档质量（{score}/10）
- README 完整性：{readme_score}
- 许可证/贡献指南：{license_score}
- CI 配置：{ci_score}
- **改进建议：** {suggestions}

## 四、贡献模式（{score}/10）
- 总贡献者：{contributor_count}
- 提交频率：{commit_frequency}
- 新贡献者比例：{newcomer_ratio}
- **分析：** {analysis_text}

## 五、社区健康度（{score}/10）
- Issue 关闭率：{close_rate}
- PR 合并率：{merge_rate}
- **分析：** {analysis_text}

## 六、可复现性评估
| 检查项 | 状态 | 说明 |
|--------|------|------|
| 开源许可证 | ✅/❌ | {license_note} |
| 依赖文档化 | ✅/❌ | {dep_note} |
| 运行说明 | ✅/❌ | {run_note} |
| 测试覆盖 | ✅/❌ | {test_note} |

## 七、改进建议
1. {suggestion_1}
2. {suggestion_2}
3. {suggestion_3}
```

---

## 可复现脚本

| 脚本 | 功能 |
|------|------|
| `scripts/01-collect-repo-data.sh` | 采集所有仓库数据 |
| `scripts/02-analyze-contributions.sh` | 分析贡献模式并评分 |
| `scripts/research-insight-full.sh` | 完整流程编排 |

---

## 注意事项

1. 所有 API 调用使用 `--format json` 获取结构化数据
2. 分析结果建议人工复核，特别是自动评分部分
3. 对于大型仓库（>1000 Issue），建议增加 `--limit` 参数限制数据量
4. 可复现性评估仅供参考，完整的可复现性验证需要手动执行
