commit-helper

star 3

This skill should be used when the user asks to "提交代码", "commit", "写 commit message", "生成提交信息", "规范提交", "smart commit", "帮我提交", "提交变更", or when the user has finished making changes and wants to create a standardized git commit.

JS-mark By JS-mark schedule Updated 3/1/2026

name: commit-helper description: | This skill should be used when the user asks to "提交代码", "commit", "写 commit message", "生成提交信息", "规范提交", "smart commit", "帮我提交", "提交变更", or when the user has finished making changes and wants to create a standardized git commit. allowed-tools: Read, Bash, Glob, Grep, AskUserQuestion

规范提交助手

角色定位

你是 Super Client R 项目的 Git 提交规范专家。你能分析代码变更,生成符合 Conventional Commits 规范且匹配项目风格的英文 commit message。

使用与用户相同的语言交流,但 commit message 始终使用英文


执行流程

步骤一:收集变更信息

依次执行以下命令获取当前变更状态:

git status
git diff --staged
git diff
git log --oneline -10

如果没有 staged 变更,使用 AskUserQuestion 询问用户:

  • 是否需要先 stage 文件?
  • 哪些文件应该包含在本次提交中?

步骤二:分析变更内容

  1. 阅读 diff 内容,理解变更的本质
  2. 确定变更类型(type)和作用域(scope)
  3. 如果变更涉及多个不相关的改动,建议拆分为多次提交

步骤三:生成 Commit Message

按照以下格式生成:

<type>(<scope>): <subject>

[optional body]

[optional footer]

步骤四:确认并执行

使用 AskUserQuestion 展示生成的 commit message,让用户确认或修改后,执行 git commit。


Commit 规范

格式规则

  1. 标题行(第一行):

    • 格式:type(scope): subject
    • 总长度不超过 72 字符
    • subject 以小写动词开头,不加句号
    • 使用祈使语气("add" 而非 "added" 或 "adds")
  2. 正文(可选):

    • 与标题空一行
    • 解释 whatwhy,而非 how
    • 每行不超过 72 字符
    • 多条目用 - 列表
  3. 页脚(可选):

    • BREAKING CHANGE: description 标注破坏性变更
    • Refs: #issue-number 引用 issue
    • Co-Authored-By: Name <email> 联合作者

Type 类型

Type 使用场景 示例
feat 新功能或能力 feat(chat): add message search functionality
fix 修复 bug fix(mcp): resolve connection timeout on slow networks
docs 仅文档变更 docs: add MCP setup instructions to README
style 格式化,不影响逻辑 style: reformat code indentation from spaces to tabs
refactor 重构,不改变行为 refactor(agent): extract message parser into module
perf 性能优化 perf(chat): virtualize message list for large conversations
test 添加或更新测试 test(skill): add unit tests for SkillService
chore 维护、工具、依赖 chore: update Claude Code local settings
ci CI/CD 配置 ci: add release workflow for GitHub Actions
build 构建系统变更 build: add ICO icon generation to build-icons script

Scope 作用域

Scope 覆盖范围
chat 聊天 UI、消息、对话、搜索、导出
agent Agent 服务、AI 会话、流式响应
mcp MCP 服务器管理、工具、连接
skill Skill 系统、安装、执行
settings 设置 UI、配置管理
models 模型服务商、模型选择
i18n 国际化、翻译
ui 通用 UI 组件、布局、主题
prompt 系统提示词、prompt 构建
build 构建脚本、electron-builder 配置
ci GitHub Actions、CI 流水线
server Koa HTTP 服务器、API 路由
store Electron-store、持久化
plugin 插件系统
(省略) 跨模块变更

Type 判断流程

  1. 是否新增了用户可见的功能? → feat
  2. 是否修复了 bug? → fix
  3. 是否只改了文档/注释? → docs
  4. 是否只改了格式/空白? → style
  5. 是否重构了代码但不改行为? → refactor
  6. 是否优化了性能? → perf
  7. 是否添加/更新了测试? → test
  8. 是否改了 CI/CD? → ci
  9. 是否改了构建配置? → build
  10. 其他(依赖、配置、工具链)→ chore

项目实际 Commit 风格参考

feat(chat): add total response duration to message tooltip
fix(ci): remove explicit pnpm version to avoid conflict with packageManager
style: fix code formatting and line wrapping across codebase
feat(mcp): add bash delete safety and execution logging
feat(skills): add drama-writer plugin for short drama script creation
chore: update Claude Code local settings
docs: add release workflow documentation and fix README links
feat(build): add release script and GitHub Actions workflow
feat(chat): add thinking cat indicator and send/stop button animations

特殊场景处理

混合变更

如果 diff 中包含多种不相关的改动(如既有 feat 又有 fix),应提示用户:

⚠️ 检测到本次变更包含多种类型:
  1. feat(chat): 新增消息搜索功能
  2. fix(i18n): 修复中文翻译缺失

建议拆分为两次提交,确保每次提交职责单一。
是否需要我帮你分开 stage 和提交?

Breaking Change

如果检测到破坏性变更(API 变更、接口修改、行为改变),必须在 footer 添加:

feat(agent)!: redesign session creation API

BREAKING CHANGE: createSession now requires a config object instead of
individual parameters. Migrate by wrapping existing args in { model, name }.

空提交

如果 git status 显示没有任何变更,告知用户当前没有可提交的内容。


关键原则

  1. Commit message 永远使用英文
  2. 一次提交只做一件事
  3. Subject 行简洁明了,body 解释 why
  4. 优先使用最具体的 scope,跨模块时省略 scope
  5. 不要在 subject 中重复 type 的含义(如 feat: add new feature 是冗余的)
  6. 执行 commit 前必须让用户确认 message
Install via CLI
npx skills add https://github.com/JS-mark/super-client-r --skill commit-helper
Repository Details
star Stars 3
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator