用途
ado-commit 用于在 Azure DevOps(ADO / Azure Repos)托管的仓库中创建格式规范的 Conventional Commits 提交。当用户要求提交变更时,该技能会按照既定工作流生成提交信息并执行提交。
主要能力
- 检查当前状态:包括 git status、当前分支、已暂存差异统计、未暂存差异统计以及最近 5 条提交记录。
- 自动暂存:若没有已暂存内容,使用 git add -A 暂存所有修改和新文件;若已有特定文件暂存,则仅提交这些文件。
- 阅读实际 diff:通过 git diff --cached 理解真实改动,确保提交信息描述“改了什么、为什么改”,而非仅罗列文件。
- 拆分建议:若暂存差异包含多个不相关的逻辑变更,建议拆分为多个提交(一次提交对应一个变更理由)。
- 生成 Conventional Commits 格式信息:支持常见类型(feat、fix、docs、style、refactor、perf、test、build、ci、chore、revert),支持可选 scope,支持在类型/范围后加 ! 表示破坏性变更,主题不超过 72 字符、使用祈使语气、结尾不加句号。
- 工作项关联(ADO 特有):当提交信息包含 AB#<id> 时,Azure DevOps 会自动将提交链接到工作项。技能会尝试从分支名、用户输入、分支历史提交或 ADO MCP 中识别工作项 ID,并以 trailer 形式添加,而非写入主题。若无法找到,则跳过而不编造。
- AI 署名 trailer:建议使用 Assistant-model trailer(如 Assistant-model: Claude Code)而非 Co-authored-by,以区分辅助与作者身份,并在审计场景中诚实标注 AI 辅助提交。
- 不跳过 pre-commit 钩子:若存在 .pre-commit-config.yaml,钩子会自动运行,其失败是有效信号,禁止使用 --no-verify。
使用方式
该技能以命令形式调用,参数为 $ARGUMENTS。典型工作流如下:
- 查看当前状态(git status、分支、差异统计、最近提交)。
- 如有需要,执行 git add -A 暂存变更。
- 运行 git diff --cached 阅读实际改动。
- 若存在多个不相关变更,建议拆分提交。
- 按 Conventional Commits 格式撰写提交信息。
- 使用 git commit --message "<subject>" --trailer ... 提交,trailer 通过 --trailer 传递,不要用 heredoc 写入正文。
- 使用 git log -1 向用户展示结果。
示例命令:
git add -A
git diff --cached --stat
git commit
--message "fix(parser): handle nested escape sequences"
--trailer "AB#5678"
--trailer "Assistant-model: Claude Code"
git log -1
适用场景
- 在 Azure DevOps 仓库中提交代码,并希望提交历史符合 Conventional Commits 规范。
- 需要将提交与 Azure DevOps 工作项自动关联,保持看板同步。
- 需要诚实标注 AI 辅助提交,以满足审计要求。
- 希望避免跳过 pre-commit 钩子,确保代码质量检查生效。
限制
- 该技能主要针对 Azure DevOps 托管仓库,其 ADO 特有部分为工作项 trailer 和与 Azure DevOps PR 审阅者沟通的约定。
- 工作项 ID 的识别依赖分支名、用户输入、历史提交或 ADO MCP;若无法确定,则跳过 trailer,不进行猜测。
- 关于收费、价格、平台支持范围、具体效果等事实,资料中暂未提供。