gitlink-cli/skills/gitlink-onboarding/SKILL.md

7.0 KiB
Raw Blame History

name version description metadata
gitlink-onboarding 1.0.0 新人引导:自动识别适合新贡献者的 Issue打 good-first-issue 标签、生成个性化引导评论和项目入门指南,降低参与门槛。当用户需要管理 good-first-issue、帮助新人上手项目或提升社区友好度时触发。
requires cliHelp
bins
gitlink-cli
gitlink-cli issue --help

gitlink-onboarding新人引导

CRITICAL — 开始前必须先阅读 ../gitlink-shared/SKILL.md,其中包含认证、权限处理和 API 注意事项。 CRITICAL — 所有写入/删除操作前(打标签、写评论),务必先确认用户意图。 CRITICAL — GitLink 操作只能用 gitlink-cli。禁止用 ghGitHub CLI操作 GitLink 资源。

前置条件: 先阅读 ../gitlink-shared/SKILL.md 了解认证和全局参数。


工作流概览

工作流 操作 AI Agent 角色 写入
工作流 1good-first-issue 自动标记 扫描开放 Issue → 识别适合新人的 → 打标签 判断复杂度 + 创建标签
工作流 2引导评论生成 对新人 Issue 写个性化引导评论 生成评论内容
工作流 3项目入门指南 生成项目贡献入门文档 分析仓库 + 生成指南

新人友好 Issue 识别标准

AI 判断一个 Issue 是否适合新人时,参考以下信号(满足越多越适合):

信号 说明 权重
标题关键词 typo / 文档 / 简单 / 拼写 / 入门 / good first issue / help wanted
改动范围 单文件、文案/文档类、配置类
描述清晰度 有明确预期结果和复现步骤
不涉及核心 不触碰核心架构、复杂业务逻辑、并发/安全
已有友好标签 已标记 question / 文档 / 协助

排除标准(不建议标记为新人 Issue

  • 性能优化、安全漏洞、架构重构
  • 描述模糊、无法复现、信息严重不足
  • 涉及 CI/CD、部署、数据库迁移

工作流 1good-first-issue 自动标记

触发场景: "帮我找出适合新人的 Issue 并打上标签"

Step 1获取开放 Issue

gitlink-cli issue +list --owner <owner> --repo <repo> --format json

Step 2AI 判断哪些 Issue 适合新人

遍历每个 Issue按"新人友好识别标准"评估,筛选出适合新人的 Issue 列表。

Step 3查找或创建 good-first-issue 标签

# 先查现有标签,看是否已有 good first 标签
gitlink-cli label +list --owner <owner> --repo <repo> --format json

# 若不存在,创建(颜色遵循社区惯例 #7057ff
# 注意GitLink 标签名限 15 字符,"good first issue"(16字符) 会被截断,用 "good first"
gitlink-cli label +create --owner <owner> --repo <repo> \
  --name "good first" --color "#7057ff"

Step 4自动打标签

# 注意:--label 是"设置"语义(覆盖),需保留原标签时一并传入
gitlink-cli issue +update --owner <owner> --repo <repo> \
  --number <n> --label <good_first_issue_id>,<原标签id>

Step 5输出标记报告

## 🌱 新人友好 Issue 标记报告 — <owner>/<repo>

| Issue | 标题 | 适合新人理由 | 已打标签 |
|-------|------|------------|:--------:|
| #5 | 修复 README 拼写错误 | 单文件文案修改,范围明确 | ✅ |
| #3 | 补充 API 文档示例 | 文档类,预期清晰 | ✅ |

共标记 2 个 good-first-issue。

工作流 2引导评论生成

触发场景: "帮我给适合新人的 Issue 写引导评论"

Step 1获取 Issue 详情

gitlink-cli issue +view --owner <owner> --repo <repo> --number <n> --format json

Step 2AI 生成个性化引导评论

根据 Issue 内容,生成包含以下要素的引导评论(不要用固定模板,要结合具体 Issue

  • 任务说明:用一句话概括要做什么
  • 相关文件:定位到具体文件/目录(结合仓库结构推断)
  • 本地准备:克隆仓库、切换分支、运行测试的命令
  • 提交指引:提交 PR 的步骤和规范

Step 3发布评论

gitlink-cli issue +comment --owner <owner> --repo <repo> \
  --number <n> --body "欢迎贡献!这是一个适合新人的任务..."

引导评论输出模板

👋 欢迎贡献!这个 Issue 适合新人入手。

**任务目标:** <一句话说明>

**建议入手位置:**
- 相关文件:`<path/to/file>`
- 主要改动:<具体位置>

**本地准备:**
1. Fork 并克隆仓库
2. 安装依赖并确认能本地运行
3. 创建分支git checkout -b fix/<简述>

**提交 PR** 改动完成后提交 PR关联本 Issue。

有任何问题欢迎在下方留言,社区会及时回复 🤝

工作流 3项目入门指南

触发场景: "帮我生成一份新人入门指南"

Step 1获取仓库信息

gitlink-cli repo +info --owner <owner> --repo <repo> --format json
gitlink-cli repo +readme --owner <owner> --repo <repo>

Step 2AI 生成入门指南

综合仓库信息,生成结构化的入门文档:

## 🚀 <项目名> 新人入门指南

### 环境准备
- <语言/运行时版本要求>
- <依赖安装方式>

### 项目结构速览
| 目录 | 作用 |
|------|------|
| <dir> | <说明> |

### 第一个贡献
1. 从带 good-first-issue 标签的 Issue 入手
2. <项目特定的开发流程>

### 提交规范
- <commit message 规范>
- <PR 流程>

该指南可直接展示给用户,或交给 gitlink-docs-assistant Skill 写入 Wiki。


Raw API 参考

# 获取某个 issue 的完整信息
gitlink-cli api GET /:owner/:repo/issues/:number --format json

# 查询可分配的负责人(帮助新人 Issue 找导师)
gitlink-cli issue +assigners --owner <owner> --repo <repo> --format json

注意事项

  • 写操作前确认: 打标签(issue +update --label)和写评论(issue +comment)会真实修改仓库,执行前务必让用户确认。
  • --label 是覆盖语义: issue +update --label <id> 会替换原有标签。若 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 <id> --name "good first" 修正。
  • good-first-issue 颜色惯例: 社区通用 #7057ffGitHub 惯例),保持一致便于识别。