如果把what-did-ai-do放进候选清单,不能只看热度;它的定位是您的 AI 更改了代码,知道实际发生了什么变化。团队若要把它用于软件开发,应先处理依赖、接口和异常处理往往比主路径更影响采用,否则试用结果很容易失真。我建议在隔离分支完成一个可回滚的小任务,重点记录安装步骤、接口契约、测试结果和错误信息,再与现有方案比较。它更像给需要可检查开发流程而非单次演示的工程师准备的可审查方案,是否长期使用应由试跑数据决定。

名称:艾做了什么 描述:>- 从 Git 证据中简要准确地总结代码更改。在 AI 编码剂之后使用 当用户询问更改内容时编辑代码,请求简洁的更改摘要,准备提交 或移交,或要求推送或发布更改,并且需要对推送内容进行简短说明。
AI 做了什么
用简单的语言解释已完成的代码更改,而不需要发明意图。保留最后的总结 足够短,可以立即扫描。
建立证据
遵守存储库说明并首先完成请求的编辑和验证。
仅选择一个汇总范围:
auto。它首先选择工作树,然后
outgoing commits, and reports mode: none when the repository is clean and synchronized.outgoing,以便摘要仅涵盖推送之前的提交
push destination (the script prefers @{push} and falls back to @{upstream}). Pass
--base <rev> to compare against an explicit ref instead, such as a known push target or
the commit the session started from.working。last。运行:
python3 <skill-directory>/scripts/collect_change_context.py
--mode <auto|outgoing|working|last> [--base <rev>]
标头报告 working changes、outgoing commits 和所选的 mode,因此您可以
查看排除了哪些范围。提及排除的传出提交或未提交的工作
对用户很重要。
在系统上使用 python 代替 python3,例如 Windows,其中只有 python
可用。
在总结之前阅读实际的相关差异:
git diff --cached 和 git diffgit diff "<target>...HEAD" --,其中 <target> 是基础,推送
target, or upstream reported by the script; quote it, because Git allows characters such as
; and $ in branch namesgit show --format=fuller HEAD对于较大的差异,请首先读取统计信息,然后读取重要文件的每个文件的差异, 而不是立即加载整个差异。
检查报告为未跟踪的重要新文件,因为普通 git diff 不包括
他们的内容。
不要使用提交主题或文件名作为行为声明的唯一证据。
处理推送请求
当用户明确指定时,执行存储库的正常提交、验证和推送工作流程
请求推送。在推送之前,立即收集 outgoing 证据。推送成功后,
报告目标分支并总结相同的传出范围。
切勿将已暂存、未暂存或未跟踪的文件描述为已推送。仅当以下情况时才单独提及它们: 它们会严重影响用户的理解。切勿仅仅因为用户请求而推送 总结。
写总结
默认为用户的语言。描述结果而不是逐个文件的日记。
使用此形状,除非用户要求其他格式,将标题和标签转换为 用户的语言:
Change summary
- [Key change from the user's or system's perspective]
- [Second change only when needed]
- Validation: [checks actually run and their results]
应用这些限制:
解决边缘情况
outgoing没有上游分支,说明推送范围无法建立,或者重新运行
当推送目标已知时,使用 --base <remote>/<branch>。auto报告mode: none,则表示当前没有变化;仅当用户运行 last
显然想要最近的历史。仅在安装或适配时读取 references/compatibility.md 此技能适用于 Codex、Claude Code 或 Gemini CLI。