关于 pr-branch-naming
pr-branch-naming 是一项开发技能,可根据变更描述生成符合约定的分支名和对应 PR 标题。它也可协助检出分支或创建草稿 PR,但须先获得明确确认并检查前置条件。
主要功能
- 01选择变更类型与范围
- 02按约定生成分支名
- 03生成对应的 PR 标题
- 04可选检出分支与创建草稿 PR
- 05检查 Git 与 GitHub CLI 前置条件
适用场景
- 01为描述的功能或修复命名分支
- 02准备匹配的 PR 标题
- 03执行操作前检查分支与身份验证状态
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ thedesignproject/ agent-skills --skill pr-branch-naming安装后在 Claude Code 中输入/pr-branch-naming确认已加载。
详细介绍
PR 和分支命名
根据功能描述,生成符合惯例的分支名称和对应的 PR 标题,然后可选择切换到该分支和/或创建 PR——但只有在用户明确确认后才能执行。
步骤 1:获取功能描述
用户的输入位于 $ARGUMENTS。可能是:
- 一段描述 — 直接使用
- 空白 — 尝试从
git status和最近的提交记录(git log -n 5 --oneline)推断工作内容。如果能推断出来,将推断结果提供给用户确认。如果不能,请询问:“这个分支要实现什么功能或变更?”
不要编造描述。如果没有任何线索,请提问。
步骤 2:选择类型和范围
类型(任选其一)
| 类型 | 适用情况 |
|---|---|
feat | 新功能或新的 UI 工作 |
fix | 修复现有功能中的错误 |
docs | 仅涉及文档变更 |
refactor | 重构代码,不改变行为 |
perf | 性能改进 |
chore | 工具、配置、依赖项升级 |
experimental | 不打算按当前状态发布的原型、试验或探索性工作 |
选择最符合描述的类型。对于设计师编写的工作,常见类型是 feat 和 experimental。
范围
受影响的产品区域——简短、小写,尽可能使用单个单词。例如:playground、dashboard、auth、onboarding、billing。
根据描述推断范围。如果确实无法确定,只询问一次:“这会影响产品的哪个部分——dashboard、auth 等?” 不要反复追问用户。
步骤 3:选择分支前缀
| 前缀 | 适用情况 |
|---|---|
feature/ | 新功能或 UI 工作(对应 feat) |
bugfix/ | 修复现有功能(对应 fix) |
hotfix/ | 紧急生产环境修复 |
docs/ | 文档变更(对应 docs) |
experimental/ | 原型和探索性工作(对应 experimental) |
前缀应与类型相匹配。feat 使用 feature/,fix 使用 bugfix/,其他类型依此类推。
步骤 4:生成名称
分支名称
格式:<prefix>/<kebab-description>
规则:
- 仅使用小写字母
- 用连字符分隔(不使用下划线或空格)
- 末尾不能有连字符
- 保持简洁——描述部分尽量控制在 3–6 个单词
- 删除填充词(
the、a、for、to、make)
示例: feature/patient-based-messaging
PR 标题
格式:<type>(<scope>): <short description>
规则:
- 使用通俗语言描述,采用句首字母大写格式,末尾不加句点
- 保持简洁——控制在一行内
- 与分支的主题一致,但要让人工审核者读起来自然
示例: feat(playground): v1 prototype — patient-based messaging flow
步骤 5:展示结果
按以下格式列出两个名称,并附上一行理由:
Branch: feature/patient-based-messaging
PR title: feat(playground): v1 prototype — patient-based messaging flow
Type: feat (new UI work) · Scope: playground · Prefix: feature/
步骤 6:询问是否应用
询问用户是否要:
- 切换到该分支 — 运行
git checkout -b <branch> - 创建草稿 PR — 运行
gh pr create --draft --title "<title>" --body "<one-line description>" - 两者都做
- 两者都不做 — 用户会自行复制名称
运行任一命令前,先检查前置条件;如果不满足,停止操作并清楚说明:
- 对于
git checkout -b: 先运行git status。如果工作区不干净,说明情况,并询问用户是要继续、暂存还是中止。如果同名分支已存在,建议添加数字后缀(-2)。 - 对于
gh pr create: 先运行gh auth status。如果未通过身份验证,告知用户运行gh auth login,然后停止操作。不要从尚无领先于基分支的提交的分支创建 PR——使用git log <base>..HEAD --oneline检查,如果结果为空则发出警告。
切勿在此技能中运行具有破坏性的 Git 操作(reset --hard、branch -D、push --force)。
注意事项
- 如果用户调用此技能时已处于非默认分支,请询问新分支应从
main/master还是当前分支创建。 - 如果描述中包含多项更改(例如“修复登录错误并添加新的仪表盘小组件”),建议拆分为两个分支/PR,而不是把它们混在一起。
- PR 标题的描述可以使用 em dash(
—)添加限定说明,如示例所示。不要过度使用。