智能提交助手
根据仓库惯例生成提交信息并安全提交代码变更。
技能明确禁止未经同意 amend、force-push、push、跳过 hooks、跳过签名以及回退或丢弃用户改动,并要求发现疑似 secrets 或生成物时询问用户;这些措施降低了外部影响和破坏风险。扣分在于仅笼统要求检查 secrets,没有具体的数据流、隔离、回滚方案,也要求在仅有未暂存改动时直接执行 git add -A,授权边界仍不够细。
工作流从检查提交规范、状态、暂存区 diff 到提交后确认,步骤一致且包含无改动、hooks 修改或阻塞时的反馈。静态材料未证明命令实际可运行,也未充分处理空的 user.name、异常 git 状态、提交失败或复杂路径等边界,因此受静态上限限制并扣分。
触发词明确,目标用户和核心场景是提交 staged 或 unstaged changes,并说明了暂存策略及提交消息格式。扣分在于未定义非 Git 仓库、无法识别规范、中文提交约定、跨平台 shell 环境或不适合自动暂存的场景,语义边界和中国用户环境适配证据有限。
文档结构清晰,包含 front matter、指南、分步流程、命令示例、限制和异常处理提示;仓库 README 与 LICENSE 提供了 MIT、Microsoft 归属和仓库背景。扣分在于技能自身没有版本、变更日志、维护责任、更新路径、安装依赖说明或 FAQ,且其维护状态无法仅由这些文件确认。
该技能明确产出符合仓库风格的提交消息并完成提交后核验,核心任务定义直接可用,且包含 subject 长度、body 和 issue 引用规则。静态审查不能验证实际提交结果或消息质量,且用户仍需处理询问、hooks 后续修改和失败恢复,因此按静态上限保守扣分。
SKILL.md 的命令、规则和预期流程均可由源文件审计,README、LICENSE、package.json 及 CI 提供了仓库身份、许可证和一般测试/提交钩子背景。没有专门覆盖该技能关键路径的测试或第三方执行证据,故不超过静态上限并扣分。
- 该技能会在仅有未暂存改动时执行 git add -A,可能把用户未明确选择的文件纳入提交;应在执行前确认范围。
- 提交、hooks 和签名依赖本地 Git 配置与环境,文档未给出跨平台或配置缺失时的恢复指导。
- 未提供专门验证该技能行为的测试证据,以上结论仅基于静态源文件审查。
它能做什么 & 适用场景
这是一个用于提交 Git 代码变更的 Agent Skill,适用于用户要求提交、保存或签入代码时。它会查看近期提交和用户自己的近期提交,以识别仓库的提交信息风格。随后它检查工作区状态,决定使用已暂存变更,或在仅有未暂存变更时暂存全部变更。它根据待提交差异生成不超过 72 个字符的主题行,并执行提交及提交后的状态确认。
它运行 git log --oneline -20 和按当前 Git 用户筛选的 git log --oneline --author="$(git config user.name)" -10 来分析提交惯例;运行 git status --short 检查工作区;在只有未暂存变更时运行 git add -A;运行 git diff --cached --stat 和 git diff --cached 读取待提交内容;生成符合仓库风格的提交主题及必要时的正文;运行 git commit;提交后再次运行 git status --short 和 git log --oneline -1。它还会留意明显的密钥或不应提交的生成文件,并在发现风险、暂存范围或提交信息存在疑问时询问用户。
- 开发者已经修改代码,想让工具根据当前仓库惯例生成提交信息并完成提交。
- 用户只有未暂存变更,希望一次暂存全部工作并创建提交。
- 用户已有暂存变更,希望只提交这些变更而不纳入其他未暂存内容。
- 团队使用特定的提交格式,用户希望新提交与近期仓库历史保持一致。
- 提交前发现可能的密钥或生成文件,用户需要先确认是否应纳入提交。
优缺点一览
- 会同时参考仓库近期提交和当前用户的近期提交来拟定提交风格。
- 明确禁止未经许可的 amend、force-push、push、reset、revert 和丢弃用户变更。
- 不会跳过 pre-commit hooks 或提交签名。
- 提交后会检查状态并显示最新提交,且会说明 hooks 阻止或改写文件的情况。
- skill 文件没有记录独立安装流程或支持的平台清单。
- 源文件只要求检查明显的密钥和生成文件,没有说明使用专门的秘密扫描器。
- 仅在有复杂差异时才建议提交正文,未提供更细的提交信息模板。
- 源材料没有提供该 skill 的测试套件或跨平台验证证据。
如何安装
该仓库包含 61 个独立 skill;本 profile 仅针对 src/vs/sessions/skills/commit/SKILL.md。README 没有记录该 skill 的独立安装步骤或目标客户端目录,因此具体安装方式未文档化。仓库源代码整体采用 MIT 许可证。
如何使用
在已存在 Git 仓库且本地有代码变更时,向 Agent 发送例如“commit changes”“create a commit”“save my work”或“check in code”。如果已有暂存变更,skill 只处理这些变更;如果只有未暂存变更,它会暂存全部变更。没有变更时,它会告知用户并停止;遇到暂存范围、提交惯例、提交信息或疑似风险文件不明确时,应先回答其询问。