用 AI Skill 打通 Git 开发最后一公里:从建分支到提 PR 的完整自动化

read time 7 min read
AI Coding Agent Git Pull Request 工程效率 开发工作流

在很多团队里,真正拖慢节奏的并不总是“写代码”,而是这条重复且容易失误的链路:

branch-commit-pr 封面

  1. 从默认分支拉最新代码
  2. 按团队规范创建功能分支
  3. 把改动拆成可审查的原子提交
  4. 组织 PR 标题、描述、关联 Issue/Jira

这些步骤都不复杂,但每天重复执行,既耗时又容易出现不一致。branch-commit-pr 这个项目,目标就是把这条链路做成 AI 代理可复用的 Skill,让流程自动且稳定。

项目定位

branch-commit-pr 是一个完整的 Git 开发工作流 Skill,覆盖:

  • 上下文检测(默认分支、分支命名约定、提交风格)
  • 分支管理(从最新默认分支拉起并设置 upstream)
  • 智能提交(按模块/关注点拆分原子 commit)
  • PR 创建(通过 gh CLI 自动生成标题与描述)
  • 事项关联(GitHub Issue,可选 Jira 链接)

一句话总结:把“代码写完后的工程动作”交给 AI 代理处理。

它解决了什么问题

1) 团队约定难以长期一致

常见问题:

  • 分支命名风格混乱(feat/feature/、平铺命名并存)
  • commit message 风格不统一(语义化与自然语言混用)

branch-commit-pr 会先读取仓库近期分支与提交历史,再按既有习惯生成分支名与提交信息,减少“人为口径漂移”。

2) 改动提交粒度不合理

很多项目的问题不是“没人提交”,而是“提交太大、太杂”。

该 Skill 在提交阶段会先分析改动,再按目录与关注点分组;实现与对应测试会尽量放在同一提交里,提升 PR 可读性和可回滚性。

3) PR 编写成本高

从 commit 到 PR 的最后一步常被低估:标题、摘要、关联事项、检查信息都需要整理。

该 Skill 通过 gh CLI 自动生成 PR 内容,并支持在你提到 Issue 编号时自动关联,减少人工整理成本。

工作方式(Phase 化流程)

项目把流程拆成 4 个阶段:

  • Phase 0 Context Gathering:检测默认分支、命名约定、提交风格、Issue 跟踪能力
  • Phase 1 Branch Management:同步默认分支并创建规范 feature branch
  • Phase 2 Smart Commit:规划原子提交并按仓库风格生成 commit message
  • Phase 3 Pull Request:创建 PR,自动填充摘要与关联信息

这意味着它既可以跑全流程,也可以按需执行单阶段。

使用示例(自然语言)

你可以直接对代理说:

  • “开始做 dark mode 功能”
  • “给登录模块建分支”
  • “提交当前改动并拆成合理 commit”
  • “基于这些提交创建 PR,关联 #42”

Skill 会根据指令自动选择执行模式(仅建分支 / 仅提交 / 仅 PR / 提交+PR / 全流程)。

安装方式

推荐使用 skills.sh

bash
npx skills add nianyi778/branch-commit-pr

也可手动复制 SKILL.md 到代理技能目录(如 Claude Code、OpenCode、Cursor)。

依赖与边界

项目依赖很轻:

  • git
  • gh(用于 PR 创建)
  • 可选 Jira 环境变量配置(用于票据链接)

需要注意:它聚焦的是“流程自动化”,不是替代代码评审。它能显著改善流程一致性,但最终质量仍然依赖团队评审与测试体系。

Jira 如何与 PR 绑定(实现细节)

这一块的实现分两层:

1) PR 文案关联(默认)

触发条件:

  • 已配置 JIRA_URLJIRA_EMAILJIRA_API_TOKEN
  • 在指令中明确提到 Jira ticket(如 PROJ-123

执行方式:

  • 在 PR 描述中增加 Jira 链接:
    • Jira: [PROJ-123](https://yourteam.atlassian.net/browse/PROJ-123)

这一步让评审可以从 PR 一跳到 Jira 工单,建立明确上下文。

2) Jira 状态流转(可选)

只有当你明确要求(例如“把 PROJ-123 流转到 In Review”)时,才会调用 Jira API:

  • 接口:POST /rest/api/3/issue/{KEY}/transitions
  • 认证:email + api_token(Basic Auth)
  • 参数:transition id(例如 31

也就是说,默认不会自动改 Jira 状态。

3) 安全策略

  • 不猜 ticket:你不提 ticket,就不添加 Jira 关联
  • 不默认流转:你不明确要求,就不调用 transition API
  • Jira API 失败不阻断:会提示告警,但 PR 仍可创建

4) 可直接使用的指令

“提交并创建 PR,关联 PROJ-123;然后把它流转到 In Review”

适用场景

  • 正在把 AI 编码接入日常研发流程的团队
  • 多人协作、提交与分支规范要求明确的项目
  • 希望降低 PR 准备时间、提高审查效率的仓库

结语

如果说 AI 已经提高了“写代码”的速度,那么 branch-commit-pr 在做的是另一件事:

把“写完代码之后”的工程动作标准化、自动化、可复用化。

对于任何希望把 AI 产出稳定落地到真实协作流程的团队,这一步通常比想象中更关键。