提交Skill commit

此技能用于自动化Git提交过程,遵循Conventional Commits格式,包括配置验证、变更分析、AI代码质量检查和原子提交创建。适用于软件开发中的版本控制,提高代码管理效率。关键词:Git提交、Conventional Commits、代码质量、自动化提交、AI辅助、DevOps。

DevOps 0 次安装 0 次浏览 更新于 3/16/2026

name: 提交 description: 当用户请求“提交”、“git提交”、“创建提交”或希望按照Conventional Commits格式提交暂存/未暂存的更改时,应使用此技能 user-invocable: true allowed-tools: [“Bash(git:*)”, “Read”, “Write”, “Edit”, “Glob”, “AskUserQuestion”, “Skill”, “Task”] argument-hint: “[无需参数]” model: haiku version: 0.3.0

背景知识

提交格式规则

结构:

<类型>(<范围>): <描述>

[可选上下文段落]

- <动作> <组件> <细节>

[解释段落]

Co-Authored-By: <模型名称> <noreply@anthropic.com>

规则:

  • 标题: 全小写,<50字符,使用命令式,无句号。对于重大更改,在":“前添加”!"
  • 类型: feat, fix, docs, refactor, perf, test, chore, build, ci, style
  • 正文 (必需): 使用- 前缀的要点,命令式动词,每行≤72字符
  • 页脚: 对于所有AI提交,Co-Authored-By是必需的

阶段1:配置验证

目标: 加载项目特定的git配置和有效范围。

动作:

  1. 首先: 读取.claude/git.local.md以加载项目配置
  2. 如果文件未找到,使用Skill工具加载git:config-git技能以创建它
  3. 从YAML frontmatter中的scopes:列表提取有效范围

阶段2:变更分析

目标: 识别工作的逻辑单元并推断提交范围。

动作:

  1. 运行git diff --cachedgit diff以获取代码差异(不得直接遍历文件)
  2. 分析差异以识别连贯的逻辑单元
  3. 使用阶段1加载的有效范围,从文件路径和变更中推断范围
  4. 如果推断的范围不在有效范围列表中,使用Skill工具加载git:config-git技能以更新配置

阶段3:AI代码质量检查

目标: 在提交前移除AI生成的冗余内容。

动作:

  1. 使用Task工具(模型:sonnet)启动代理以审查变更
  2. 移除AI模式:额外注释、不必要的防御性检查、any类型转换、不一致的风格
  3. 代理在无用户确认的情况下自主运行

阶段4:提交创建

目标: 创建遵循Conventional Commits格式的原子提交。

动作(为每个逻辑单元重复):

  1. 根据上述提交格式规则草拟提交消息
  2. 验证:标题<50字符小写命令式;正文有点和解释段落;页脚有Co-Authored-By
  3. 暂存相关文件并创建提交