跳转到内容
关系图谱

why(pstack)

423 字 2 分钟

属性 8
repo
pstack
skill
why
source
pstack/skills/why/SKILL.md
invoke
user
phase
research
cost
high
status
stable
local
missing
一句话

考据代码为什么长成这样:git 锚点打底,按可用 MCP 并行派七类证据 investigator,synthesizer 汇成带置信分级和来源清单的报告。

何时用 ​

  • 适合:「为什么重试上限是 5」「为什么还没开这个 flag」;回归、postmortem、数据阈值来源;防御性代码的来历。
  • 不适合:问机制(用 pstack-how);证据类 MCP 一个都没有时覆盖会打折但 git 永远在。

怎么用 ​

text
/why 重试上限为什么定成 5?当初的理由现在还成立吗?
  1. 明确目标和问题;目标含糊就给最合理解读并声明。
  2. 建 code anchor:git blame、git log --follow、PR 号、工单号,连同 gh pr view 的正文与评论。
  3. 盘点可用 MCP 并映射到七类证据(源码、工单、长文档、IM、infra 可观测、错误跟踪、数仓),每类一个 investigator 并发,配 references/sources/ 的剧本;目标像防御性代码就加 incident-postmortem 剧本。
  4. 一个 synthesizer 按 references/epistemics.md 的置信框架汇总,区分事实与推断。
  5. 呈现报告;若接下来要改代码,把结论转成 Preserve/Change/Avoid/Risk 约束集。

产出 ​

  • 结构化报告:What We Found、What We Can Reasonably Infer、What We Don't Know、Sources Consulted(含查空的来源)、Confidence Summary。

要点与坑 ​

  • 每个子代理都是 agent mode(非 readonly,否则 MCP 被剥);跳过某类证据必须写明理由进 Sources Consulted。
  • 「没人写过原因」是有效答案;最新 commit 不等于权威,警惕 recency bias。
  • 重度依赖 MCP 与 Cursor 子代理;Devin CLI 里可借鉴「按证据类别分工加置信分级」。

关联 ​