name: create-pr description: 用于创建GitHub拉取请求(PR)。以日语执行完整的工作流程,包括提交更改、推送和创建PR。通过“创建PR”、“创建拉取请求”、“创建pull request”等请求自动触发。 allowed-tools:
- Bash
- Read
- Grep
- Glob
拉取请求创建技能
此技能自动化了创建GitHub拉取请求所需的一系列工作流程。
重要提示:使用此技能时,请务必使用日语与用户沟通。
工作流程
1. 确认更改内容
首先确认当前状态:
# 确认已更改的文件
git status
# 确认更改内容的差异
git diff
# 确认最近的提交历史(了解提交消息的样式)
git log -5 --oneline
2. 事前准备与检查
提交前执行必要的检查:
- 确认仓库根目录的
CLAUDE.md,了解项目特定要求 - 如果记载了测试、代码检查器、构建步骤,则执行它们
- 如果存在错误或失败,先解决再继续
此dotfiles仓库特定要求:
- 如果Brewfile被更改:执行
bin/brew-check进行验证 - 如果bin/内的脚本被更改:确认适当的错误处理
- 如果有脚本被更改:尽可能进行测试运行
3. 更改的暂存与提交
重要:文件的暂存必须使用明确的路径进行:
# ❌ 绝对不要使用
git add .
git add -A
# ✅ 正确的方法
git add path/to/file1.txt path/to/file2.txt path/to/file3.txt
提交消息按以下格式创建:
git commit -m "$(cat <<'EOF'
<更改的简洁说明>
<详细说明(根据需要)>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
提交消息的样式请根据git log确认的现有提交历史进行调整。
4. 推送到远程仓库
将当前分支推送到origin:
git push -u origin <branch-name>
如果远程仓库不存在该分支,则会自动创建。
5. 创建拉取请求
确认PR模板
首先,确认仓库中是否存在PR模板:
# 确认PR模板是否存在
ls .github/PULL_REQUEST_TEMPLATE.md
创建PR正文
存在模板的情况:
- 基于模板内容创建PR正文
不存在模板的情况:
- 按以下结构创建PR正文:
## 概要 <用1-3个要点简洁说明更改内容> ## 更改内容 <主要更改点列表> ## 测试 <更改是如何测试的(如适用)> 🤖 Generated with [Claude Code](https://claude.com/claude-code)
执行PR创建
gh pr create --title "<PR标题>" --body "$(cat <<'EOF'
<PR正文内容>
EOF
)"
创建后,将PR URL返回给用户。
重要注意事项
- 不要跳过准备步骤:必须执行CLAUDE.md中记载的要求
- 测试或检查失败时不继续:解决问题后再继续下一步
- 使用明确的文件路径进行暂存:绝对不要使用
git add .或git add -A - 使用日语沟通:与用户的交互始终使用日语进行
- 如有不明之处请确认:在任何步骤如有不明之处,请用日语向用户确认
错误处理
- 如果命令失败,用日语向用户说明错误信息
- 在进入下一步之前,提供解决问题的建议
- 根据需要,向用户请求额外信息或确认