Skip to content

feat(skills): 新增 run-forensics —— 从录像里回答「上一次运行为什么那么做」 - #130

Open
xizhuomengcontin wants to merge 1 commit into
jnMetaCode:mainfrom
xizhuomengcontin:add-run-forensics-skill
Open

xizhuomengcontin wants to merge 1 commit into
jnMetaCode:mainfrom
xizhuomengcontin:add-run-forensics-skill

Conversation

@xizhuomengcontin

Copy link
Copy Markdown

新增一个 skill:run-forensics —— 追问一次已经跑完的运行时,从录像里读答案,而不是让模型回忆。

利益披露:OrcaReplay 是我维护的(Apache-2.0,npm,Node 20+,无付费档、无账号、无托管服务)。本 skill 驱动的就是它。

为什么是这个 skill

让 agent 解释「你刚才为什么那么做」,它是在总结自己的上下文窗口——工具返回值、shell 退出码、没人提过但确实被改动的文件,早就不在窗口里了。于是答案来得流畅、笃定、偶尔是错的。这比「我不知道」更糟:它会被相信,然后被写进 commit message。

skill 的全部内容就是强制一条规则:问的是已经发生的事,就先读录像。

两个国内开发者的具体痛点

README 说「中国开发者痛点优先」,所以把这两条写进了 skill 正文,而不是放在 PR 里说漂亮话:

  1. 重跑一次会话是零 token 成本的。 回放时不联系模型提供方,录下来的响应逐字节放回去。调 prompt、验证失败能不能复现、给同事演示——都不再按次计费。用中转/网关按量付费的人最直接受益。
  2. 「我到底连到了哪个端点」变成可查的事实。 各家工具读的环境变量并不统一:有的读 OPENAI_BASE_URL,有的只认 OPENAI_API_BASE,有的在配置里钉死、环境变量完全无效。录像记的是实际发出去的请求,所以「明明设了中转地址却还是走了官方」不用靠猜。

三条不能说的话,写在 skill 里

  • 回放对上了不等于确定性结论。 它证明这次录像能复现,不是模型稳定。
  • egress=blocked 只挡模型提供方的出网,不是网络隔离。 回放时录到的工具调用照样真执行——录到过 curl 就会再次访问网络。回放不是沙箱。
  • 默认适配器不捕获 embedding 调用。 RAG 的检索那一步不在 trace 里,哪怕对话轮次完整。

分类这件事想请你定

它既不是翻译,也不是上游历史保留,所以按排除法放进了「中国原创」那张表。但它和前四个 chinese-* 不同——那四个是手动调用的参考资料,这个是自动触发的工具型 skill,性质更接近 mcp-builder / workflow-runner。

如果你觉得该单开一类、或者改名、或者改成手动调用,说一声我就改。计数我已经按「原创 5 个、全仓 21 个」全仓同步了(简繁两版 README、GEMINI.md、docs/README.aider.md 共 4 个文件),换分类的话我重新同步一遍。

依赖外部 CLI 这点

skill 需要 npm i -g orcareplay。开 PR 前确认过这在本仓是可接受的:workflow-runner 同样依赖外部项目(agency-orchestrator 的 YAML 格式)。

校验

  • frontmatter 四个必填字段齐全(name / description / version / license),对照 ci.yml 里的检查逻辑本地跑过。
  • scripts/audit.sh 有 3 个 P0 失败(hooks/run-hook.cmd 不可执行、brainstorm server.cjs 漂移、dot 图孤儿节点)——这三个在干净 main 上一模一样,我把 skill 移走后重跑确认过,不是本 PR 引入的,也没顺手改。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant