Show me your work 是一个面向长时间运行或无人值守工作的决策记录技能,核心目标是留下可审查的决策轨迹。它要求维护单一规范日志:一个 TSV 文件,每行对应一个决策,单元格保持单行,证据使用指针而非段落描述。
用途与格式:日志列为 ts(ISO8601 时间戳)、phase(阶段或工作流)、decision(选择或做了什么,一行)、why(用平实语言说明原因)、evidence(证明链接或路径,如 commit SHA、PR 编号、文件行号、产物、追踪或截图路径)、result(结果或谓词状态,如测试通过、已回滚、像素差异 0、INCONCLUSIVE、open)。可从 references/decision-log-template.tsv 复制表头开始干净日志,文档也给出了示例行。
记录方式:可使用辅助脚本 scripts/log.sh <logfile> <phase> <decision> <why> <evidence> <result>,它会自动打时间戳、首次写入表头、清理多余制表符/换行,并对以 =、+、-、@ 开头的单元格加单引号。也支持用 printf 追加行,但需注意同样的特殊字符。应记录决策点和检查点,而非每个动作:选择的分支、完成并验证的单元、转向或回滚及触发原因、暴露的阻塞、修复的关卡;循环运行每次迭代一行;跳过琐碎内容。
运行与 start 行:一次运行指一个 agent 对话,包括后续轮次及其总结;接续、替换 agent 或新聊天都算新运行。当运行向已有日志追加时,其第一行 phase 为 start,并且在另一个运行的 start 行之后的第一行也用 start。若运行在后续轮次回到日志,先读最后几行判断是否有其他运行写入。start 行需注明此前非本运行写入行的时间范围,证据中注明本运行(如 agent id),且 start 只能用于此目的。
存放位置:默认日志是工作产物而非提交物,放在工作目录的 decisions.tsv,或多个任务并行时放在 .audit/<task-slug>.tsv,并排除在 git 之外。仅当工作足够重要、审查者需要轨迹来信任结果时才提交。
规则:日志只追加;错误调用用新行取代,绝不编辑或删除历史;优先使用已提交脚本产生的证据而非手工一次性证据。
审查与复核:运行结束前,需对照本次运行的会话记录审计日志真实性,检查每行对应真实决策或动作、证据可解析且能证明行内容;未记录但有影响的分支、转向或放弃方案属于缺口,应补行。审计不编辑或删除任何行,错误行用新行取代。随后应启动不同模型家族的子代理进行跨模型审查,标记证据薄弱、跳过验证、事后看有风险的选择以及用户容易忽略的缺口。产出轨迹的运行,每次回复末尾需以“Attention”部分结尾,首行单独写审查模型(reviewed by <model>),然后列出指向具体行或时刻的标记;无标记可写 No flags,但模型名不可省略。审查时可自上而下阅读并追踪证据指针;GitHub 会将提交的 TSV 渲染为表格,终端可用 column -s$'\t' -t decisions.tsv。其他技能可引用此技能名称并让其负责格式,而非重复列定义。
适用场景:长时间无人值守任务、需要向审查者证明决策与验证过程的开发工作、需要结构化决策轨迹的多步骤项目。限制:默认不提交,需主动决定是否纳入版本控制;审计需访问本地会话目录;不记录琐碎动作;文档未说明收费、平台或效果等额外信息。