关于 create-pr
create-pr 是用于准备 Pull Request 的 Agent 技能,包含英文与中文文档同步检查。它会审查分支变更、指导提交和创建 PR,并判断是否需要更新项目文档。
主要功能
- 01审查分支变更
- 02检查双语文档影响
- 03指导编写提交信息
- 04暂存、推送并创建 PR
- 05提供 PR 验证清单
适用场景
- 01准备功能分支以供审查
- 02更新技能目录文档
- 03判断变更是否需要更新 README
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zhaono1/ agent-playbook --skill create-pr安装后在 Claude Code 中输入/create-pr确认已加载。
附带文件README.md
详细介绍
创建 PR
用于创建拉取请求并检查双语文档的技能。此技能确保在提交代码更改前,英文和中文文档保持同步。
此技能的触发条件
在以下情况下,此技能会触发:
- 请求创建拉取请求或 PR
- 说“提交我的更改”或“推送并创建 PR”
- 提到“创建 PR”或“发起拉取请求”
- 想提交代码供他人审查
PR 创建工作流
步骤 1:分析更改
检查当前分支中的所有更改:
git status
git diff
git log --oneline main..HEAD
确定:
- 已修改的文件:更改了什么?
- 新增的文件:添加了什么?
- 已删除的文件:移除了什么?
- 影响范围:哪些技能或功能受到影响?
步骤 2:确定文档更新内容
检查技能更改
首先,检测是否更改了任何技能:
# Check if skills/ directory has changes
git diff --name-only main..HEAD | grep "^skills/"
决策矩阵
| 更改类型 | 文档操作 |
|---|---|
| 添加新技能 | 在英文和中文 README 的技能表中添加 |
| 更改技能描述 | 更新技能表中的描述 |
| 移除技能 | 从技能表中移除 |
| 更改技能钩子 | 更新技能表中的自动触发列 |
| 仅更改内部技能逻辑 | 跳过 README 更新 |
| 不影响用户的 Bug 修复 | 跳过 README 更新 |
更改自动触发设置时需要更新
如果修改了技能的 metadata.hooks front matter,必须更新技能目录中的自动触发列:
# Check if hooks were modified
git diff main..HEAD -- skills/*/SKILL.md | grep -E "^\+.*metadata:|^\+.*hooks:|^\+.*trigger:"
如果钩子有更改 → 更新 README.md 和 README.zh-CN.md 中的自动触发列。
步骤 3:起草提交信息
使用 commit-helper 格式:
<type>(<scope>): <subject>
<body>
<footer>
类型:
feat:新技能或功能fix:Bug 修复或更正docs:仅更改文档refactor:代码重构chore:维护任务
步骤 4:创建拉取请求
按以下顺序执行:
# 1. Stage only the intended files
git add <changed-files>
git commit -m "commit message"
# 2. Push to remote
git push -u origin <branch-name>
# 3: Create PR using gh CLI
gh pr create \
--title "PR title" \
--body "PR description"
步骤 5:更新文档(如有需要)
在提交或创建 PR 前,如果更改会影响面向用户的技能目录、安装或工作流行为,请更新两个 README 文件:
README.md(英文):
- 将新技能添加到相应的分类表中
- 根据需要更新项目结构
- 保留顶部的语言切换链接
README.zh-CN.md(中文):
- 同步所有英文更改
- 翻译技能描述
- 保持相同的结构和格式
步骤 6:更新变更日志(可选)
对于重要更改,将内容添加到 CHANGELOG.md:
## [Version] - YYYY-MM-DD
### Added
- New skill: skill-name
### Fixed
- Fixed issue in skill-name
### Changed
- Updated skill-name with new features
文档更新指南
技能目录更新模板
添加或修改技能时,请使用以下技能目录格式:
英文(README.md):
### Category Name
| Skill | Description | Follow-up |
|-------|-------------|--------------|
| **[skill-name](./skills/skill-name/)** | Brief description | Manual / Auto / Background / (keyword: "...") |
中文(README.zh-CN.md):
### 类别名称
| 技能 | 描述 | 后续动作 |
|------|------|----------|
| **[skill-name](./skills/skill-name/)** | 简短描述 | 手动 / 自动 / 后台 / (关键词:"...") |
自动触发列的取值
| 值 | 含义 | 示例 |
|---|---|---|
Manual | 用户必须手动调用 | 大多数开发技能 |
Auto | 每次技能运行后自动触发 | session-logger |
Background | 在相关技能运行后以非阻塞方式运行 | self-improving-agent |
After skill updates | 仅在修改技能时触发 | create-pr |
(keyword: "...") | 在特定关键词出现时触发 | prd-planner(keyword: "PRD") |
何时更新 README
始终在以下情况下更新:
- 添加新技能
- 移除技能
- 更改技能名称或描述
- 重构技能目录
以下情况下可考虑更新:
- 为现有技能添加重要功能
- 更改安装说明
- 修改项目结构
以下情况下跳过更新:
- 不影响用户的内部代码重构
- 细微的拼写错误修正
- 测试文件更改
双语更新格式
向技能表中添加新技能时:
英文(README.md):
| **[skill-name](./skills/skill-name/)** | Brief skill description |
中文(README.zh-CN.md):
| **[skill-name](./skills/skill-name/)** | 技能简短描述 |
语言切换链接
两个 README 文件顶部都必须包含语言切换链接:
README.md:
English | [简体中文](./README.zh-CN.md)
README.zh-CN.md:
[English](./README.md) | 简体中文
PR 描述模板
创建 PR 时,请使用此模板:
## Summary
<Brief description of what this PR does>
## Changes
- [ ] New skill added
- [ ] Existing skill modified
- [ ] Documentation updated
- [ ] Tests added/updated
## Skills Affected
- `skill-name`: Description of change
## Documentation
- [x] README.md updated
- [x] README.zh-CN.md updated
- [ ] CHANGELOG.md updated (if applicable)
## Test Plan
- [ ] Skill tested in Claude Code
- [ ] Documentation links verified
- [ ] Bilingual translations checked
常见场景
场景 1:添加新技能
# 1. Create skill files
mkdir -p skills/new-skill
touch skills/new-skill/SKILL.md
touch skills/new-skill/README.md
# 2. Install or link through the package CLI when possible
apb skills add ./skills/new-skill --scope project --target all --link
# 3. Update README.md (add to skills table)
# 4. Update README.zh-CN.md (add to skills table with translation)
# 5. Commit and push
git add skills/new-skill/ README.md README.zh-CN.md
git commit -m "feat: add new-skill for ..."
git push -u origin feature/add-new-skill
# 6. Create PR
gh pr create --title "feat: add new-skill" --body "..."
场景 2:修改现有技能
# 1. Make changes to skill
vim skills/existing-skill/SKILL.md
# 2. Check if description changed
git diff skills/existing-skill/SKILL.md
# 3. If description changed, update README files
# 4. Commit, push, create PR
场景 3:仅修复 Bug
# 1. Fix the bug
vim skills/some-skill/SKILL.md
# 2. Commit and push (no README update needed)
git add skills/some-skill/SKILL.md
git commit -m "fix: correct typo in some-skill"
git push
# 3. Create PR
gh pr create --title "fix: correct typo in some-skill"
验证清单
创建 PR 前,请确认:
- 所有更改均已提交
- 分支已推送到远程仓库
- 提交消息符合 Conventional Commits 规范
- 如有需要,已更新 README.md
- 如有需要,已更新 README.zh-CN.md
- 两个 README 中均包含语言切换链接
- 已为新技能创建符号链接
- PR 标题清晰明确
- PR 描述包含摘要和更改内容
快速参考
| 命令 | 用途 |
|---|---|
git status | 检查当前状态 |
git diff | 查看未暂存的更改 |
git log main..HEAD | 查看分支提交 |
git add <changed-files> | 仅暂存预期更改的文件 |
git commit -m "msg" | 使用消息提交 |
git push -u origin branch | 推送到远程仓库 |
gh pr create | 创建拉取请求 |
提示
- 先提交,再创建 PR:创建 PR 前务必先提交更改
- 保持 PR 精简:让 PR 聚焦于单项更改
- 标题明确:在 PR 标题中使用 Conventional Commits 规范
- 同步双语内容:务必同时更新两个 README 文件
- 测试技能:提交 PR 前确认技能正常运行
评论
支持 Markdown