用途:根据一段功能描述,生成符合约定的分支名和与之匹配的 PR 标题,并在用户明确确认后可选地检出分支或创建草稿 PR。
主要能力:
- 获取功能描述。输入来自 $ARGUMENTS;若为空,则尝试从 git status 和最近提交(git log -n 5 --oneline)推断,并请用户确认;无法推断时直接询问,不编造描述。
- 选择类型与范围。类型包括 feat、fix、docs、refactor、perf、chore、experimental;范围是受影响的产品区域,尽量为小写单词,如 playground、dashboard、auth、onboarding、billing。
- 选择分支前缀:feature/ 对应 feat,bugfix/ 对应 fix,hotfix/ 用于紧急生产修复,docs/ 对应 docs,experimental/ 对应 experimental。
- 生成名称。分支格式为 <prefix>/<kebab-description>,仅小写、连字符分隔、无尾随连字符、描述部分约 3–6 个词、去掉填充词,例如 feature/patient-based-messaging。PR 标题格式为 <type>(<scope>): <short description>,使用平实语言、句首大写、无结尾句号、单行,例如 feat(playground): v1 prototype — patient-based messaging flow。
- 展示结果:同时给出分支名、PR 标题及一行理由。
- 询问是否应用:检出分支(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 并停止;若分支相对 base 无新提交(用 git log <base>..HEAD --oneline 检查),应警告。
限制:本技能不会执行破坏性 git 操作(reset --hard、branch -D、push --force)。若当前已在非默认分支,需询问新分支从 main/master 还是当前分支切出。若描述包含多个变更,建议拆分为多个分支/PR。PR 标题描述可用破折号(—)补充限定,但不宜过度使用。