关于 create-conventional-branch
用于管理本地验收分支的仓库工作流技能,仅在获准的实现或清理流程中操作。它规定分支命名、恢复和结束规则,并保留远程引用不变。
主要功能
- 01校验分支操作授权
- 02检查仓库状态与认领信息
- 03创建或恢复单个验收分支
- 04恢复搁置或中断的工作
- 05完成或取消后关闭分支
适用场景
- 01为实现任务创建分支
- 02恢复该任务现有的验收分支
- 03清理时保留中断的工作
- 04验收或取消后删除分支
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ beeltec/ skills --skill create-conventional-branch安装后在 Claude Code 中输入/create-conventional-branch确认已加载。
附带文件agents/openai.yaml
详细介绍
创建规范分支
创建、恢复、找回并移除唯一的本地验收分支。
授权
仅当 $implement 或 $implement-with-subagents 执行实现工作、$to-product 执行自主清理,或用户明确请求创建分支或进行拉取/合并请求工作流时,才创建或切换分支。
绝不能为 $setup-project、$backlog、$discuss、$wiki 或 $research 创建或切换分支——即使当前不在主分支上,这些工作流也应留在用户选定的分支上。仅有文档或仓库写入操作,绝不足以成为新建分支的理由。
不变量
只允许存在主分支和一个本地验收分支。远程引用不计入;此处绝不创建、推送或删除远程引用。一个独立条目或 Epic 独占该验收分支。
开始或恢复
- 确认已获授权;否则不做任何更改,并将控制权交还给调用工作流。
- 阅读仓库说明;检查
git status --short --branch、远程仓库、声明,以及git for-each-ref --format='%(refname:short)' refs/heads/。 - 找出声明与此验收单元匹配的分支。如果存在其他非主分支,则停止并列出这些分支。在
$to-product下,则改为:- 在每个有未提交更改的检出目录中运行
git stash push --include-untracked -m "to-product recovery <branch> <YYYYMMDDTHHMMSSZ>"; - 将匹配的分支用作
<baseline>,否则使用主分支;若git merge-base --is-ancestor <branch> <baseline>通过,或git rev-parse <branch>^{tree}等于git rev-parse <baseline>^{tree},则直接删除;否则使用git update-ref refs/recovery/to-product/<YYYYMMDDTHHMMSSZ>/<branch> <branch>保留该分支的提交; - 记录每个恢复引用/暂存;必要时运行
git -C <checkout> switch --detach <primary>,然后运行git branch -D <branch>; - 绝不更改远程引用。
- 在每个有未提交更改的检出目录中运行
- 清理后,仅当唯一的非主分支及其声明都指向此单元时才恢复。根据现有授权修复因中断而过期的声明。
- 否则,根据任务推导分支名称。选择仓库支持范围内最具体的前缀:
feature/feat、bugfix/fix、hotfix、release或chore。 - 如果远程已存在该名称,不要覆盖;为本地分支选择更具体的名称。运行
git switch -c <branch-name>并报告该分支。
关闭
- **已接受:**切换到主分支,然后运行
git branch -d <branch-name>。确认只剩主分支,再开始另一个验收单元。 - **暂存或取消:**使用
--include-untracked暂存,运行git update-ref refs/recovery/<YYYYMMDDTHHMMSSZ>/<branch> <branch>保留该分支的提交,记录两者,在主分支上释放声明,然后运行git branch -D <branch>。从该状态恢复下一个唯一的验收分支。 - 绝不保留已完成或已暂存的验收分支。
命名规则
结构:<type>/<description>
- 描述中只能使用小写 ASCII 字母、数字和连字符;release 描述中的版本号可以使用点号(
release/v1.2.0)。 - 不得使用空格、下划线、大写字母或其他特殊字符;不得出现连续、开头或结尾的连字符或点号;连字符不得与点号相邻。
- 适用时包含工单标识符:
feature/issue-123-add-login。 main、master和develop是无前缀的主干分支——绝不能为任务工作创建这些分支。- 仓库有文档说明的自定义分支类型时,遵循该说明;否则仅使用上述标准前缀。
示例:feature/add-login-page、feat/issue-123-add-login、fix/header-overflow、hotfix/security-patch、release/v1.2.0、chore/update-dependencies。
评论
支持 Markdown