mcpField
S
show-me-your-work

show-me-your-work

github.com/hachejAgent 工作流160 次安装3 天前更新
代码仓库

关于 show-me-your-work

Show me your work 是用于维护单一 TSV 决策日志的技能,记录简要理由、证据指针和结果。它还规定在交付前依据运行记录审计日志,并请求跨模型复核。

主要功能

  1. 01在统一 TSV 中记录决策
  2. 02追踪理由、证据与结果
  3. 03依据运行记录审计日志
  4. 04请求跨模型复核决策记录

适用场景

  1. 01为项目保留可审阅的决策记录
  2. 02检查证据是否支持所记决策
  3. 03交付前发现风险与遗漏

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hachej/boring-stack --skill show-me-your-work

安装后在 Claude Code 中输入/show-me-your-work确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
references/
decision-log-template.tsv
scripts/
log.sh

详细介绍

展示你的工作

维护一份规范日志。

格式

使用单个 TSV 文件,每个决策占一行。单元格保持单行。证据只提供指针,不写说明文字。

复制 references/decision-log-template.tsv(表头行)以创建一份干净的日志。列如下:

  • ts. ISO8601 时间戳。
  • phase. 阶段或工作流。
  • decision. 选择或完成的事项,用一行说明。
  • why. 原因,用直白的语言说明。如果是某项原则驱动的,请直接说清楚,不要用术语标签。
  • evidence. 能证明该事项的链接或路径:commit SHA、PR 编号、file:line,或制品、跟踪记录、截图的路径。不要写成段落。
  • result. 结果或谓词状态:tests green、reverted、pixel-diff 0、INCONCLUSIVE、open。

示例,措辞直白,让审阅者一眼就能看懂。

ts	phase	decision	why	evidence	result
2026-05-24T09:02:00Z	frame	counted the work first, about 100 components and roughly 75 hours	wanted to know the size before starting a long run	commit 3a9f1c2	found 5 things to sort out before starting
2026-05-24T09:40:00Z	harness	took screenshots of the old version before changing anything	so we can compare old against new and catch any visual change	scripts/snapshot.sh, baseline/	saved 120 reference screenshots
2026-05-24T11:15:00Z	widget	moved the widget styles over without changing how it looks	keep the change small and the result identical	commit 7c21e0a, pixel-diff 0	looks identical, tests pass
2026-05-24T12:30:00Z	widget	threw out a helper's work because its screenshots were blank	checked the real files instead of trusting its summary	worktree reset	reverted, tightened the instructions for next time

记录一行

像向队友说明你做了什么那样写每条记录。使用直白的语言、具体的操作,不要使用 AI 腔或抽象术语(日志文本也适用 unslop 技能)。

使用辅助脚本 scripts/log.sh <logfile> <phase> <decision> <why> <evidence> <result>。它会为 ts 添加时间戳,在首次使用时写入表头,去除多余的制表符和换行符,并在任何以 =、+、- 或 @ 开头的单元格前加一个单引号。也可以直接用 printf 追加一行,但如果单元格内容来自生成文本或用户提供的文本,请留意这些相同的字节。

记录决策点和检查点,而不是每个动作:选择某个分支、完成一个单元并记录其验证结果、因触发条件而转向或回退、发现阻塞问题、修复关卡。对于循环运行,每次迭代记录一行。跳过琐碎且不言自明的事项。

一次运行指一段 Agent 对话,包括之后的轮次及其摘要。交接工作、更换 Agent 或开启新聊天都会开始一次新运行。当一次运行向已有记录的日志追加内容时,该运行的第一行必须使用 start 阶段;另一运行的 start 行之后,该运行写入的第一行也必须如此。因此,某次运行在后续轮次中重新使用某份日志时,必须先读取日志末尾几行,确认自上次写入后是否有其他运行写入内容。start 行要注明本次运行未写入的前序行的 ts 范围,其证据则注明本次运行的身份,例如其 Agent ID。除此之外,不要将 start 用作其他阶段。

存放位置

默认情况下,日志是工作产物,不提交。将其保存在工作目录中的 decisions.tsv,或在多个工作同时进行时保存在 .audit/<task-slug>.tsv,并将其排除在 git 之外。

只有当工作规模足够大、审阅者需要查看过程记录才能信任结果时,才提交日志。

规则

  • 只追加。决策有误时,新增一行取代它。绝不编辑或删除历史记录。
  • 优先使用由已提交脚本生成的证据,而不是手工制作的一次性材料(encode-lessons-in-structure 原则技能)。

根据对话记录审计日志

运行结束、交接工作之前,检查日志是否如实记录。读取当前工作区 agent-transcripts/ 目录下本次运行的对话记录(系统提示中注明了路径)。不要对 ~/.cursor/projects/*/ 使用通配符查找,以免读取无关的私人聊天记录。逐条核对本次运行记录的行与实际发生的事情。每一段记录从本次运行的某条 start 行开始;如果本次运行创建了日志,则从第一行开始;到另一运行的下一条 start 行结束:

  • 检查每一行是否对应真实的决策或操作。
  • 检查每行的证据是否有效,并且能证明该行所述内容。
  • 影响工作过程但未记录的分支选择、转向或放弃的方法,都属于遗漏。补上记录。

更正日志,不要改写经过。审计绝不编辑或删除任何行,即使该行是凭空捏造的也不例外。如果某行既未记录真实的决策,也未记录真实的操作,或其内容或证据有误,就新增一行取代它,说明实际发生的事情并提供可解析的指针。本次审计不检查本次运行所负责的记录段之外的行。如果本次运行的工作表明其中某行有误,也要像纠正其他错误决策一样新增一行取代它。

对操作轨迹进行跨模型审查

交付前,使用与执行任务的模型系列不同的模型启动一个子 Agent。自我审查不能替代这一步。子 Agent 会阅读审计轨迹和本次运行的对话记录,然后指出用户应留意的事项。它不会重做任务,而是检查是否存在不理想或有风险之处。

  • 记录的决策证据薄弱或缺失。
  • 跳过了验证步骤,或声称完成了验证却没有对话记录作为证明。
  • 事后看来有风险的选择(过早行动、扩大范围、掩盖症状)。
  • 用户随意浏览时可能会忽略的遗漏。

凡是产生了操作轨迹的运行,每次回复都必须以一个“Attention”部分结尾。第一行单独写出审查者使用的模型(reviewed by <model>),然后逐条列出各项提示,并指向具体行或时刻。“No flags”是有效值。模型名称不是。

审查操作轨迹

从上到下阅读,跟随证据指针,并抽查内容。GitHub 会将已提交的 TSV 呈现为表格。column -s$'\t' -t decisions.tsv 可在终端中呈现该表格。

编写此技能

其他技能应将其审计轨迹交由此技能处理,而不是自行设计格式。按名称引用此技能,并由它负责格式。不要重述列名。

评论

支持 Markdown