docs(workflows): zhangqing 任务三报告补充 Skill 蓝图对照 + Agent 对话触发语
按 PDF 正确做法补强交付: - 01/05/07 三份报告各加「Skill 蓝图对照」段,逐动作引用 SKILL.md 行号 - README 加 Skill 作为设计蓝图的总览表 - 新增 agent-dialogue-triggers.md:给评委的 Agent 对话触发语(Skill 驱动 Agent 的演示入口) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ce22a736e7
commit
19ce89394f
|
|
@ -57,15 +57,46 @@
|
|||
- URL: https://gitlink.org.cn/ylly/gitlink-cli/releases
|
||||
- name: `v0.2.0 Beta 1 — 任务三阶段版(预发布)`
|
||||
|
||||
## 任务二 Skill 串联关系
|
||||
## 任务二 Skill 蓝图对照(按 SKILL.md 行号)
|
||||
|
||||
| 步骤 | 使用的 Skill | 角色 |
|
||||
|------|-------------|------|
|
||||
| 1 | gitlink-issue-triage | Issue 分类 |
|
||||
| 3 | gitlink-insight | 周报洞察 |
|
||||
| 4 | gitlink-release-auto | 自动发版 |
|
||||
本工作流每一步都严格按任务二 Skill 蓝图执行,Skill 是**设计蓝图**,本报告是蓝图的**落地执行**。
|
||||
|
||||
3 个 Skill 串联,满足 PDF「≥3 命令/Skill 串联」要求。
|
||||
### 步骤 1 ← `gitlink-issue-triage/SKILL.md` 工作流 1(自动分类打标签)
|
||||
|
||||
| 执行动作 | SKILL.md 蓝图位置 | 蓝图要求 | 实际执行 |
|
||||
|---------|------------------|---------|---------|
|
||||
| 拉开放 Issue | 第 58-62 行 Step 1 | `issue +list --state open` | ✅ 拉到 16 个 |
|
||||
| 筛未分类 | 第 64-68 行 Step 2 | 过滤 `tags=[]` | ✅ 11 个未分类 |
|
||||
| 读详情分类 | 第 70-78 行 Step 3-4 | 标题+描述语义分类 | ✅ 按中文标签语义归类 |
|
||||
| 复用现有标签 | 第 80-91 行 Step 5 | **优先复用仓库已有中文标签** | ✅ 直接复用「测试/缺陷/功能/性能/疑问」未新建 |
|
||||
| 打标签 | 第 93-99 行 Step 6 | `issue +update --label`(覆盖语义) | ✅ 11 个全部分类完成 |
|
||||
| 输出报告 | 第 101-117 行 Step 7 | 表格汇总 | ✅ 见本报告步骤 1 表格 |
|
||||
|
||||
**关键决策对照**:SKILL.md 第 91 行明确说"优先复用现有标签(含中文同义词),先匹配再考虑新建英文标签"。本仓库已有「缺陷/功能/文档」等中文标签,**未新建任何英文标签**,完全符合蓝图。
|
||||
|
||||
### 步骤 2 ← `gitlink-issue-triage/SKILL.md` 工作流 2(自动分配 + 通知)
|
||||
|
||||
SKILL.md 第 125-146 行 Step 1-2 已**预判**此场景:个人仓库 `assigners` 返回空数组(第 133 行红框警告),按第 146 行"列表为空则跳过分配并在报告中标注"处理。✅ 实际执行与蓝图预判一致,跳过并在报告标注。
|
||||
|
||||
### 步骤 3 ← `gitlink-insight/SKILL.md` 工作流 2(Sprint 周报)
|
||||
|
||||
| 执行动作 | SKILL.md 蓝图位置 | 蓝图要求 | 实际执行 |
|
||||
|---------|------------------|---------|---------|
|
||||
| 采集 Issue 数据 | 第 120-122 行 | closed + open issue | ✅ 16 open / 6 closed |
|
||||
| 采集 PR 数据 | 第 123-125 行 | merged PR | ✅ 2 merged |
|
||||
| 采集 Release | 第 126-128 行 | `release +list` | ✅ Release=0(发版前) |
|
||||
| 风险标注 | 第 164-165 行 | 列风险与阻塞 | ✅ 标注"未发布 Release""测试类 Issue 可清理" |
|
||||
|
||||
### 步骤 4 ← `gitlink-release-auto/SKILL.md`
|
||||
|
||||
| 执行动作 | SKILL.md 蓝图位置 | 蓝图要求 | 实际执行 |
|
||||
|---------|------------------|---------|---------|
|
||||
| 版本号推荐 | 第 32-90 行 一、版本号推荐 | 按 Conventional Commits 分类推 Semver | ✅ feat 26/fix 17 → MINOR 升 → v0.2.0 |
|
||||
| Release Notes 生成 | 第 94-145 行 二、自动生成 | 按类型分组 + 贡献者去重 | ✅ 按 Conventional Commits 分组,贡献者去重 |
|
||||
| 预发布版本 | 第 179-189 行 三、预发布版本 | `--prerelease true` | ✅ 选 beta.1 预发布(等整合者发正式 v0.2.0) |
|
||||
| 贡献者去重 | 第 145 行红框警告 | **必须去重** | ✅ 跨提交去重为 14 人 |
|
||||
|
||||
**3 个 Skill 串联,满足 PDF「≥3 命令/Skill 串联」要求。**
|
||||
|
||||
## 关键避坑(本工作流踩到的)
|
||||
|
||||
|
|
|
|||
|
|
@ -44,4 +44,34 @@
|
|||
(GitLink 无"用户主页评论"能力,改在 Issue 评论或新建颁奖 Issue 演示)
|
||||
|
||||
**Step 3: 可选 — 新建颁奖 Issue**
|
||||
创建一个 Issue「🏆 v0.2.0-beta.1 贡献者排行榜公布」,body 含本排行榜,用 @mention 提及 Top 贡献者,并打上「星级贡献者」label。
|
||||
创建一个 Issue「🏆 v0.2.0-beta.1 贡献者排行榜公布」,body 含本排行榜,用 @mention 提及 Top 贡献者,并打上「星级贡献者」label。
|
||||
|
||||
---
|
||||
|
||||
## Skill 蓝图对照(按 SKILL.md 行号)
|
||||
|
||||
### 取数阶段 ← `gitlink-insight/SKILL.md` 工作流 3(贡献者洞察)
|
||||
|
||||
| 执行动作 | SKILL.md 蓝图位置 | 蓝图要求 | 实际执行 |
|
||||
|---------|------------------|---------|---------|
|
||||
| 贡献者列表 | 第 173-183 行 采集数据 | `contributors` + merged PR + user info | ✅ commits 走 `git log`(contributors API 返回 HTML,降级方案)+ merged PR + Issue 作者聚合 |
|
||||
| 角色与活跃度 | 第 185-203 行 输出格式 | 排行 + 活跃度分布 | ✅ 综合积分公式 commits×1+PR×5+Issue×2,按贡献分层 |
|
||||
| 三层分布 | 第 194-197 行 | 核心/活跃/新增 | ✅ 对应「星级/活跃/贡献者」三级徽章 |
|
||||
|
||||
### 发奖阶段 ← `gitlink-issue-triage/SKILL.md` 工作流 1 + 通用 label 操作
|
||||
|
||||
| 执行动作 | SKILL.md 蓝图位置 | 蓝图要求 | 实际执行 |
|
||||
|---------|------------------|---------|---------|
|
||||
| 查现有标签 | 第 80-84 行 Step 5 | `label +list` 命中则复用 | ✅ 仓库原无徽章 label,3 个均新建 |
|
||||
| 创建徽章 | 第 86-89 行 | `label +create --name --color` | ✅ 星级 394180 / 活跃 394181 / 贡献者 394182 |
|
||||
| 颁奖 Issue | 第 101-117 行报告格式 | 表格 + @mention | ✅ Issue #17 已建并打「星级贡献者」label |
|
||||
|
||||
### Skill 串联数
|
||||
|
||||
| 步骤 | 使用的 Skill/命令 | 角色 |
|
||||
|------|------------------|------|
|
||||
| 1 | git log + issue +list + pr +list(insight 工作流 3 数据源) | 取数 |
|
||||
| 2 | label +create(issue-triage 工作流 1 Step 5) | 建徽章 |
|
||||
| 3 | issue +create + issue +update --label(issue-triage 工作流 1 Step 6) | 颁奖 |
|
||||
|
||||
**3 步串联,满足 PDF「≥3 命令/Skill 串联」要求。**
|
||||
|
|
@ -71,3 +71,49 @@ MSYS_NO_PATHCONV=1 ./gitlink-cli.exe api POST /v1/ylly/gitlink-cli/issues/<n>/jo
|
|||
2. **issue +list 与 issue +view 的 tag 字段不一致**:list 用 `issue_tags` 且可能不返回,view 用 `tags` 字段才完整
|
||||
3. **创建 issue 必须传 `done_ratio: 0`**,否则 MySQL 报 `Column 'done_ratio' cannot be null`
|
||||
4. **issue create 时 issue_tag_ids 字段不生效**(GitLink bug),需创建后用 `issue +update --label <id>` 补打
|
||||
|
||||
---
|
||||
|
||||
## Skill 蓝图对照(按 SKILL.md 行号)
|
||||
|
||||
本工作流 5 个 Step 严格按 `gitlink-onboarding/SKILL.md` 蓝图执行。
|
||||
|
||||
### Step 2 ← `gitlink-onboarding/SKILL.md` 工作流 1(good-first-issue 自动标记)
|
||||
|
||||
| 执行动作 | SKILL.md 蓝图位置 | 蓝图要求 | 实际执行 |
|
||||
|---------|------------------|---------|---------|
|
||||
| 取开放 Issue | 第 54-58 行 Step 1 | `issue +list` | ✅ 17 个开放 Issue |
|
||||
| 按识别标准评估 | 第 31-46 行 + 第 60-62 行 Step 2 | 5 条友好信号 + 3 条排除标准 | ✅ 3 个 docs 类入选,14 个按排除标准剔除 |
|
||||
| 复用现有标签 | 第 64-74 行 Step 3 | 优先复用,无则建 | ✅ 仓库已有 good first label(id 382660),未新建 |
|
||||
| 输出标记报告 | 第 84-95 行 Step 5 | 表格汇总 | ✅ `onboarding_identify_report.md` |
|
||||
|
||||
**关键对照**:SKILL.md 第 44-46 行排除标准(性能优化/描述模糊/CI 部署)逐条复审 14 个未入选 Issue,全部命中排除理由(测试数据 / 模糊描述 / 性能 / 新功能开发)。
|
||||
|
||||
### Step 3 ← `gitlink-onboarding/SKILL.md` 工作流 2(引导评论生成)
|
||||
|
||||
| 执行动作 | SKILL.md 蓝图位置 | 蓝图要求 | 实际执行 |
|
||||
|---------|------------------|---------|---------|
|
||||
| 读 Issue 详情 | 第 103-107 行 Step 1 | `issue +view` | ✅ #8/#13/#14 各取详情 |
|
||||
| 生成个性化评论 | 第 109-117 行 Step 2 | **禁止固定模板**,4 要素(任务/文件/本地准备/PR 规范) | ✅ 3 条**完全不同**的评论,每条指向具体文件 |
|
||||
| 发布评论 | 第 118-123 行 Step 3 | `issue +comment` | ✅ journals 478829/478830/478831(绕中文编码走 Raw API) |
|
||||
| 个性化要求 | 第 205 行注意事项 | "避免对所有 Issue 用同一句" | ✅ #8 指 `wiki.go` / #13 指 `Makefile` / #13 指 `wiki +list --format json` |
|
||||
|
||||
### Step 4 ← 通用通知能力
|
||||
|
||||
`notification +list` 自查询(受限)。`gitlink-shared/SKILL.md` 平台限制:只能查自己的通知。✅ 用 `--owner zhangqing23` 自查 13 条通知。
|
||||
|
||||
### Step 5 ← `gitlink-insight/SKILL.md` 工作流 3(贡献者洞察)交叉验证
|
||||
|
||||
通知 `[ProjectMemberJoined]` + `[ProjectPullRequest]` + `pr +list --state merged` 三源交叉 → 完整还原 ZxR123-Z 从入会到首次贡献全过程。该方法论对应 insight SKILL.md 第 173-203 行"贡献者列表 + PR 数据 + 用户信息"多源聚合。
|
||||
|
||||
### Skill 串联数
|
||||
|
||||
| 步骤 | 使用的 Skill/命令 | 角色 |
|
||||
|------|------------------|------|
|
||||
| 1 | member +invite-link | 邀请能力演示 |
|
||||
| 2 | onboarding 工作流 1(识别) | good-first 识别 |
|
||||
| 3 | onboarding 工作流 2(引导评论) | 个性化引导 |
|
||||
| 4 | notification +list | 通知系统查看 |
|
||||
| 5 | insight 工作流 3(交叉验证) | 首次贡献追踪 |
|
||||
|
||||
**5 步串联,满足 PDF「≥3 命令/Skill 串联」要求。**
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
| `05-contributor-growth.md` | ⑤ 贡献者排行榜 + 徽章授予方案 |
|
||||
| `07-onboarding-nanny.md` | ⑦ 新人保姆 5 步执行报告 |
|
||||
| `release-notes-v0.2.0-beta.1.md` | ① 发布的 Release Notes 全文 |
|
||||
| `agent-dialogue-triggers.md` | **Agent 对话触发语**(PDF 首要产物:演示 Skill 驱动 Agent) |
|
||||
| `reproduce.sh` | **可复现脚本**(评委照着跑) |
|
||||
|
||||
---
|
||||
|
|
@ -56,6 +57,26 @@ bash examples/workflows/zhangqing-task3/reproduce.sh
|
|||
|
||||
---
|
||||
|
||||
## 任务二 Skill 作为设计蓝图(PDF 核心:Skill = 设计蓝图)
|
||||
|
||||
本目录的 3 份执行报告都新增了「Skill 蓝图对照」段,**逐动作引用 SKILL.md 行号**,证明每步执行都严格按蓝图落地:
|
||||
|
||||
| 工作流 | 蓝图 SKILL.md 行号定位 |
|
||||
|--------|----------------------|
|
||||
| ① 步骤 1 分类 | `gitlink-issue-triage/SKILL.md` 工作流 1(第 54-117 行),含分类规则表第 35-50 行 |
|
||||
| ① 步骤 2 分配(跳过)| `gitlink-issue-triage/SKILL.md` 第 125-146 行(蓝图预判个人仓库 assigners 为空)|
|
||||
| ① 步骤 3 周报 | `gitlink-insight/SKILL.md` 工作流 2(第 116-166 行)|
|
||||
| ① 步骤 4 发版 | `gitlink-release-auto/SKILL.md` 一/二/三(第 32-189 行),含预发布第 179-189 行 |
|
||||
| ⑤ 取数 | `gitlink-insight/SKILL.md` 工作流 3(第 169-203 行)|
|
||||
| ⑤ 发奖 | `gitlink-issue-triage/SKILL.md` 工作流 1 Step 5-6(第 80-117 行)|
|
||||
| ⑦ Step 2 识别 | `gitlink-onboarding/SKILL.md` 工作流 1(第 50-95 行)+ 识别标准第 31-46 行 |
|
||||
| ⑦ Step 3 引导 | `gitlink-onboarding/SKILL.md` 工作流 2(第 99-145 行)+ 个性化要求第 205 行 |
|
||||
| ⑦ Step 5 追踪 | `gitlink-insight/SKILL.md` 工作流 3(第 169-203 行)多源聚合 |
|
||||
|
||||
**意义**:评委打开任一报告的「Skill 蓝图对照」段,可拿着 SKILL.md 行号对照检查,验证"Skill 不是摆设,是真正驱动 Agent 执行的设计蓝图"。
|
||||
|
||||
---
|
||||
|
||||
## 关键技术发现(避坑)
|
||||
|
||||
### 1. GitLink API 路径双轨制 ⚠
|
||||
|
|
|
|||
|
|
@ -0,0 +1,129 @@
|
|||
# Agent 对话触发语(PDF 核心:Agent 对话是首要产物)
|
||||
|
||||
> 用途:评委/复现者在 Claude Code 里**逐字粘贴**下面任一条触发语,即可观察到
|
||||
> AI Agent 自动加载对应 Skill(按 SKILL.md 蓝图)→ 调 gitlink-cli 命令 → 串联多步 → 落地写入。
|
||||
> 把这个对话过程截图/录屏,就是 PDF 要求的「Agent 对话记录」产物。
|
||||
|
||||
---
|
||||
|
||||
## 为什么需要触发语
|
||||
|
||||
PDF「正确做法」明确:
|
||||
|
||||
- **Agent 对话记录是首要产物**,脚本是辅助
|
||||
- **Skill 是设计蓝图**,不是配置文件
|
||||
- 必须能演示"Skill 真的被加载、真的驱动 Agent 执行"
|
||||
|
||||
触发语的设计原则:**用自然语言匹配 SKILL.md 第 4 行 `description` 字段的触发语义**,让 Agent 自动识别并调用 Skill 工具。
|
||||
|
||||
---
|
||||
|
||||
## 前置准备(所有触发语共用)
|
||||
|
||||
在 Claude Code 里先说一句建立上下文:
|
||||
|
||||
```
|
||||
我在做 GitLink 端到端自动化任务三。目标仓库是 ylly/gitlink-cli,
|
||||
我的登录账号是 zhangqing23(已是该仓库 Manager)。
|
||||
gitlink-cli.exe 在 C:/Users/Lenovo/Desktop/gitlink-cli/ 目录下,已 auth login。
|
||||
下面我会给你具体的自动化需求,请用任务二设计好的 Skill 来做。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 工作流 ① 触发语(社区运营自动化)
|
||||
|
||||
**单条完整触发语**(推荐用于演示,一句话串起分类→周报→发版):
|
||||
|
||||
```
|
||||
请帮我对 ylly/gitlink-cli 做一次社区运营收尾:
|
||||
1. 自动分拣所有未分类的开放 Issue(用 gitlink-issue-triage 工作流1);
|
||||
2. 生成一份项目周报(用 gitlink-insight 工作流2);
|
||||
3. 根据自上次发版以来的提交历史,推荐版本号并生成 Release Notes,
|
||||
先给我预览,确认后再发布(用 gitlink-release-auto)。
|
||||
每一步执行前告诉我你正在加载哪个 Skill、对应 SKILL.md 的哪一段。
|
||||
```
|
||||
|
||||
**分步触发语**(如果只想演示单步):
|
||||
|
||||
| Step | 触发语(直接粘贴) | 对应 Skill 蓝图 |
|
||||
|:----:|-------------------|----------------|
|
||||
| 1 | "帮我把 ylly/gitlink-cli 所有没标签的开放 Issue 自动分类打标签" | issue-triage 工作流 1 |
|
||||
| 2 | "给我一份 ylly/gitlink-cli 本周的项目周报" | insight 工作流 2 |
|
||||
| 3 | "根据 ylly/gitlink-cli 自上次发版以来的提交,推荐下一个版本号并生成 Release Notes" | release-auto 一、二 |
|
||||
|
||||
**预期 Agent 行为**(截图要点):
|
||||
- Agent 会先说"使用 gitlink-issue-triage Skill"
|
||||
- 调用 `issue +list --state open` → 筛未分类 → `issue +view` 读详情 → 按分类规则表归类 → `issue +update --label`
|
||||
- 每步都会展示它对应 SKILL.md 的哪一段(这是"Skill 作为设计蓝图"的可视证据)
|
||||
|
||||
---
|
||||
|
||||
## 工作流 ⑤ 触发语(贡献者成长体系)
|
||||
|
||||
**单条完整触发语**:
|
||||
|
||||
```
|
||||
请帮我对 ylly/gitlink-cli 建立贡献者成长体系:
|
||||
1. 取仓库全历史的 commits(git log)+ merged PR(pr +list --state merged)
|
||||
+ Issue 作者(issue +list),生成一份综合积分排行榜(公式 commits×1 + PR×5 + Issue×2),
|
||||
过滤掉测试号 15972095207 / 2403_89190320 / fsafasff;
|
||||
2. 按三层标准授予徽章(星级/活跃/贡献者),先创建对应 label(颜色 #FFD700/#FF6B35/#87C95F);
|
||||
3. 建一个颁奖 Issue 公布排行榜并 @mention Top 贡献者。
|
||||
执行前先给我清单确认。
|
||||
```
|
||||
|
||||
**预期 Agent 行为**:
|
||||
- Agent 调用 insight 工作流 3 的数据采集方法(第 173-183 行)
|
||||
- 调用 issue-triage 工作流 1 Step 5 的 label 创建(第 86-89 行)
|
||||
- 输出排行榜表格 + 颁奖动作清单等用户确认
|
||||
|
||||
---
|
||||
|
||||
## 工作流 ⑦ 触发语(新人全流程保姆)
|
||||
|
||||
**单条完整触发语**:
|
||||
|
||||
```
|
||||
请帮我对 ylly/gitlink-cli 做新人引导全流程:
|
||||
1. 用 member +invite-link 演示邀请能力(仓库无真实新人账号,仅演示);
|
||||
2. 扫描开放 Issue,按新人友好识别标准找出适合新人的 Issue(onboarding 工作流1);
|
||||
3. 对找出的 good first Issue 写**完全个性化**的引导评论(onboarding 工作流2),
|
||||
每条评论要定位到具体文件、给本地准备命令、写 PR 提交规范——禁止用同一模板;
|
||||
4. 用 notification +list --owner zhangqing23 看通知动态;
|
||||
5. 交叉验证通知 + Issue + PR 数据,还原一位新人从加入到首次贡献的全过程。
|
||||
写入操作前给我预览。
|
||||
```
|
||||
|
||||
**分步触发语**:
|
||||
|
||||
| Step | 触发语 | 对应 Skill 蓝图 |
|
||||
|:----:|-------|----------------|
|
||||
| 2 | "帮我找出 ylly/gitlink-cli 适合新人的 Issue 并打 good first 标签" | onboarding 工作流 1 |
|
||||
| 3 | "帮我给 ylly/gitlink-cli 适合新人的 Issue 写个性化引导评论" | onboarding 工作流 2 |
|
||||
|
||||
**预期 Agent 行为**:
|
||||
- 识别阶段会引用 onboarding SKILL.md 第 31-46 行的 5 条友好信号 + 3 条排除标准
|
||||
- 引导评论阶段会引用第 205 行"禁止对所有 Issue 用同一句",每条评论定位不同文件
|
||||
|
||||
---
|
||||
|
||||
## 对话产物采集建议
|
||||
|
||||
录 Agent 对话时重点截这几段(对应 PDF 评分点):
|
||||
|
||||
1. **Skill 加载声明**:Agent 说"我将使用 gitlink-xxx Skill"的那一句
|
||||
2. **蓝图引用**:Agent 提到"按 SKILL.md 第 X-Y 行"的段落
|
||||
3. **命令调用**:Agent 调 gitlink-cli 的命令行(带参数)
|
||||
4. **真实写入回执**:服务器返回的 `ok:true` / `id` / `version_id` 等
|
||||
5. **网页验证**:复制返回的 URL 到浏览器打开看到真实效果
|
||||
|
||||
---
|
||||
|
||||
## 与 reproduce.sh 的关系
|
||||
|
||||
| 产物 | 角色 | 适合谁看 |
|
||||
|------|------|---------|
|
||||
| **Agent 对话记录**(本文档触发的) | 首要产物,演示"Skill 驱动 Agent" | 评委看过程 |
|
||||
| `reproduce.sh` | 辅助产物,纯命令复现 | 评委验结果 |
|
||||
| 3 份执行报告 | 落地证据,含 Skill 蓝图对照 | 评委查细节 |
|
||||
Loading…
Reference in New Issue