diff --git a/skills/gitlink-docs-assistant/SKILL.md b/skills/gitlink-docs-assistant/SKILL.md index 3e2ac0d..d8009ae 100644 --- a/skills/gitlink-docs-assistant/SKILL.md +++ b/skills/gitlink-docs-assistant/SKILL.md @@ -182,3 +182,4 @@ gitlink-cli wiki +update \ - `wiki +delete` 在 GitLink 平台上只清空内容,不真正删除页面(已知平台限制) - `--content` 参数直接传 Markdown 文本,CLI 内部会自动处理 base64 编码 - 在 git 仓库目录下运行时,`--owner` 和 `--repo` 可省略(自动从 remote 解析) +- `api GET /:owner/:repo/sub_entries` 端点在某些环境返回 HTML 页面而非文件列表;检测文档是否存在时,优先用更可靠的 `gitlink-cli repo +readme`(README)或 `repo +info`。 diff --git a/skills/gitlink-docs-assistant/examples/screenshots/00-环境确认.png b/skills/gitlink-docs-assistant/examples/screenshots/00-环境确认.png new file mode 100644 index 0000000..936ee2a Binary files /dev/null and b/skills/gitlink-docs-assistant/examples/screenshots/00-环境确认.png differ diff --git a/skills/gitlink-docs-assistant/examples/screenshots/01-体检报告.png b/skills/gitlink-docs-assistant/examples/screenshots/01-体检报告.png new file mode 100644 index 0000000..dd51fc6 Binary files /dev/null and b/skills/gitlink-docs-assistant/examples/screenshots/01-体检报告.png differ diff --git a/skills/gitlink-docs-assistant/examples/screenshots/02-wiki创建成功.png b/skills/gitlink-docs-assistant/examples/screenshots/02-wiki创建成功.png new file mode 100644 index 0000000..f44d05f Binary files /dev/null and b/skills/gitlink-docs-assistant/examples/screenshots/02-wiki创建成功.png differ diff --git a/skills/gitlink-docs-assistant/examples/screenshots/03-wiki更新成功.png b/skills/gitlink-docs-assistant/examples/screenshots/03-wiki更新成功.png new file mode 100644 index 0000000..af6d12b Binary files /dev/null and b/skills/gitlink-docs-assistant/examples/screenshots/03-wiki更新成功.png differ diff --git a/skills/gitlink-docs-assistant/examples/screenshots/04-wiki网页实测.png b/skills/gitlink-docs-assistant/examples/screenshots/04-wiki网页实测.png new file mode 100644 index 0000000..ebfe2d5 Binary files /dev/null and b/skills/gitlink-docs-assistant/examples/screenshots/04-wiki网页实测.png differ diff --git a/skills/gitlink-docs-assistant/examples/verification.md b/skills/gitlink-docs-assistant/examples/verification.md index cfe7186..a228563 100644 --- a/skills/gitlink-docs-assistant/examples/verification.md +++ b/skills/gitlink-docs-assistant/examples/verification.md @@ -1,55 +1,155 @@ # Claude Code 验证记录 — gitlink-docs-assistant -**验证日期:** 2026-06-15 -**验证平台:** Claude Code -**验证仓库:** ylly/gitlink-cli +**验证日期:** 2026-06-16 +**验证平台:** Claude Code +**验证仓库:** ylly/gitlink-cli +**验证人:** ZxR +**gitlink-cli 版本:** 本地源码构建(go1.26.3, windows/amd64) --- -## 验证步骤 - -### 1. 环境确认 +## 0. 环境确认 ```bash -gitlink-cli auth status +$ gitlink-cli auth status +✓ Logged in as ylly + +$ gitlink-cli user +me +{ "ok": true, "data": { "login": "ylly", "user_id": 148899, "username": "ylly" } } ``` -输出:`✓ 已登录,用户:ylly` -### 2. 喂入 Skill +📷 环境截图见 `screenshots/00-环境确认.png` -在 Claude Code 中输入: -> 请阅读 skills/gitlink-docs-assistant/SKILL.md,帮我检查 ylly/gitlink-cli 仓库的文档完整性,然后补全缺失的文档。 +--- -### 3. 验证工作流 1(体检) +## 1. 验证工作流 1:文档完整性体检(只读) -Agent 依次执行: +**喂入 Skill:** 在 Claude Code 中输入 +> 请阅读 skills/gitlink-docs-assistant/SKILL.md,帮我检查 ylly/gitlink-cli 仓库的文档完整性。 + +**Agent 执行过程(真实命令输出):** | 步骤 | 命令 | 结果 | |------|------|:----:| -| 获取仓库信息 | `gitlink-cli repo +info --owner ylly --repo gitlink-cli --format json` | ✅ | -| 扫描根目录 | `gitlink-cli api GET /ylly/gitlink-cli/sub_entries --query 'filepath=&ref=master'` | ✅ | -| 列出 Wiki 页面 | `gitlink-cli wiki +list --owner ylly --repo gitlink-cli --format json` | ✅ | -| 输出体检报告 | (AI 生成 Markdown 报告) | ✅ | +| 获取仓库信息 | `gitlink-cli repo +info --owner ylly --repo gitlink-cli --format json` | ✅ 返回仓库元数据 | +| 读取 README | `gitlink-cli repo +readme --owner ylly --repo gitlink-cli` | ✅ 返回 README 全文 | +| 列出 Wiki 页面 | `gitlink-cli wiki +list --owner ylly --repo gitlink-cli --format json` | ✅ 返回 6 个页面 | -### 4. 验证工作流 2(自动补全) +**Wiki 列表实际返回:** +``` +"title": "新的测试wiki" +"title": "HOME" +"title": "_Sidebar" +"title": "demopage" +"title": "wiki" +"title": "wikkkkww" +``` -| 步骤 | 命令 | 结果 | -|------|------|:----:| -| 读取 README | `gitlink-cli api GET /ylly/gitlink-cli/readme` | ✅ | -| 创建 CONTRIBUTING | `gitlink-cli wiki +create --name "CONTRIBUTING" ...` | ✅ | -| 确认创建 | `gitlink-cli wiki +list --format json` | ✅ CONTRIBUTING 出现在列表中 | +**真实发现(验证过程中记录):** +- `README` ✅ 存在、`LICENSE` ✅ 存在(MulanPSL-2.0) +- `CONTRIBUTING` / `CHANGELOG` / `API 文档` ❌ 全部缺失 +- Wiki 中的页面均为测试遗留,无正式文档 +- 注:`api GET /:owner/:repo/sub_entries` 端点在本环境返回 HTML 而非文件列表,故改用 `repo +readme` 作为更可靠的 README 检测方式(已在 SKILL.md 注意事项中记录) -### 5. 验证工作流 3(同步更新) +**Agent 输出的体检报告:** -| 步骤 | 命令 | 结果 | -|------|------|:----:| -| 查看页面内容 | `gitlink-cli wiki +view --owner ylly --repo gitlink-cli --name "CONTRIBUTING"` | ✅ | -| 更新页面 | `gitlink-cli wiki +update --name "CONTRIBUTING" --content "..." --message "..."` | ✅ | +```markdown +📋 文档体检报告 — ylly/gitlink-cli +总体评级:🟡 待完善 + +| 检查项 | 状态 | 建议 | +|--------------|:----:|-------------------| +| README | ✅ | — | +| LICENSE | ✅ | MulanPSL-2.0 | +| CONTRIBUTING | ❌ | 建议创建 Wiki 页面 | +| CHANGELOG | ❌ | 建议创建 Wiki 页面 | +| API 文档 | ❌ | 建议创建 Wiki 页面 | +``` + +📷 体检报告截图见 `screenshots/01-体检报告.png` + +--- + +## 2. 验证工作流 2:AI 自动补全文档(写入 Wiki) + +**Agent 执行命令:** + +```bash +$ gitlink-cli wiki +create --owner ylly --repo gitlink-cli \ + --name "CONTRIBUTING" \ + --content "# 贡献指南 (CONTRIBUTING) ..." \ + --message "docs: AI 自动生成 CONTRIBUTING 文档" +``` + +**真实返回(关键字段):** + +```json +{ + "ok": true, + "data": { + "code": 201, + "data": { + "title": "CONTRIBUTING", + "html_url": "https://gitlink.org.cn/ylly/gitlink-cli/wiki/CONTRIBUTING", + "last_commit": { + "sha": "0a5741cfbcac81fcb2ffa78299404a78cfe2a70e", + "date": "2026-06-16T00:15:53Z" + }, + "commit_count": 1 + } + } +} +``` + +**确认创建成功:** `wiki +list` 重新查询,CONTRIBUTING 已出现在列表中 ✅ + +📷 创建成功截图见 `screenshots/02-wiki创建成功.png` +(也可访问 https://gitlink.org.cn/ylly/gitlink-cli/wiki/CONTRIBUTING 查看真实页面) + +--- + +## 3. 验证工作流 3:文档同步更新(更新 Wiki) + +**Agent 执行命令(检测到内容可补充后提交更新):** + +```bash +$ gitlink-cli wiki +update --owner ylly --repo gitlink-cli \ + --name "CONTRIBUTING" \ + --content "# 贡献指南 ...(更新后含文档维护说明)" \ + --message "docs: 同步更新 CONTRIBUTING(补充文档维护说明)" +``` + +**真实返回:** + +```json +{ "ok": true, "data": { "code": 200, "data": { "title": "CONTRIBUTING", "commit_count": 2 } } } +``` + +**更新成功证据:** `commit_count` 由 `1` → `2`,证明更新已生效 ✅ + +📷 更新成功截图见 `screenshots/03-wiki更新成功.png` --- ## 验证结论 -- **全部工作流通过** ✅ +| 工作流 | 结果 | +|--------|:----:| +| 工作流 1:文档体检(只读) | ✅ 通过 | +| 工作流 2:AI 自动补全文档(写入) | ✅ 通过(code 201) | +| 工作流 3:文档同步更新(写入) | ✅ 通过(code 200,commit 1→2) | + - **Agent 平台:** Claude Code +- **真实仓库验证:** ylly/gitlink-cli(写入操作已生效,可在 GitLink 网页查看) - **兼容性:** 标准 YAML frontmatter,兼容 Claude Code / Cursor / OpenClaw + +--- + +## 截图清单 + +| 文件名 | 对应步骤 | 内容 | +|--------|---------|------| +| `screenshots/00-环境确认.png` | 第 0 步 | auth status + user +me 登录成功 | +| `screenshots/01-体检报告.png` | 工作流 1 | 体检报告输出 | +| `screenshots/02-wiki创建成功.png` | 工作流 2 | wiki +create 返回 code 201 + 列表确认 | +| `screenshots/03-wiki更新成功.png` | 工作流 3 | wiki +update 返回 commit_count 1→2 | diff --git a/skills/gitlink-onboarding/SKILL.md b/skills/gitlink-onboarding/SKILL.md new file mode 100644 index 0000000..99d818d --- /dev/null +++ b/skills/gitlink-onboarding/SKILL.md @@ -0,0 +1,208 @@ +--- +name: gitlink-onboarding +version: 1.0.0 +description: "新人引导:自动识别适合新贡献者的 Issue,打 good-first-issue 标签、生成个性化引导评论和项目入门指南,降低参与门槛。当用户需要管理 good-first-issue、帮助新人上手项目或提升社区友好度时触发。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli issue --help" +--- + +# gitlink-onboarding(新人引导) + +**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。** +**CRITICAL — 所有写入/删除操作前(打标签、写评论),务必先确认用户意图。** +**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。** + +> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md) 了解认证和全局参数。 + +--- + +## 工作流概览 + +| 工作流 | 操作 | AI Agent 角色 | 写入 | +|--------|------|--------------|:----:| +| 工作流 1:good-first-issue 自动标记 | 扫描开放 Issue → 识别适合新人的 → 打标签 | 判断复杂度 + 创建标签 | 是 | +| 工作流 2:引导评论生成 | 对新人 Issue 写个性化引导评论 | 生成评论内容 | 是 | +| 工作流 3:项目入门指南 | 生成项目贡献入门文档 | 分析仓库 + 生成指南 | 否 | + +--- + +## 新人友好 Issue 识别标准 + +AI 判断一个 Issue 是否适合新人时,参考以下信号(满足越多越适合): + +| 信号 | 说明 | 权重 | +|------|------|:----:| +| 标题关键词 | typo / 文档 / 简单 / 拼写 / 入门 / good first issue / help wanted | 高 | +| 改动范围 | 单文件、文案/文档类、配置类 | 高 | +| 描述清晰度 | 有明确预期结果和复现步骤 | 中 | +| 不涉及核心 | 不触碰核心架构、复杂业务逻辑、并发/安全 | 高 | +| 已有友好标签 | 已标记 question / 文档 / 协助 | 中 | + +**排除标准(不建议标记为新人 Issue):** +- 性能优化、安全漏洞、架构重构 +- 描述模糊、无法复现、信息严重不足 +- 涉及 CI/CD、部署、数据库迁移 + +--- + +## 工作流 1:good-first-issue 自动标记 + +**触发场景:** "帮我找出适合新人的 Issue 并打上标签" + +### Step 1:获取开放 Issue + +```bash +gitlink-cli issue +list --owner --repo --format json +``` + +### Step 2:AI 判断哪些 Issue 适合新人 + +遍历每个 Issue,按"新人友好识别标准"评估,筛选出适合新人的 Issue 列表。 + +### Step 3:查找或创建 good-first-issue 标签 + +```bash +# 先查现有标签,看是否已有 good first 标签 +gitlink-cli label +list --owner --repo --format json + +# 若不存在,创建(颜色遵循社区惯例 #7057ff) +# 注意:GitLink 标签名限 15 字符,"good first issue"(16字符) 会被截断,用 "good first" +gitlink-cli label +create --owner --repo \ + --name "good first" --color "#7057ff" +``` + +### Step 4:自动打标签 + +```bash +# 注意:--label 是"设置"语义(覆盖),需保留原标签时一并传入 +gitlink-cli issue +update --owner --repo \ + --number --label ,<原标签id> +``` + +### Step 5:输出标记报告 + +```markdown +## 🌱 新人友好 Issue 标记报告 — / + +| Issue | 标题 | 适合新人理由 | 已打标签 | +|-------|------|------------|:--------:| +| #5 | 修复 README 拼写错误 | 单文件文案修改,范围明确 | ✅ | +| #3 | 补充 API 文档示例 | 文档类,预期清晰 | ✅ | + +共标记 2 个 good-first-issue。 +``` + +--- + +## 工作流 2:引导评论生成 + +**触发场景:** "帮我给适合新人的 Issue 写引导评论" + +### Step 1:获取 Issue 详情 + +```bash +gitlink-cli issue +view --owner --repo --number --format json +``` + +### Step 2:AI 生成个性化引导评论 + +根据 Issue 内容,生成包含以下要素的引导评论(**不要用固定模板**,要结合具体 Issue): + +- **任务说明**:用一句话概括要做什么 +- **相关文件**:定位到具体文件/目录(结合仓库结构推断) +- **本地准备**:克隆仓库、切换分支、运行测试的命令 +- **提交指引**:提交 PR 的步骤和规范 + +### Step 3:发布评论 + +```bash +gitlink-cli issue +comment --owner --repo \ + --number --body "欢迎贡献!这是一个适合新人的任务..." +``` + +### 引导评论输出模板 + +```markdown +👋 欢迎贡献!这个 Issue 适合新人入手。 + +**任务目标:** <一句话说明> + +**建议入手位置:** +- 相关文件:`` +- 主要改动:<具体位置> + +**本地准备:** +1. Fork 并克隆仓库 +2. 安装依赖并确认能本地运行 +3. 创建分支:git checkout -b fix/<简述> + +**提交 PR:** 改动完成后提交 PR,关联本 Issue。 + +有任何问题欢迎在下方留言,社区会及时回复 🤝 +``` + +--- + +## 工作流 3:项目入门指南 + +**触发场景:** "帮我生成一份新人入门指南" + +### Step 1:获取仓库信息 + +```bash +gitlink-cli repo +info --owner --repo --format json +gitlink-cli repo +readme --owner --repo +``` + +### Step 2:AI 生成入门指南 + +综合仓库信息,生成结构化的入门文档: + +```markdown +## 🚀 <项目名> 新人入门指南 + +### 环境准备 +- <语言/运行时版本要求> +- <依赖安装方式> + +### 项目结构速览 +| 目录 | 作用 | +|------|------| +| | <说明> | + +### 第一个贡献 +1. 从带 good-first-issue 标签的 Issue 入手 +2. <项目特定的开发流程> + +### 提交规范 +- +- +``` + +> 该指南可直接展示给用户,或交给 `gitlink-docs-assistant` Skill 写入 Wiki。 + +--- + +## Raw API 参考 + +```bash +# 获取某个 issue 的完整信息 +gitlink-cli api GET /:owner/:repo/issues/:number --format json + +# 查询可分配的负责人(帮助新人 Issue 找导师) +gitlink-cli issue +assigners --owner --repo --format json +``` + +--- + +## 注意事项 + +- **写操作前确认:** 打标签(`issue +update --label`)和写评论(`issue +comment`)会真实修改仓库,执行前务必让用户确认。 +- **--label 是覆盖语义:** `issue +update --label ` 会替换原有标签。若 Issue 已有标签,需把原标签 ID 一并传入(如 `--label 350191,327271`),否则原标签会丢失。 +- **标签颜色格式:** `label +create --color` 必须带 `#` 号(如 `#7057ff`)。 +- **评论要个性化:** 避免对所有 Issue 使用同一句引导文案,应结合具体 Issue 内容生成。 +- **--number 是网页编号:** `--number` 用 GitLink 网页 URL 中显示的编号,对新人最直观。 +- **标签名长度限制:** GitLink 标签名上限 **15 字符**,"good first issue"(16字符)会被截断,建议用 "good first" 或中文"新人入门"。若已创建被截断,可用 `label +update --id --name "good first"` 修正。 +- **good-first-issue 颜色惯例:** 社区通用 `#7057ff`(GitHub 惯例),保持一致便于识别。 diff --git a/skills/gitlink-onboarding/examples/onboarding-workflow.md b/skills/gitlink-onboarding/examples/onboarding-workflow.md new file mode 100644 index 0000000..0b90342 --- /dev/null +++ b/skills/gitlink-onboarding/examples/onboarding-workflow.md @@ -0,0 +1,103 @@ +# gitlink-onboarding — 使用示例 + +## 场景 1:good-first-issue 自动标记 + +**用户 Prompt:** +> 请阅读 skills/gitlink-onboarding/SKILL.md,帮我找出 ylly/gitlink-cli 中适合新人的 Issue 并打上标签。 + +**Agent 执行过程:** + +```bash +# Step 1:获取开放 Issue +gitlink-cli issue +list --owner ylly --repo gitlink-cli --format json +# 返回 7 个 Issue,AI 按新人友好标准筛选 → #8 适合新人 + +# Step 2:查找现有标签 +gitlink-cli label +list --owner ylly --repo gitlink-cli --format json +# 无 good-first-issue 标签 + +# Step 3:创建标签 +gitlink-cli label +create --owner ylly --repo gitlink-cli \ + --name "good first" --color "#7057ff" +# → id 382660(注:GitLink 标签限 15 字符,"good first issue" 会被截断,故用 "good first") + +# Step 4:打标签 +gitlink-cli issue +update --owner ylly --repo gitlink-cli \ + --number 8 --label 382660 +``` + +**Agent 输出:** + +```markdown +🌱 新人友好 Issue 标记报告 — ylly/gitlink-cli + +| Issue | 标题 | 适合新人理由 | 标签 | +|-------|------|------------|:----:| +| #8 | docs: 补充 wiki 命令的使用示例文档 | 文档类、范围明确 | ✅ | + +共标记 1 个 good-first-issue。 +``` + +--- + +## 场景 2:引导评论生成 + +**用户 Prompt:** +> 帮我给 #8 写一个引导评论,让新人知道怎么入手。 + +**Agent 执行过程:** + +```bash +# 读取 Issue 详情 +gitlink-cli issue +view --owner ylly --repo gitlink-cli --number 8 --format json + +# AI 根据 Issue 内容生成个性化评论并发布 +gitlink-cli issue +comment --owner ylly --repo gitlink-cli \ + --number 8 \ + --body "👋 欢迎贡献!任务目标:为 wiki 命令补充示例。 +建议入手位置:README.md、shortcuts/wiki/wiki.go +本地准备:Fork → 克隆 → go build → 建分支 docs/wiki-examples +提交 PR 关联 #8。" +``` + +**输出:** 评论已发布(comment id 476548) + +--- + +## 场景 3:项目入门指南 + +**用户 Prompt:** +> 帮我生成一份 gitlink-cli 的新人入门指南。 + +**Agent 执行过程:** + +```bash +gitlink-cli repo +info --owner ylly --repo gitlink-cli --format json +gitlink-cli repo +readme --owner ylly --repo gitlink-cli +``` + +**Agent 输出入门指南 Markdown:** + +```markdown +🚀 gitlink-cli 新人入门指南 + +## 环境准备 +- Go 1.26+,GitLink 账号 + auth login + +## 项目结构 +| 目录 | 作用 | +|------|------| +| cmd/ | 命令定义 | +| shortcuts/ | Shortcut 实现(核心)| +| skills/ | AI Agent Skills | + +## 第一个贡献 +1. 找带 good-first-issue 标签的 Issue +2. Fork + 克隆 + 建分支 +3. go build && go test ./... +4. 提交 PR 关联 Issue + +## 提交规范 +- feat / fix / docs / refactor +- 新增模块需在 shortcuts/register.go 注册 +``` diff --git a/skills/gitlink-onboarding/examples/screenshots/00-环境确认.png b/skills/gitlink-onboarding/examples/screenshots/00-环境确认.png new file mode 100644 index 0000000..24c6d13 Binary files /dev/null and b/skills/gitlink-onboarding/examples/screenshots/00-环境确认.png differ diff --git a/skills/gitlink-onboarding/examples/screenshots/01-标记报告.png b/skills/gitlink-onboarding/examples/screenshots/01-标记报告.png new file mode 100644 index 0000000..96f5efd Binary files /dev/null and b/skills/gitlink-onboarding/examples/screenshots/01-标记报告.png differ diff --git a/skills/gitlink-onboarding/examples/screenshots/02-引导评论.png b/skills/gitlink-onboarding/examples/screenshots/02-引导评论.png new file mode 100644 index 0000000..51662e5 Binary files /dev/null and b/skills/gitlink-onboarding/examples/screenshots/02-引导评论.png differ diff --git a/skills/gitlink-onboarding/examples/screenshots/03-入门指南.png b/skills/gitlink-onboarding/examples/screenshots/03-入门指南.png new file mode 100644 index 0000000..c68c2bc Binary files /dev/null and b/skills/gitlink-onboarding/examples/screenshots/03-入门指南.png differ diff --git a/skills/gitlink-onboarding/examples/screenshots/04-issue网页实测.png b/skills/gitlink-onboarding/examples/screenshots/04-issue网页实测.png new file mode 100644 index 0000000..a53ca5b Binary files /dev/null and b/skills/gitlink-onboarding/examples/screenshots/04-issue网页实测.png differ diff --git a/skills/gitlink-onboarding/examples/verification.md b/skills/gitlink-onboarding/examples/verification.md new file mode 100644 index 0000000..5e58695 --- /dev/null +++ b/skills/gitlink-onboarding/examples/verification.md @@ -0,0 +1,143 @@ +# Claude Code 验证记录 — gitlink-onboarding + +**验证日期:** 2026-06-16 +**验证平台:** Claude Code +**验证仓库:** ylly/gitlink-cli +**验证人:** ylly +**gitlink-cli 版本:** 本地源码构建(go1.26.3, windows/amd64) + +--- + +## 0. 环境确认 + +```bash +$ gitlink-cli auth status +✓ Logged in as ylly + +$ gitlink-cli user +me +{ "ok": true, "data": { "login": "ylly", "user_id": 148899 } } +``` + +📷 环境截图见 `screenshots/00-环境确认.png` + +--- + +## 1. 验证工作流 1:good-first-issue 自动标记 + +**喂入 Skill:** 在 Claude Code 中输入 +> 请阅读 skills/gitlink-onboarding/SKILL.md,帮我找出 ylly/gitlink-cli 中适合新人的 Issue 并打上标签。 + +**Agent 执行过程:** + +| 步骤 | 命令 | 结果 | +|------|------|:----:| +| 获取开放 Issue | `gitlink-cli issue +list --owner ylly --repo gitlink-cli --format json` | ✅ 返回 7 个 Issue | +| 查找标签 | `gitlink-cli label +list --owner ylly --repo gitlink-cli --format json` | ✅ 现有 10 个标签,无 good-first-issue | +| 创建标签 | `gitlink-cli label +create --name "good first issue" --color "#7057ff"` | ✅ 创建成功(id 382660,名字被截断) | +| 改名修正 | `gitlink-cli label +update --id 382660 --name "good first"` | ✅ 修正为 "good first" | +| 打标签 | `gitlink-cli issue +update --number 8 --label 382660` | ✅ #8 已标记 | + +**为演示创建了一个真实的"新人友好"Issue(#8):** +``` +#8 docs: 补充 wiki 命令的使用示例文档 + (文档类、范围明确、不涉及代码逻辑 → 适合新人) +``` + +**验证 #8 已带标签(issue +view 返回):** +```json +"tags": [{ "color": "#7057ff", "id": 382660, "name": "good first" }] +``` + +**真实发现(验证过程中记录,并已修正):** +- GitLink 标签名长度限制 **15 个字符**,"good first issue"(16 字符)创建时被平台自动截断为 "good first issu"。**已通过 `label +update --id 382660 --name "good first"` 修正为 "good first"**。SKILL.md 注意事项已据此提示:标签名建议 ≤15 字符。 +- Issue 的标签字段名是 `tags`(注意:label +list 用的是 `issue_tags`,issue 里是 `tags`,两者不同)。 + +📷 标记报告截图见 `screenshots/01-标记报告.png` + +--- + +## 2. 验证工作流 2:引导评论生成 + +**Agent 执行命令(AI 根据 #8 内容生成个性化评论):** + +```bash +$ gitlink-cli issue +comment --owner ylly --repo gitlink-cli \ + --number 8 \ + --body "👋 欢迎贡献!这是一个适合新人入手的任务。\n**任务目标:** 为 wiki 命令补充使用示例...\n**建议入手位置:** README.md ...\n**本地准备:** ...\n**提交 PR:** 关联本 Issue (#8)。" +``` + +**真实返回:** +```json +{ "ok": true, "data": { "id": 476548, "author": { "id": 148899 } } } +``` + +**评论特点(证明是个性化生成,非固定模板):** +- 针对 #8 的"wiki 命令文档"主题,定位到 `README.md` 和 `shortcuts/wiki/wiki.go` +- 提示了 wiki 命令使用独立网关 API 的特殊点 +- 给出具体的分支命名 `docs/wiki-examples` + +📷 评论发布截图见 `screenshots/02-引导评论.png` +(也可访问 https://gitlink.org.cn/ylly/gitlink-cli/issues/8 查看真实评论) + +--- + +## 3. 验证工作流 3:项目入门指南 + +**Agent 执行命令(只读采集):** + +```bash +$ gitlink-cli repo +info --owner ylly --repo gitlink-cli --format json +# 返回:Go 项目,默认分支 master,License MulanPSL-2.0,8 个 Issue + +$ gitlink-cli repo +readme --owner ylly --repo gitlink-cli +# 返回 README 全文,提取项目结构、命令列表 +``` + +**AI 生成的入门指南(节选):** + +```markdown +🚀 gitlink-cli 新人入门指南 + +## 环境准备 +- Go 1.26+,GitLink 账号 + auth login + +## 项目结构 +| 目录 | 作用 | +| cmd/ | 命令定义 | +| shortcuts/ | Shortcut 命令实现(核心)| +| skills/ | AI Agent Skills 文档 | + +## 第一个贡献 +1. 找带「good first」标签的 Issue +2. Fork + 克隆 + 建分支 +3. go build && go test ./... 验证 +4. 提交 PR 关联 Issue +``` + +📷 入门指南截图见 `screenshots/03-入门指南.png` + +--- + +## 验证结论 + +| 工作流 | 结果 | 关键证据 | +|--------|:----:|---------| +| 工作流 1:good-first-issue 标记 | ✅ | #8.tags 含 good first(id 382660) | +| 工作流 2:引导评论 | ✅ | comment id 476548 已发布 | +| 工作流 3:入门指南 | ✅ | 基于 repo +info/readme 生成 | + +- **Agent 平台:** Claude Code +- **真实仓库验证:** ylly/gitlink-cli(标签 + 评论已真实写入,可在网页查看) +- **兼容性:** 标准 YAML frontmatter,兼容 Claude Code / Cursor / OpenClaw + +--- + +## 截图清单 + +| 文件名 | 对应步骤 | 内容 | +|--------|---------|------| +| `screenshots/00-环境确认.png` | 第 0 步 | auth status 登录成功 | +| `screenshots/01-标记报告.png` | 工作流 1 | good-first-issue 标记报告表 | +| `screenshots/02-引导评论.png` | 工作流 2 | issue +comment 返回 ok:true + id:476548 | +| `screenshots/03-入门指南.png` | 工作流 3 | 生成的入门指南 | +| `screenshots/04-issue网页实测.png`(可选) | 综合效果 | GitLink 网页 #8 显示标签+评论 |