弄了一个git-commit skill,根据我个人经验配置的,欢迎各位佬友使用和提出意见

看着内容很详细,不过我都是直接一句话让AI干了,你做这个SKILL,是之前遇到过什么痛点吗

1 个赞

我想每次提交的时候,都总结出feat、fix等内容,便于以后追溯问题,所以才弄了一个skill

这个问题需要你在claudecode中的配置文件中加入这个(哈雷佬那里看到的解决方法):

"attribution": {
    "commit": "",
    "pr": ""
}
4 个赞

我让AI读 如何维护更新日志 页

持久化提交规则

2 个赞

description太长了,废话有点多

另外,我个人觉得这类任务不需要专门写一个skill,
在 AGENTS.md 中简要说明一下即可,例如,commit message 遵循 conventional commit 规范

而且 code review 和 git commit 耦合在一起了,类型检查啥的你可以在项目的 AGENTS.md 中声明

1 个赞

现在少有见到这种只有一个文本页面专门讲一件事的网站了

我都固定一句提示词搞定:“整理未提交修改 分类后commit and push“

几十万行以下的项目,只要不是多人协作,现在连工作树都不管理了,只管嘎嘎并发,commits的分类比精致女孩都精致 :laughing:

1 个赞

太鸡毛麻烦了:man_facepalming:,又长又麻烦。:worried:

我的经验就是只允许大模型进行git的只读操作,
绝对禁止进行git写操作。

鬼知道大模型啥时候犯傻,一波就能给你全带走。

1 个赞

不知道佬有没有遇到 conventional commit 时,若 body内容用多列、多行展示时 会不会出现 \n 的问题?关键这个还是 偶发 的。比如:

  • 理想的
style(css): tune select control sizing

- Restore the navigation sort control to the default desktop width
- Keep desktop options compact and mobile controls touch-friendly
- Preserve the game series filter as a smaller independent control

Co-authored-by: Cursor <cursoragent@cursor.com>
  • 实际的
style(about): compact profile panel layout
- reduce profile panel padding, spacing, and typography for a tighter page header\n- rebalance the desktop grid so the text content remains the visual focus\n- scale the logo responsively without letting the visual column determine panel height\n- tighten mobile spacing while preserving the profile content and static logo treatment

我在skill中就算加了很多安全边际、提交前先检测 \n 是否出现等等很多限制,可有时候还是会出现。用ai优化过很多次,可还是偶尔发生

  • 原因简述
\n 的根因是多行提交消息在 Agent、UI 或工具传递过程中被当作转义字符串处理,但没有还原成真实换行;Git 会忠实保存这些字符,所以最终提交中出现了字面量 \n。
Skill 可以规定正确格式,但只有在提交前后检查实际消息内容,才能发现这类传输和序列化问题

不知道佬有什么好建议?

仅仅文档软门控,任何 model 和 harness 本体都会出问题

规则类,能抽象出元模型的,脚手架门控 + githooks 就行了,比如场景用的 commit head 的conventional style 范式与 head 的无序标题(最好再抽象元类型比如修改/执行/审查)

(有点没读清题目,不过同规则变体,行格式也同样 :bili_062:)
不过最简单的是写入 AGENTS.md 让每次 commit 都以写入临时文件 -f 执行,不过也需要门控防止假阳性

2 个赞

这个我也有遇到,我是常用VSCode Copilot。我的解决方案就是用插件提供的 MCP 来做 git add 和 commit,用上这俩工具之后就没遇到过了。
如果佬不用 Copilot 也可以参考一下这个思路,自己写一个 commit 工具处理行内 ‘\n’ 来供模型调用。

1 个赞

起初我以为只要简单的调整一下就可以了,在用ai优化的时候才了解到只用skill无法那么严格限制,也建议了使用hook等更严谨的方法,看来还得得多学习。

1 个赞

我现在用 cursor桌面端 比较多,偶尔发生,codex不多,但目前还没遇到过这个问题,有点神奇。用的同一个模型

直接跟ai说,commit message就可以了…