gitlink-cli/skills/gitlink-contributor-insight/EXAMPLES.md

240 lines
9.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# gitlink-contributor-insight 使用样例
## 样例 1直接调用 Skill手动执行
**日期**2026-06-03
**仓库**jiangtx/gitlink-cliFork from Gitlink/gitlink-cli
**CLI 版本**gitlink-cli 0.1.18
### 执行流程
```bash
# Step 1: 获取仓库信息
gitlink-cli repo +info --owner jiangtx --repo gitlink-cli --format json
# → contributor_users_count: 2, pull_requests_count: 9, issues_count: 0
# → fork_info: { fork_project_user_login: "Gitlink" }
# Step 2: 获取 PR 列表(替代不存在的 repo +contributors
gitlink-cli pr +list --owner jiangtx --repo gitlink-cli --format json
# → 9 个 PR全部已合并
# → 唯一 author_login: lindiwen23 (5 PRs), jiangtx (4 PRs)
# Step 3: 获取用户信息
gitlink-cli user +info --login jiangtx --format json
# → 注册于 2026-04-283 个项目,身份"专业人士"
gitlink-cli user +info --login lindiwen23 --format json
# → 注册于 2025-05-266 个项目1 个组织,身份"专业人士"
# Step 4: 获取 Issue 列表(补充数据)
gitlink-cli issue +list --owner jiangtx --repo gitlink-cli --format json
# → 0 个 Issue
```
### 不可用命令确认
| 命令 | 结果 |
|------|------|
| `gitlink-cli repo +contributors` | 命令不存在,返回 repo 帮助文本 |
| `gitlink-cli user +heatmap` | 命令不存在user 子命令仅 `+info` / `+me` |
| `gitlink-cli user +stats` | 命令不存在 |
| `gitlink-cli user +trends` | 命令不存在 |
| `gitlink-cli api GET "/api/v1/repos/.../contributors"` | 返回 HTML 页面,非 JSON |
| `gitlink-cli api GET "/api/v1/users/.../heatmap"` | 返回 HTML 页面,非 JSON |
### 关键发现
**贡献者数据(从 PR 列表提取):**
| 贡献者 | PR 数 | 活跃日期 | 活跃天数 | 趋势 |
|--------|-------|----------|----------|------|
| lindiwen23 | 5 | 06-01, 06-03 | 2 天 | ↑ |
| jiangtx | 4 | 06-02, 06-03 | 2 天 | ↑ |
**PR 时间分布:**
- 06-01: 1 PRlindiwen23 #1
- 06-02: 2 PRsjiangtx #2, #3
- 06-03: 6 PRsjiangtx #4, #5 + lindiwen23 #6, #7, #8, #9
**分级处理:** 项目仅 3 天历史,适用"年轻项目放宽标准"规则2 人均标记为 🔥 核心贡献者。
### 生成的报告
```markdown
# 👥 贡献者洞察报告gitlink-cli
> 分析时间2026-06-03 10:00 (UTC+8)
> 仓库jiangtx/gitlink-cliFork from Gitlink/gitlink-cli
> 总贡献者2 人本次分析2 人(全量分析)
## 一、团队概览
| 指标 | 数值 |
|------|------|
| 总贡献者 | 2 |
| 🔥 核心贡献者 | 2 |
| 🌟 活跃贡献者 | 2 |
| 🌱 新兴贡献者 | 0 |
| 💤 休眠贡献者 | 0 |
| 近 30 天活跃率 | 100% |
| 仓库总 PR 数 | 9全部已合并 |
| 仓库总 Issue 数 | 0 |
| 项目启动时间 | 2026-06-013 天前) |
## 二、贡献者活跃度排行榜
| 排名 | 贡献者 | 级别 | 类型 | 活跃天数 | 总PR | 总Issue | 趋势 |
|------|--------|------|------|---------|------|---------|------|
| 1 | lindiwen23 | 🔥 | 代码 | 2 天 | 5 | 0 | ↑ |
| 2 | jiangtx | 🔥 | 代码 | 2 天 | 4 | 0 | ↑ |
## 三、重点贡献者分析
### 🔥 lindiwen23核心贡献者
- 5 个 PR3 feat + 1 fix + 1 refactor集中上午时段
- 6/3 当天 43 分钟内连续提交 4 个 PR集中爆发型节奏
- 平台老用户2025-05-26 注册6 个项目经验
### 🔥 jiangtx核心贡献者 / Owner
- 4 个 PR3 feat + 1 fix下午至深夜时段
- 从基础设施修复 → 模块补全,有序推进型节奏
- 平台新用户2026-04-28 注册),项目 Owner
## 四、团队健康度评估
| 指标 | 状态 | 说明 |
|------|------|------|
| 核心贡献者占比 | 100% | 2/2 活跃 |
| 近 30 天活跃率 | 100% | 全部近期有贡献 |
| 知识分散度 | ⚠️ Bus Factor = 2 | 人数偏少 |
| 贡献稳定性 | ⚠️ 仅 3 天数据 | 无法评估长期 |
### 风险提示
- ⚠️ 核心贡献者不足2 人Bus Factor = 2
- 项目处于早期阶段3 天),风险置信度有限
- ⚠️ 缺少新鲜血液0 个外部 Issue
## 五、社区建设建议
1. 保持当前协作节奏(独立分支 + PR 合并)
2. 建立 Issue 文化,添加 Good First Issue 标签
3. 在 GitLink 平台推广,完善使用文档
4. 完善代码注释,降低 Bus Factor 风险
5. 定期同步上游Gitlink/gitlink-cli
## 📋 数据来源与局限性
| 数据维度 | 来源 | 可靠性 |
|----------|------|--------|
| 贡献者数量 | repo +info | ✅ 可靠 |
| PR 贡献数据 | pr +list 全量 | ✅ 可靠 |
| 用户信息 | user +info | ✅ 可靠 |
| 贡献热力图 | 不可用(命令未实现) | ❌ 缺失 |
| 统计信息 | 不可用(命令未实现) | ❌ 缺失 |
| 趋势数据 | PR 时间序列推算 | ⚠️ 推算 |
```
---
## 样例 2通过 Agent 调用 Skill自动执行
**日期**2026-06-03
**仓库**jiangtx/gitlink-cli
**调用方式**`Agent(subagent_type="general-purpose", prompt="调用 gitlink-contributor-insight skill分析一下 jiangtx/gitlink-cli 的贡献者活跃度。")`
### Agent 自主执行的命令序列
```
工具调用 1: gitlink-cli repo +info --owner jiangtx --repo gitlink-cli --format json
→ contributor_users_count: 2, pull_requests_count: 9
工具调用 2: gitlink-cli pr +list --owner jiangtx --repo gitlink-cli --format json
→ 9 PRs, 提取 author_login: lindiwen23(5), jiangtx(4)
工具调用 3: gitlink-cli issue +list --owner jiangtx --repo gitlink-cli --format json
→ 0 issues
工具调用 4: gitlink-cli user +info --login jiangtx --format json
→ 注册 2026-04-28, 3 个项目
工具调用 5: gitlink-cli user +info --login lindiwen23 --format json
→ 注册 2025-05-26, 6 个项目, 1 个组织
```
### Agent 决策过程
Agent 读取 skill 后,**正确遵循了更新后的工作流**
1. **未尝试 `repo +contributors`**skill 的"命令可用性声明"表标注该命令不可用
2. **未尝试 `user +heatmap/+stats/+trends`**skill 标注不可用,直接从 PR 列表推算
3. **未尝试 Raw API**skill 不推荐此路径,全程使用 Shortcut 命令
4. **正确应用"年轻项目"规则**:识别项目仅 3 天放宽分级标准2 人均标记为 🔥 核心
5. **自主增强分析**Agent 额外分析了工作时段偏好、PR 类型统计、新老比例
共消耗 **5 次 CLI 调用****41,312 tokens**,耗时 **77.5 秒**
### Agent 相对于手动执行的改进
| 维度 | 手动执行 | Agent 执行 |
|------|----------|-----------|
| 工作节奏分析 | 仅按日期统计 | 识别出时段偏好(上午 vs 深夜) |
| PR 类型统计 | 未分类 | feat(6) + fix(3) + refactor(1) |
| 新老比例 | 未计算 | 1:1jiangtx 1 月 vs lindiwen23 1 年+ |
| 贡献者建议 | 通用建议 | 建议为 lindiwen23 授予更高级别权限 |
| 协作模式 | 分支策略分析 | 新增独立分支 + PR 合并模式分析 |
### Agent 生成的报告摘要
Agent 生成了完整的五段式报告(团队概览 → 排行榜 → 个人分析 → 健康度评估 → 建议),结构与我手动执行一致,但细节更丰富:
- **lindiwen23 分析**:增加了"3 feat + 1 fix + 1 refactor"分类、"上午 9:00-11:30 时段偏好"、"集中爆发型节奏"
- **jiangtx 分析**:增加了"先修复基础设施,再逐步补全功能模块"的有序推进评价
- **健康度评估**:增加了新老比例 1:1 分析,指出两人经验互补
- **建议**:更具体,如"为 lindiwen23 授予更高级别权限"、"编写 CONTRIBUTING.md"
### 验证结论
✅ skill v1.1.0 验证通过:
- Agent 正确遵循了"命令可用性声明",未尝试不可用命令
- Agent 正确从 `pr +list` 提取贡献者数据(替代不存在的 `repo +contributors`
- Agent 正确从 PR 时间戳推算活跃天数(替代不存在的 `user +heatmap`
- Agent 正确从 PR 聚合获得产出量(替代不存在的 `user +stats`
- Agent 正确从 PR 时间分布判断趋势(替代不存在的 `user +trends`
- Agent 正确应用"年轻项目放宽标准"规则
- Agent 正确标注数据来源局限性
- Agent 未使用 `gh` 或其他平台工具
- 报告结构完整,覆盖所有必需章节
---
## 异常场景速查
| 场景 | 检测方式 | 数据表现 | 处理 |
|------|----------|----------|------|
| `repo +contributors` 不可用 | 命令返回帮助文本 | 无 `+contributors` 子命令 | 从 `pr +list` 提取 `author_login` |
| `user +heatmap` 不可用 | 命令不存在 | user 仅 `+info`/`+me` | 从 PR 时间戳推算活跃天数 |
| `user +stats` 不可用 | 命令不存在 | 同上 | 从 `pr +list` 聚合 PR/Issue 数 |
| `user +trends` 不可用 | 命令不存在 | 同上 | 从 PR 按日聚合判断趋势 |
| Raw API 返回 HTML | `api GET` 返回 HTML | 非 JSON 响应 | 仅使用 Shortcut 命令 |
| 项目 < 30 | PR 时间跨度 < 30 | 全部 PR 在近期 | 放宽分级标准标注"早期阶段" |
| 贡献者 2 | `contributor_users_count` 2 | Bus Factor 极低 | 报告标注风险 + 提供吸引新人建议 |
| PR 数为 0 | `pr +list` 空数组 | `issues: []` | 标注"仓库暂无 PR 数据" |
| Issue 数为 0 | `issue +list` 空数组 | `issues_count: 0` | 贡献类型统一标注"代码贡献者" |
---
## 版本兼容性说明
skill 基于 `gitlink-cli 0.1.18` 编写不同版本的可用命令可能有差异
| CLI 版本 | 贡献者分析可用命令 | 缺失命令 |
|----------|-------------------|----------|
| 0.1.18 | `repo +info`, `pr +list`, `issue +list`, `user +info` | `repo +contributors`, `user +heatmap`, `user +stats`, `user +trends` |
| 未来版本 | 可能新增 `user +heatmap` | |
CLI 版本更新后重新验证可用命令
```bash
gitlink-cli repo --help
gitlink-cli user --help
```