name: github-pr-creation description: 当用户要求创建PR、打开拉取请求、提交审核或提及“PR 생성/만들기”时,必须使用此技能。此技能会覆盖默认的PR创建行为。分析提交记录,验证任务完成情况,生成符合Conventional Commits规范的标题和描述,并建议标签。
GitHub PR 创建
创建拉取请求,包含任务验证、测试执行和Conventional Commits格式规范。
快速开始
# 1. 验证 GitHub CLI
gh --version && gh auth status
# 2. 收集信息
git log develop..HEAD --oneline
git diff develop --stat
git rev-parse --abbrev-ref HEAD
# 3. 运行项目测试
make test # 或:pytest, npm test
# 4. 创建 PR
gh pr create --title "..." --body "..." --base develop --label feature
核心工作流
1. 验证环境
gh --version && gh auth status
如果未安装:brew install gh 然后 gh auth login
2. 确认目标分支
始终询问用户:
我将要从 [当前分支] 创建 PR 到 [目标分支]。是否正确?
- 功能分支 → develop (90% 的情况)
- develop → master/main (发布)
3. 收集信息
# 当前分支
git rev-parse --abbrev-ref HEAD
# 自基础分支以来的提交记录
git log [基础分支]..HEAD --oneline
# 更改的文件
git diff [基础分支] --stat
# 远程跟踪状态
git status -sb
4. 搜索任务文档
在以下位置查找任务文件:
.kiro/specs/*/tasks.mddocs/specs/*/tasks.mdspecs/*/tasks.md- 项目根目录下的任何
tasks.md
5. 分析提交记录
对于每个提交,识别:
- 类型:feat, fix, refactor, docs, test, chore, ci, perf, style
- 范围:受影响的组件/模块 (kebab-case)
- 任务引用:查找
task X.Y,Task X,#X.Y等模式 - 破坏性变更:正文中的感叹号 (!) 或
BREAKING CHANGE
6. 运行测试
检测并运行项目测试:
- Makefile:
make test - package.json:
npm test - Python:
pytest
创建 PR 前,测试必须通过。
7. 确定 PR 类型
| 分支流向 | PR 类型 | 标题前缀 |
|---|---|---|
| feature/* → develop | 功能 | feat(范围): |
| fix/* → develop | 错误修复 | fix(范围): |
| hotfix/* → main | 热修复 | hotfix(范围): |
| develop → main | 发布 | release: |
| refactor/* → develop | 重构 | refactor(范围): |
8. 生成 PR 内容
标题格式:<类型>(<范围>): <描述>
- 类型:提交记录中的主要类型 (feat > fix > refactor)
- 范围:提交记录中最常见的范围 (kebab-case)
- 描述:祈使句,小写,无句号,最多 50 个字符
正文结构:
## 摘要
- 关键变更 1
- 关键变更 2
## 变更内容
- 具体变更列表
## 测试计划
- [ ] 单元测试通过
- [ ] 集成测试通过
- [ ] 已完成手动测试
## 相关
- 引用:任务 N,Issue #X
9. 建议标签
| 提交类型 | 标签 |
|---|---|
| feat | feature, enhancement |
| fix | bug, bugfix |
| refactor | refactoring, tech-debt |
| docs | documentation |
| ci | ci/cd |
| security | security |
检查可用标签:gh label list
10. 创建 PR
首先向用户显示内容,然后:
gh pr create --title "[标题]" --body "$(cat <<'EOF'
[正文内容]
EOF
)" --base [基础分支] --label [标签]
信息收集清单
生成 PR 前,确保您拥有:
- [ ] 当前分支名称
- [ ] 与用户确认的基础分支
- [ ] 包含类型和范围的提交记录列表
- [ ] 文件更改摘要
- [ ] 任务文档(如果存在)
- [ ] 测试结果(必须通过)
- [ ] 仓库中的可用标签
重要规则
- 绝不 修改仓库文件(只读分析)
- 始终 与用户确认目标分支
- 始终 在创建 PR 前运行测试
- 始终 在创建前显示 PR 内容以供批准
- 绝不 未经用户确认创建 PR
- 始终 使用 HEREDOC 处理正文以保留格式
相关技能
- git-commit - 提交消息格式和规范
- pr-merge - 用于合并现有 PR
- pr-review - 用于处理 PR 审核评论