SuperAPI AI 工具集

git-workflow

部署与运维

查看项目

更新于 10-14 12:15

技能介绍

Git Workflow Skill 是一个围绕 Git 协作与 GitHub 拉取请求(PR)流程的技能,用于建立分支策略、实施 Conventional Commits、创建或评审 PR、解决评审意见以及合并 PR。

用途 该技能适用于需要规范化 Git 协作流程的场景,包括分支策略制定、提交信息规范、PR 创建与评审、评审意见处理与合并操作。其功能以 GitHub 为主,涉及 PR 状态查看、合并门禁和评审线程的操作均通过 GitHub GraphQL 实现。对于 GitLab 的合并请求,等价操作使用 glab 调用,说明参见 references/pull-request-workflow.md 中的 GitLab 章节。

主要能力

  • 提交规范:支持 Conventional Commits,格式为 <type>[scope]: <description>;feat 对应 MINOR,fix 对应 PATCH;破坏性变更通过在类型后加 ! 或在页脚写 BREAKING CHANGE: 表示;分支命名如 feature/TICKET-123-description、release/1.2.0。完整的类型列表与 DCO sign-off 见 references/commit-conventions.md。
  • PR 合并要求:合并前需满足评审线程全部解决、CI 通过(含 annotations)、已 rebase、已签名,并在当前 head 上完成评审;评审可由人工、机器人或作者通过 pr-merge.sh --self-reviewed 完成;评审是强制的,机器人评审不是强制的。仅 rebase + 签名的场景使用 git merge --ff-only。
  • 钩子检测:提供检测命令 ls lefthook.yml .lefthook.yml captainhook.json .pre-commit-config.yaml .husky/pre-commit 2>/dev/null || echo "No hooks",各框架的安装命令见 references/git-hooks-setup.md。

使用方式 技能提供若干脚本:

  • ./scripts/verify-git-workflow.sh /path/to/repository
  • ./scripts/pr-status.sh [-R owner/repo] [PR] [--json] [--watch]:查看门禁状态与下一步操作
  • ./scripts/pr-merge.sh [-R owner/repo] [PR] [--dry-run|--self-reviewed]:执行合并,门禁未满足时拒绝
  • ./scripts/repo-contribution-preflight.sh [--repo <dir>] [--section docs|templates|packaging|ci|tools]:在产出首个工件前了解仓库期望
  • ./scripts/pr-status.sh --version:查看当前安装的副本版本(每个脚本均支持该参数)

不可协商的规则

  • 不得直接向 main 推送,必须通过 PR。
  • 所有线程未解决前不得合并。
  • 未被要求时不得使用 squash,以保留原子提交、签名与二分查找能力。
  • 未粘贴命令输出时不得声称“已测试/已验证/可运行”,否则应如实说明。
  • 不得编辑已安装的技能/插件缓存路径(~/.claude/skills/、~/.claude/plugins/cache/、/.bare/),必须使用仓库工作区,并通过 pwd 确认。
  • 仅允许使用 --force-with-lease 强制推送,禁止使用 --force。
  • rebase 前先提交:add → commit → fetch → rebase → push,工作区有改动会导致 rebase 中止。
  • 不做主观评价,只说明改了什么,而非改得多好。

参考文件 技能包含以下参考文件及其触发内容:

  • references/commit-conventions.md:Conventional commits、DCO sign-off
  • references/pull-request-workflow.md:PR 合并门禁、签名 rebase、通过内联建议提交评审
  • references/ci-cd-integration.md:CI 监视、git 镜像
  • references/advanced-git.md:rebase(含非交互式 rebase -i)、cherry-pick、bisect、stash、worktrees、reflog、挂起的 push/fetch(SSH mux)
  • references/github-releases.md:指向 github-release 技能
  • references/git-hooks-setup.md:钩子框架、各阶段钩子
  • references/claude-code-hooks.md:settings.json 合并门禁、缓存路径拒绝、自动 lint
  • references/code-quality-tools.md:shellcheck、shfmt、git-absorb、difftastic
  • references/merge-gate-watcher.md:等待门禁、被 harness 终止的 watcher、merge-driver 循环、检查分类、过期 SHA 重跑
  • references/spec-cleanup.md:从基础分支清理规划工件
  • references/no-editorializing.md:不自我表扬、不叙述预期内容

适用场景与限制 适用于使用 GitHub 进行协作、并希望规范化分支、提交、PR 评审与合并流程的团队或个人。其 GitHub 专属功能(pr-status.sh、pr-merge.sh、合并门禁、评审线程等)依赖 GitHub GraphQL;在 GitLab 场景下需改用 glab 的等价调用。技能本身未说明收费、价格或平台兼容范围等额外信息,这些内容暂未提供。