Show me your work 是一个面向智能体工作过程的决策留痕技能,用于在 Pstack 决策轨迹、无人值守运行、对话记录审计或复核已完成工作证据等场景中,保留一份可追溯的记录。
用途 该技能主张维护一份规范日志,默认每个决策一行,记录“做了什么、为什么这样做、证据在哪里、结果如何”,方便评审者快速核对工作是否真实发生、依据是否成立。
格式 日志为单个 TSV 文件。起始可从 references/decision-log-template.tsv 复制表头。列包括:ts(ISO8601 时间戳)、phase(阶段或工作流)、decision(所选或所做,一行)、why(用平实语言写原因,不用术语标签)、evidence(证明用的链接或路径,如提交 SHA、PR 编号、file:line、工件/轨迹/截图路径,不写段落)、result(结果或谓词状态,如测试通过、已回滚、像素差异 0、INCONCLUSIVE、open)。单元格保持单行。文档给出四行示例,展示计数、旧版截图基线、样式迁移与像素一致、以及因截图空白而回滚他人工作等情形。
记录方式 建议按“向队友说明做了什么”的口吻写,用平实具体的话,不用 AI 腔或抽象行话。可使用目录内的 scripts/log.sh <logfile> <phase> <decision> <why> <evidence> <result>,它会补时间戳、首次写入表头、清理多余制表符和换行,并对以 =、+、-、@ 开头的单元格加单引号前缀;直接用 printf 追加也可以,但需注意同样字节问题。只记录决策点与检查点,例如选择分叉、单元完成及验证结果、转向或回滚及其触发、暴露的阻塞、修复的关卡;循环运行每次迭代一行;跳过琐碎自明事项。一次运行指一次智能体对话(含后续轮次与总结),交接、替换智能体或新对话都算新运行;为已有行的日志追加时,首行阶段用 start,并写明此前未由本运行写入行的时间范围与自身标识(如 agent id),该阶段不作他用。
存放 默认日志是工作产物,不提交;放在工作目录 decisions.tsv,或多个任务并行时放 .audit/<task-slug>.tsv,并排除在 git 之外。仅当工作足够重要、评审者需要轨迹才能信任结果时才提交。
规则 日志只追加;错误判断用新增行取代,绝不编辑或删除历史。证据优先来自已提交脚本而非手工一次性产物。
审计 运行结束交付前,要核对日志是否属实:通过宿主当前对话 API 读取本次运行对话记录,或调用 /recall 在本仓库的 Codex 与 Claude Code 会话中定位,不要遍历 ~/.claude/projects/*/ 或全部 Codex 会话以免读到无关私人对话。按本运行的行逐段对照实际发生的事,检查每行是否对应真实决策或行动、证据是否能解析并支撑其声明;遗漏影响工作的分叉、转向或放弃方案属于缺口,应补。审计不改不删行,包括虚构行;若某行既非真实决策也非真实行动,或声明与证据有误,新增一行取代并给出可解析指针。审计不检查其他运行段的行,但若本次工作表明其有误,同样以取代方式处理。
跨模型评审 交付前,通过 /swarm 的跨供应商路由,在不同模型家族的模型上派生子代理,读取审计轨迹与本次对话记录,标出用户应关注之处:证据弱或缺失的决策、被跳过或无证明的验证步骤、事后看有风险的选择(过早、范围蔓延、掩盖症状)、容易被随意浏览漏掉的缺口。自评审不能替代。产生轨迹的运行在每次回复中包含“Attention”段,先单独一行写评审模型(reviewed by <model>),再列具体指向行或时刻的标志;“No flags”是有效值,但不能只写模型名。
查看与组合 自上而下阅读,跟随证据指针抽查;GitHub 可将提交的 TSV 渲染为表格,终端可用 column -s$'\t' -t decisions.tsv。其他技能应引用本技能名并让其拥有格式,不要重述列定义。