用途:commit 是一个用于生成上下文化 Git 提交的技能,用户在对话中提供提交标题(如 /chalk:commit fix: boolean logic error in expression.clj),并说出 commit this、commit、make a commit 等指令时使用。
主要能力与流程:
- 先加载依赖技能 chalk:voice、chalk:mindmap、chalk:code-comments,提交正文须以 chalk 声音撰写,采用“引导句加树状结构”而非散文,正文不得包含标题。
- 暂存相关改动:每次提交须是原子的、内聚的变更单元,不相关改动不得一起暂存;行为保持型重构与行为推进型改动尽量分开;不相关修复彼此独立。
- 清理已暂存代码中的注释:委托 weed-comments 代理,仅传暂存文件路径,不告知改动目的;其删除操作直接生效并由你暂存,不自行审查恢复。
- 回顾会话历史提取改动背后的推理:面向未来 git blame 的读者,说明为何存在及为何这样做,不描述改了什么。
- 起草正文并写入文件,委托 weed-prose 代理审阅,仅传路径与“提交正文”定位,不传会话;其删减直接生效,其指出的 Gaps 须逐条原样转述给用户。
- 阻塞性缺口(如缺失 why now)必须在提交前解决,用补充句子回答并重新送审,循环直到无阻塞缺口。
- 最终提交格式为标题、空行、正文;建议加入 Co-Authored-By 头。
议题引用:完全解决用 (resolves #N),部分推进用 (#N)。chalk 激活时在正文页脚写 Refs #123,提交后直接更新 chalk 评论,无需先询问。
限制:正文不得描述具体改动;不得编造缺失的 why now;未提供价格、平台、安装命令等额外信息。