From spellbook-skills
准备并执行高质量 Git 提交。当用户要求提交代码、帮忙 commit、生成提交信息、拆分原子提交,或说 commit this / split commits / skip verify 时触发。先读仓库规范,按真实 diff 和暂存状态生成 Conventional Commit;emoji 默认关闭,仅 `--emoji` 时放在冒号后。不适用于创建 PR/MR(用 git-merge-request)或只推送。
How this skill is triggered — by the user, by Claude, or both
Slash command
/spellbook-skills:git-commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
准备并执行高质量 Git 提交。目标不是写漂亮标题,而是产出**忠于 diff、便于 review、符合仓库约定、且如实说明校验状态**的提交。
准备并执行高质量 Git 提交。目标不是写漂亮标题,而是产出忠于 diff、便于 review、符合仓库约定、且如实说明校验状态的提交。
Core principle: 仓库规则优先 → 读取真实状态与 diff → 判断提交边界 → 轻量校验 → 生成 Conventional Commit → 非交互提交 → 如实报告。
Announce at start: "正在使用 git-commit skill 帮你准备提交。"
从用户输入中识别下列参数与意图,未指定时用默认值:
| 参数 / 意图 | 默认 | 说明 |
|---|---|---|
--emoji | 关闭 | 启用 emoji,且置于 type(scope): 之后 |
--no-verify / "跳过校验" / "直接提交" | 否 | 跳过轻量校验 |
| "只要 commit message" / "先给我消息" | 执行提交 | 只产出候选消息,不实际提交 |
| "拆开提交" / "split" | 自动判断 | 先给原子拆分方案,再按确认执行 |
提交前先查本地约定,仓库规则永远优先于本 skill 的默认值。至少检查:
AGENTS.md / CLAUDE.md / CONTRIBUTING.md / README.md提取提交语言、格式、emoji 要求、body/footer 标记、issue 引用和必须校验命令。仓库有明文要求时完全照其执行。
尽早区分三种情况,避免误操作:
git status --short
判断是否已有暂存内容,再读对应 diff。消息必须基于真实 diff,不要只看文件名。
git diff --cached --stat 和 git diff --cached;默认只提交已暂存内容git diff --stat 和 git diffgit status --short 列出,并按文件内容判断是否纳入;不要因为 git diff 为空就忽略它们只在变更形成一个连贯 review 单元时成组暂存并提交。出现以下信号时先停下来给拆分方案:
暂存时排除敏感文件,例如 .env、*.key、credentials*。不要盲目 git add -A。
除非用户明确要求跳过,运行能给出有意义信心的最轻校验:
package.json 脚本,再按 lockfile 选择包管理器mvn compile更细的默认策略见 commit-details.md。
校验失败时:
仓库规则优先。仓库未明示时默认:
<type>(<scope>): <description>
feat、fix、docs、refactor--emoji 时写成 feat(x): ✨ 描述[#AI]、release notes 等)必须带上需要类型表、emoji 表或示例时读取 commit-details.md。
用非交互方式创建提交,避免进入交互式 git 流程。多个提交时按文件分组依次暂存、提交;body/footer 用多段 -m 或等价非交互方式写入。
git diff 不显示 untracked,必须结合 git status --short✨ feat: ... 会破坏按 ^type 解析的自动化工具--emoji 才加;仓库禁止时即使传了也不加git commitgit-merge-request — 提交后推送并创建 PR/MR,其提交环节复用本 skillGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub yyykf/spellbook-skills --plugin spellbook-skills