Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →结构化 git commit message 生成工作流,适用于显式 commit message、提交说明或 commit-msg 场景;不负责实际执行 git commit。
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-20 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 12% | 0% |
当用户明确要求生成 commit message、整理提交说明,或提到 commit-msg 时,使用本技能。
不要用于:
git add 或 git commitall、全部变更或包含未暂存时,再看整个工作区 diff。feat、fix、refactor、style、docs、test 或 chore。<type>: <subject>subject 简洁聚焦,不堆砌文件名type 关键字保留英文(feat/fix/refactor/style/docs/test/chore),subject 与 body 必须使用简体中文body 使用 flat bullets,说明核心改动Co-Authored-By输出 message 后,必须额外给出可直接复制执行的 heredoc 命令,让 git 正确保留 subject 单行 + 空行 + body 多行 bullet 的结构:
bashgit add <文件列表> && git commit -m "$(cat <<'EOF' <type>: <subject> - 变更点1 - 变更点2 - 变更点3 EOF )"
<<'EOF' 用单引号围栏,避免 $、反引号被 shell 展开。
git commit -m "feat: x\n- a\n- b" —— \n 是字面字符串,shell 不会解析为换行,整段会被塞进 subject 行。git commit -m "feat: x - a - b" —— body 被压成单行,丢失 markdown 列表结构,GitHub Release / git log 都无法正确渲染。落盘后用 git log -1 --pretty=format:'%s%n---%n%b' 检查:subject 必须单行、body 必须保留每行独立的 - bullet。
references/commit-types.mdreferences/message-format.mdOther measured skills in the registry, with their headline benchmark lift.