SuperAPI AI 工具集

diagnosing-superpowers

智能体与模型

查看项目

更新于 10-30 16:19

技能介绍

用途

Diagnosing Superpowers 用于在 superpowers 会话出问题后,与人类伙伴一起查明发生了什么,并基于磁盘上的会话记录给出有证据的报告。适用触发场景包括:重复工作、计划被忽略、卡顿、结果不佳、某个技能没有触发等。

核心原则

  • 每条发现都必须引用 path:line,没有引用就没有发现。
  • 每个数字都来自会话记录或实际运行的命令,绝不来自记忆。
  • 该技能只做报告,不做 superpowers 诊断。报告第 7 节只陈述涉及情况即停止,绝不指出技能缺陷或提出修改建议。
  • 人类伙伴施压要求修复也不豁免此限制,应指向 issue 步骤并说明可按需提供 bundle。

工作流程

每一步创建一个 todo。第 5–7 步仅在其声明的条件下运行。

  1. 问题受理:一次只问一个问题,直到能写出问题陈述,明确会话、轮次范围(如已知)、伙伴的预期、实际发生的情况,以及其关心的可观测指标(墙钟时间、token、重复动作、某个具体动作)。"耗时太长"是抱怨,不是问题陈述。记录目标是否为 superpowers bug 报告。

  2. 定位:使用 references/session-discovery.md 将每个会话解析为已验证的绝对文件系统路径。通过引用首个提示和时间戳确认过往会话,列出所有被拒绝的候选及原因,或写"none"。枚举子代理记录。创建 ~/.superpowers/diagnosing-superpowers/<session-id>/,告知伙伴路径,并按模板的溯源规则填写 templates/case.md。

  3. 分诊:自己阅读所报告问题附近的区域。然后按维度并行派出分析子代理,每个子代理获得 case 文件路径、prompts/analyst-common.md 以及 prompts/ 中的一个维度文件:skill-timeline.md、plan-adherence.md、repeated-work.md、stumbles.md、quality-evidence.md、request-conflicts.md、cost-and-time.md。记录很长时按轮次范围拆分维度。丢弃任何未带 path:line 的发现。

  4. 报告:按顺序填写 templates/report.md 的每个部分,写入工作区,展示并给出路径。检查引用内容实际证明了什么,保留支撑性 case;符号链接别名不是冗余副本。

  5. GitHub issues:仅当报告第 7 节说 possible 或 likely,或伙伴要求时。按 references/github-issues.md 搜索开放和已关闭 issue 中的症状。展示匹配项并建议将报告添加到最接近的 issue。若无匹配,填写 templates/issue.md,写入工作区,展示确切文本,仅在批准后创建 issue。gh 无法附加文件;若存在 bundle,将路径给伙伴以便在浏览器中附加。

  6. 导出:仅当伙伴要求 bundle 时;绝不主动构建。若受理目标是 bug 报告,说一次可按需提供已脱敏 bundle,然后等待。询问脱敏级别并说明各自包含内容:skeleton(无工具结果正文)、evidence(仅引用事件的正文)、full。按 templates/bundle-README.md 构建 bundle,派出 prompts/scrub.md,然后 prompts/scrub-audit.md,重复两者直到审计返回 CLEAN。在展示最终脱敏日志、文件列表以及隐私和证据结果之前,完成 bundle 模板的证据检查和核对。仅在批准后归档(zip -r 或 tar -czf)。给出归档路径时,说明其内容,指向脱敏日志查看替换项,并说明脱敏可能遗漏内容:分享前必须审查每个文件。

  7. 相似会话:仅当被要求时。将已确认发现转为签名,按 mtime 和大小列出候选,找到标记行号,按候选并行派出 prompts/similar-session.md,追加报告第 9 节。

快速参考

七个分析维度始终全部运行。下表说明第 3 步自己先读哪个区域,以及裁决时先呈现哪些发现:

  • "耗时太长":先读 cost-and-time、stumbles
  • "为什么做了额外工作?":先读 repeated-work、plan-adherence
  • "为什么这么贵?":先读 cost-and-time
  • "它到底在干什么?"(仍在运行):先读 skill-timeline;在覆盖范围中注明进行中
  • "它忽略了计划":先读 plan-adherence,先看压缩行
  • "技能 X 从未触发":先读 skill-timeline

硬性规则

  • 上下文安全:一行记录可能有一兆字节。每次处理每个会话文件时都遵循 references/context-safety.md。
  • 只读:绝不修改、移动或删除会话文件。
  • 给子代理精确路径:子代理的"当前会话"是它自己的。传递绝对路径和 id。
  • 仅人类提示:钩子输出、系统提醒和工具结果不是伙伴的话。在子代理记录中,"user"是父代理。
  • 不做 superpowers 诊断:报告第 7 节陈述涉及情况即停止。绝不指出技能缺陷或提出修改。
  • 批准门:伙伴看到脱敏日志和文件列表前不归档。伙伴批准确切文本前不创建 issue 或评论。
  • 先受理后分析:伙伴回答前,第 2–7 步都不开始。若其不在,写下问题并停止。为其重构的陈述不是回答。已明确范围的要求——某个具体事件、当前正在运行的内容、或要运行的分析——本身就是陈述:先回答,再提问。整个会话的"为什么"是抱怨。

危险信号

  • "问题很明显,跳过受理" → 问题陈述界定一切。要问。
  • "他们不在,我来重构陈述" → 你无法重构他们想要什么。写下问题并停止。
  • "我现在全面扫描,最后再问" → 无范围的扫描会把预算花在错误问题上。先问。
  • "他们想要 bug 报告,所以我现在就构建 bundle" → bundle 是他们的会话数据打包。仅在他们要求时构建。
  • "小范围定向编辑,无需重构" → 无论多小都不是你说了算。报告证据;分诊方决定。
  • "每 token 价格众所周知" → 未从记录计算的数字是编造的。引用或丢弃。

适用场景与限制

适用于 superpowers 会话的事后复盘与证据收集,尤其是需要向分诊方或 issue 跟踪方提供可核查证据的场景。限制包括:只读操作,不修改任何会话文件;不做根因诊断或修复建议;bundle 导出和 issue 创建均需明确批准;受理前不进行分析。