From 3671998627f7e7c62f848566b5a3d5c86296ba19 Mon Sep 17 00:00:00 2001
From: wyxfzgg <3132758001@qq.com>
Date: Thu, 9 Jul 2026 22:20:20 +0800
Subject: [PATCH] =?UTF-8?q?feat(skills):=20add=20gitlink-contributor-growt?=
=?UTF-8?q?h=EF=BC=88=E8=B4=A1=E7=8C=AE=E8=80=85=E6=88=90=E9=95=BF?=
=?UTF-8?q?=E4=BD=93=E7=B3=BB=EF=BC=9A=E8=BF=BD=E8=B8=AAPR/Issue=E6=B4=BB?=
=?UTF-8?q?=E5=8A=A8=E2=86=92=E8=B4=A1=E7=8C=AE=E6=8E=92=E8=A1=8C=E2=86=92?=
=?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=A2=81=E5=8F=91=E5=BE=BD=E7=AB=A0=E2=86=92?=
=?UTF-8?q?=E6=88=90=E9=95=BF=E6=8A=A5=E5=91=8A=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
新增端到端编排型 Agent Skill,串联多个 gitlink-cli 命令完成完整自动化场景(≥3 命令/Skill 调用)。
遵循 skills 规范(SKILL.md + frontmatter),兼容 Claude Code 等 Agent 平台。
来源:GitLink 大赛 2026 子任务三(端到端自动化工作流)。
---
skills/gitlink-contributor-growth/SKILL.md | 154 +++++++++++++++++++++
1 file changed, 154 insertions(+)
create mode 100644 skills/gitlink-contributor-growth/SKILL.md
diff --git a/skills/gitlink-contributor-growth/SKILL.md b/skills/gitlink-contributor-growth/SKILL.md
new file mode 100644
index 0000000..a4719dd
--- /dev/null
+++ b/skills/gitlink-contributor-growth/SKILL.md
@@ -0,0 +1,154 @@
+---
+name: gitlink-contributor-growth
+version: 1.0.0
+description: "贡献者成长体系编排:追踪 PR/Issue 活动后,AI 生成贡献排行、颁发徽章并产出成长报告,当用户想表彰贡献者、做月度/季度贡献回顾、激励社区活跃度时触发。"
+metadata:
+ requires:
+ bins: ["gitlink-cli"]
+ orchestrates:
+ - gitlink-contributor-insight
+ - gitlink-user
+ - gitlink-commit-quality
+ - gitlink-release-auto
+ cliHelp: "gitlink-cli --help"
+---
+
+# gitlink-contributor-growth(贡献者成长体系编排)
+
+**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),认证/权限/API 注意事项。**
+**CRITICAL — 所有写入操作(issue comment、repo create-file/update-file)前,务必先确认用户意图。**
+**CRITICAL — GitLink 操作只能用 gitlink-cli。禁止用 gh(GitHub CLI)操作 GitLink 资源。**
+**CRITICAL — 徽章授予是对真实用户的公开评价,颁奖词须客观、正向、避免贬损,颁布前向用户复述最终文案。**
+
+---
+
+## 工作流总览
+
+```mermaid
+flowchart TD
+ A[收到贡献者回顾需求] --> B{采集范围明确?}
+ B -->|否| B1[Step0 🤖AI澄清
仓库/时间窗/维度]
+ B1 --> B
+ B -->|是| C[Step1 采集贡献数据
export+contributors/prs/issues]
+ C --> D[Step2 🤖AI深度分析
contributor-insight + commit-quality 打分]
+ D --> E[Step3 🤖AI生成排行榜
设计4枚徽章 + 颁奖词]
+ E --> F{用户确认榜单?}
+ F -->|调整| E1[🤖AI调整权重/重排] --> F
+ F -->|确认| G[Step4 颁发徽章
issue+comment 授予颁奖词]
+ G --> H[Step5 🤖AI生成成长报告
CONTRIBUTION-LEADERBOARD.md]
+ H --> I[Step6 🤖AI总结输出]
+```
+
+---
+
+## 编排的子 Skill
+
+| 子 Skill | 职责 | 调用时机 |
+|---|---|---|
+| gitlink-contributor-insight | 贡献者活跃度、贡献类型、影响力画像 | Step2 逐人画像 |
+| gitlink-user | 用户资料、heatmap、stats 核验 | Step2 候选人细化、Step4 颁奖词引用 |
+| gitlink-commit-quality | 提交/PR 质量评估 | Step2 引入质量维度,避免只看数量 |
+| gitlink-release-auto | 结构化亮点提炼 | Step5 报告"本期亮点"段落 |
+
+---
+
+## 详细步骤
+
+### Step 0: 🤖AI 澄清采集范围(AI 判断点)
+
+- 🤖AI 判断点:向用户确认四要素:
+ 1. **目标仓库**(owner/repo)—— 若只给仓库名,用 `gitlink-cli search +repos -k ` 反查。
+ 2. **时间窗**(周/月/季度或起止日期)。
+ 3. **榜单维度**(默认综合榜;可选修复/文档/新人榜)。
+ 4. **是否公开发榜**(决定 Step4 是否评论、Step5 是否提交文件)。
+- 信息齐全则跳过本步。
+
+### Step 1: 采集贡献数据(纯命令)
+
+优先用 `export` 模块(稳定、批量、结构化):
+- `gitlink-cli export +contributors --owner --repo --format json --output contributors.json`
+- `gitlink-cli export +prs --owner --repo --format json --output prs.json`
+- `gitlink-cli export +issues --owner --repo --format json --output issues.json`
+- 补充核验(字段不全时):
+ - `gitlink-cli repo +contributors --owner --repo `
+ - `gitlink-cli repo +activity --owner --repo `
+- 🤖AI 判断点:读取三个 JSON,按 login 聚合 PR/Issue/评论/合并数;识别新人(首次贡献在时间窗内)与老贡献者;取 Top N(默认 15)候选。
+
+### Step 2: 🤖AI 深度分析(AI 判断点 + 子 Skill)
+
+- 调 `gitlink-contributor-insight`:每人活跃度、贡献类型(feature/bugfix/docs/refactor)、影响力。
+- 调 `gitlink-commit-quality`:代表性 PR 质量评估(规范、测试、聚焦度),0-100 质量分。
+- 调 `gitlink-user` 核验 Top 候选:
+ - `gitlink-cli user +info --login `
+ - `gitlink-cli user +heatmap --login `
+ - `gitlink-cli user +stats --login `
+- 🤖AI 判断点:综合打分(透明可解释):
+ - `综合分 = 0.4*活跃度 + 0.3*质量分 + 0.2*影响力 + 0.1*趋势`
+ - 分项分写入本地草稿 `scoring.md`(不提交),标注是否新人。
+
+### Step 3: 🤖AI 生成排行榜 + 设计徽章(AI 判断点)
+
+- 🤖AI 判断点:徽章体系(可在 Step0 自定义,默认):
+ - 🏆 **本周之星 / 月度之星**:综合分第一(时间窗>1 月改"季度之星")
+ - 🔧 **修复达人**:bugfix 类 PR 合并最多且质量分达标
+ - 📖 **文档能手**:docs 类贡献最多
+ - 🌱 **新人突破奖**:时间窗内首次贡献且进 Top N 的新人
+- 🤖AI 判断点:为每位获奖者撰颁奖词草稿——客观陈述(X PR、Y Issue、质量分 Z)、正向具体、≤120 字、引用真实数据。
+- ⚠️强制确认:把"榜单 + 徽章归属 + 颁奖词全文"复述给用户,确认或调整后才进入 Step4。
+
+### Step 4: 颁发徽章(纯命令,须先经 Step3 确认)
+
+在仓库"欢迎 Issue / 贡献者公告 Issue"下发表评论授予颁奖词。若无,先建一个:
+- 查找:
+ - `gitlink-cli issue +list --owner --repo --state open --limit 50`
+- 创建(若无):
+ - `gitlink-cli issue +create --owner --repo --title "贡献者成长榜 · <时间窗>" --body "<榜单概述>"`
+- 颁发(每位获奖者一条 comment):
+ - `gitlink-cli issue +comment --owner --repo --number --body "<🆔 @login | 🏅 徽章 | 📝 颁奖词>"`
+- ⚠️执行前:(1) 已获 Step3 确认;(2) 每条 comment 全文再复述一次;(3) 用户点头后批量发出。
+- 🤖AI 判断点:用户若要"静默颁奖"则跳过本步,仅在 Step5 报告列出。
+
+### Step 5: 🤖AI 生成成长报告(AI 判断点 + 写入命令)
+
+- 🤖AI 判断点:撰写 `CONTRIBUTION-LEADERBOARD.md`:
+ 1. 头部:时间窗、仓库、覆盖人数、总 PR/Issue 数
+ 2. 本期亮点:调 release-auto 提炼 3-5 条高光时刻
+ 3. 完整排行榜:rank / login / 综合分 / 分项 / 徽章
+ 4. 徽章授予记录:颁奖词全文
+ 5. 致谢与展望
+- ⚠️写入命令(确认目标分支与路径后):
+ - `gitlink-cli repo +create-file --owner --repo --filepath CONTRIBUTION-LEADERBOARD.md --content "<报告>" --message "docs: 更新贡献者成长榜"`
+ - 文件已存在则用 `repo +update-file`(同参数)。
+- 🤖AI 判断点:用户若要本地落盘不入库,则写本地文件,跳过 CLI 写入。
+
+### Step 6: 🤖AI 总结输出(AI 判断点)
+
+- 🤖AI 判断点:汇报执行结果:
+ - 采集覆盖:人数、PR 数、Issue 数
+ - 榜单:Top N 与徽章归属
+ - 颁奖:在哪个 Issue 发了多少条 comment(或说明静默)
+ - 报告:`CONTRIBUTION-LEADERBOARD.md` 最终位置
+ - 后续建议:是否周期执行、是否补 `release +create` 发版公告
+
+---
+
+## Agent 触发示例
+
+**用户**:"帮我给 myorg/core-repo 这个仓库做上个月的贡献者回顾,颁个奖。"
+
+**Agent**:
+1. Step0(🤖AI):确认 owner=myorg、repo=core-repo、时间窗=上月、综合榜+三枚徽章、公开颁榜 → 复述确认。
+2. Step1(纯命令):并行 `export +contributors/prs/issues`,按 login 聚合,取 Top 15 候选。
+3. Step2(🤖AI):调 contributor-insight 画像、commit-quality 打分、Top 5 用 `user +info/heatmap/stats` 核验;算综合分写 `scoring.md`。
+4. Step3(🤖AI):生成榜单与四枚徽章(🏆月度之星/🔧修复达人/📖文档能手/🌱新人突破),写颁奖词 → 复述确认。
+5. Step4(纯命令):用户确认后 `issue +list` 找欢迎 Issue,无则 `issue +create`;对每位获奖者 `issue +comment` 颁奖(每条再次复述后发出)。
+6. Step5(🤖AI+纯命令):撰写 `CONTRIBUTION-LEADERBOARD.md`,`repo +update-file`(或 +create-file)写入仓库。
+7. Step6(🤖AI):汇报覆盖 23 人/47 PR/81 Issue,Top 3 榜单,颁发 4 枚徽章于 Issue #128,报告位于仓库根。
+
+---
+
+## 注意事项
+
+- **只读 vs 写**:Step0-2 全只读;Step3 颁奖词须确认;Step4 comment、Step5 create-file/update-file 为写入须确认。
+- **颁奖词红线**:客观、正向、避免贬损,颁布前复述。
+- **不替代子 Skill**:贡献者深度分析仍由 contributor-insight/user/commit-quality 各自负责。