diagnosing-superpowers 是什么?

diagnosing-superpowers 是 Superpowers 生态中的一个“事故调查”Skill。它的官方描述非常直白:Use when a superpowers session went wrong and your human partner wants to know why。

它和普通日志查看工具的根本区别在于纪律。普通工具可能让你“看看日志找找问题”,而这个 Skill 的核心原则是:Every finding cites path:line. No citation, no finding——每一条结论必须引用具体文件的某一行,没有引用就没有结论;每一个数字必须来自会话记录或你实际运行过的命令,不能凭记忆。

它明确划定了自己的边界:它报告,不诊断。它不判断“Superpowers 哪里写错了”,只记录“这次会话里实际发生了什么”。是否构成 Superpowers 的缺陷,由 triage 报告的人或维护者决定。

diagnosing-superpowers 的主要功能

问题受理(Problem Intake)。它不会直接开始分析。第一步是问你问题,一次一个,直到你能写出一句清晰的陈述:哪次会话、哪个轮次范围、你期望什么、实际发生了什么、你在意哪个可观测指标(墙钟时间、token 数、重复动作、某个具体动作)。“太慢了”是抱怨,不是问题陈述。

会话定位(Locate)。把会话解析为已验证的绝对文件路径。对于历史会话,要求引用它的第一条 prompt 和 timestamp 来确认,并列出所有被拒绝的候选及原因。

七维并行分析(Triage)。这是核心。它派出 7 个分析子代理,每个负责一个维度,并行读取会话记录:

  • skill-timeline:技能触发时间线
  • plan-adherence:计划遵守情况
  • repeated-work:重复劳动
  • stumbles:磕绊/反复试错
  • quality-evidence:质量证据
  • request-conflicts:请求冲突
  • cost-and-time:成本与时间

报告生成(Report)。按模板填写报告,写入工作区,展示给你,并给出路径。它要求检查引用的内容实际证明了什么,并保留支撑案例。

GitHub Issue 草稿(按需)。当报告显示问题“可能”或“很可能”是 Superpowers 的缺陷,或你要求时,它搜索已有 issue,展示匹配项,建议把报告加到最接近的 issue 下。如果没有匹配,它填写 issue 模板,展示精确文本,在你批准后才创建。

脱敏包导出(按需)。只有你要求时才构建。它提供三种脱敏级别:skeleton(不含工具结果正文)、evidence(仅引用事件的正文)、full。构建后运行 scrub 和 scrub-audit,重复直到审计返回 CLEAN。只有你批准后才打包。

diagnosing-superpowers 的核心特色

“取证”纪律,而非“诊断”野心。这是它最独特的设计。大多数 AI 诊断工具会直接告诉你“问题出在 X,你应该改 Y”。这个 Skill 明确拒绝这样做。它的职责是收集并呈现证据,判断权留给人类。Red Flags 表里有一条:“This is clearly a bug in skill X → Not your call. Report the evidence; the triager decides.”

上下文安全规则。会话记录的一行可能包含 10 万+ token(工具结果、图片、hook payload)。Skill 的硬规则是:绝不对会话记录直接 cat 或 grep 内容。先获取行号和计数,再从特定行提取小字段。读取前先检查文件大小和行数。

只读,不修改。会话文件永远不被修改、移动或删除。

只把人类输入的 prompt 当作“用户请求”。Hook 输出、<system-reminder> 块、工具结果都会以 user 角色出现。但只有人类打字的 prompt 才计入轮次编号和请求冲突分析。在子代理记录中,“user”是父代理。

版本标识。该 Skill 标记为 v1.0.0,在 skills-hub.ai 上标注为“Unsigned, install at your own risk”,没有密码学签名。中文版 Superpowers-ZH 也收录了它,并做了一处有意偏离:issue 目标是中文版仓库而非上游 obra/superpowers,因为“你跑的是译文,问题先在这里分流”。

diagnosing-superpowers 可以用来做什么?

搞清楚一次“感觉不对”的会话到底发生了什么。你让 Superpowers 做一件事,它跑了很久、花了很多 token、反复做同一件事,或者某个本该触发的技能完全没反应。你问它“刚才到底怎么了”,它读取记录、分析、出报告。

为 Superpowers 维护者准备一份可操作的 bug 报告。如果分析结果显示可能是 Superpowers 的问题,它可以搜索已有 issue、生成 issue 草稿,或者打包脱敏的会话材料供维护者 triage。

复盘一个特定的历史会话。如果你记得会话 ID 或路径,可以指定它来分析,而不是只能看当前会话。

不适合的场景:你只想看普通日志(用 cat 或 less 更快);你希望 AI 直接告诉你“怎么修 Superpowers”(它明确不做);你不想让它读取完整的会话记录(虽然它有脱敏和上下文安全规则,但分析本身需要读取)。

diagnosing-superpowers 适合哪些人?

  • Superpowers 的日常用户:会话跑偏了,想知道为什么,而不是继续盲目重试。
  • 需要向维护者报告问题的贡献者:希望 bug 报告有证据支撑,而不是“它不好用”。
  • 调试 AI 工作流的人:需要理解一次 Agent 会话中技能触发、计划执行、成本消耗的实际轨迹。
  • 使用中文版 Superpowers-ZH 的用户:中文版也收录了这个 Skill,issue 分流到中文仓库。

不太适合:不使用 Superpowers 的人(这个 Skill 分析的是 Superpowers 的会话记录);只想快速看日志的人;以及期望 AI 直接给出修复方案的人。

diagnosing-superpowers 如何安装?

方式一:通过 skills CLI 安装(推荐)

npx skills add https://github.com/obra/superpowers --skill diagnosing-superpowers

或通过 skills-hub.ai 的 CLI:

npx @skills-hub-ai/cli install superpowers-diagnosing-superpowers --target claude-code

方式二:通过 Superpowers 插件安装

/plugin add https://github.com/obra/superpowers

这会安装 Superpowers 全套技能,包括 diagnosing-superpowers。

方式三:手动克隆

git clone --depth 1 https://github.com/obra/superpowers.git /tmp/superpowers
mkdir -p ~/.claude/skills
cp -r /tmp/superpowers/skills/diagnosing-superpowers ~/.claude/skills/diagnosing-superpowers

复制后重启 Claude Code。

中文版用户:中文版 Superpowers-ZH 也包含这个 Skill,issue 目标指向中文仓库。

diagnosing-superpowers 怎么使用?

触发方式:你不需要记住命令。当你对 AI 说类似“figure out what went wrong with superpowers in this session”或“为什么刚才那轮这么慢/这么贵/反复做同一件事”时,Skill 会被匹配加载。

基本流程(七步):

  1. 问题受理:AI 问你问题,直到形成清晰的问题陈述。
  2. 定位会话:解析到文件路径,确认历史会话,列出被拒绝的候选。
  3. 分诊:读取问题区域,派出 7 个分析子代理并行分析。
  4. 报告:填写报告模板,写入工作区,展示给你。
  5. GitHub Issue(按需):搜索已有 issue,生成草稿,你批准后才创建。
  6. 导出(按需):问你脱敏级别,构建 bundle,scrub + audit 循环直到 CLEAN,你批准后才打包。
  7. 相似会话(按需):把确认的发现变成签名,搜索其他会话中是否有类似模式。

快速路由表(根据抱怨选择分析重点):

抱怨 先读什么,报告先说什么
“太慢了” cost-and-time, stumbles
“为什么做了多余的工作” repeated-work, plan-adherence
“为什么这么贵” cost-and-time
“它到底在干什么” skill-timeline
“无视了计划” plan-adherence
“技能 X 完全没触发” skill-timeline

diagnosing-superpowers 使用技巧

不要跳过问题受理。你可能会觉得“直接看日志不就行了”。但 Skill 的设计逻辑是:没有清晰的问题陈述,分析会失去焦点。它需要知道你具体在意什么(时间?token?重复动作?),才能有针对性地读记录。

注意上下文安全。如果你自己尝试读取会话记录,不要直接 cat 或 grep 整个文件。一行可能包含 10 万+ token 的工具结果,会直接撑爆你的上下文窗口。用 wc -l、grep -n 获取行号,再用 sed -n Np | cut -c1-500 提取片段。

理解“它只报告,不诊断”。如果报告说“发生了 3 次重复读取同一个文件”,这不等于“Superpowers 有 bug”。可能是模型行为、可能是工具配置、可能是你的 prompt 导致的。判断权在你或维护者手里。

GitHub issue 和导出都是“按需”的。它不会自动创建 issue 或打包数据。如果你只想看分析结果,它不会做额外的事。如果你想要 bug 报告,明确说“帮我整理成 issue”。

diagnosing-superpowers 收费吗?

免费且开源。它是 obra/superpowers 仓库的一部分,遵循 Superpowers 的开源许可。Skill 本身不收费。你只需要为使用的 AI 编码助手(Claude Code 等)支付订阅费用。

skills-hub.ai 的页面标注了“Unsigned, install at your own risk”,意思是它没有密码学签名,安装前建议自己审查 SKILL.md 内容。这不影响收费状态。

diagnosing-superpowers 的优点与缺点

维度 优点 缺点
证据纪律 每条结论强制 path:line,没有引用就没有结论,减少臆断 需要 AI 严格遵循,如果模型偷懒可能遗漏引用
职责边界 只报告不诊断,把判断权留给人类,避免 AI 越界 如果你期待“直接告诉我怎么修”,会失望
分析维度 7 个维度并行覆盖技能触发、计划、重复、成本等 并行子代理需要模型支持,某些环境可能降级
安全设计 只读、上下文安全、人类审批门控、脱敏审计循环 读取会话记录本身仍有隐私考量,脱敏是“尽力而为”
生态集成 与 Superpowers 深度集成,中文版有分流机制 只适用于 Superpowers 体系;不分析其他 Agent 框架
版本状态 v1.0.0,Tessl 质量评分 76/100,内容 96%,验证 16/16 通过 未签名;部分引用的模板/文件在 bundle 中缺失(Tessl 指出 progressive disclosure 扣分点)

diagnosing-superpowers 与同类工具对比

vs 直接读会话日志。直接读的问题是:你不知道该看哪里、一行可能撑爆上下文、没有分析框架。这个 Skill 提供问题受理、七维分析、证据引用纪律,把“看日志”变成“有结构的调查”。

vs 通用 AI 调试提示词(“看看日志告诉我出了什么问题”)。通用提示词没有强制证据引用,AI 可能给出“看起来是 X 的问题”但没有具体行号。这个 Skill 的硬规则是:没有 path:line,结论被丢弃。

vs Superpowers 的其他 Skill。Superpowers 有一套工作方法论 Skill(TDD、调试、代码审查等)。diagnosing-superpowers 是元层面的:它不帮你写代码,它帮你理解“刚才帮你写代码的那次会话发生了什么”。

diagnosing-superpowers 常见问题 FAQ

Q:它和 Superpowers 是什么关系?
它是 Superpowers 仓库中的一个 Skill,专门用于分析 Superpowers 会话记录。它不分析其他 Agent 框架的会话。

Q:它会自动修复 Superpowers 的问题吗?
不会。它明确说“You report; you do not diagnose superpowers”。它只呈现证据,是否构成 bug、是否要改,由人类或维护者决定。

Q:它会读取我的完整会话记录吗?
它会读取,但有严格的安全规则:上下文安全(不直接 cat/grep 内容)、只读、脱敏导出时有审计循环。如果你对隐私极度敏感,可以在使用前了解它读取的路径(~/.claude/projects/... 或对应 harness 的存储位置)。

Q:中文版和英文版有什么区别?
中文版 Superpowers-ZH 收录了这个 Skill,唯一有意偏离是:GitHub issue 目标是中文仓库 jnMetaCode/superpowers-zh,而不是上游 obra/superpowers。因为“你跑的是译文,问题先在这里分流,确认是上游行为再转报”。

Q:它支持哪些 AI 工具?
它遵循 Agent Skills 标准(SKILL.md),理论上任何支持该标准的工具都能用。官方主要面向 Claude Code,但也列出了 Codex CLI、Cursor 等兼容工具。

Q:安装时提示“Unsigned”有风险吗?
skills-hub.ai 标注它没有密码学签名,意思是无法验证内容与发布者意图一致。建议安装前阅读 SKILL.md。Tessl 的安全评估报告称“未发现已确认的安全问题”,但指出有 44 个静态警报均为误报,且报告未进行运行时沙箱执行。

diagnosing-superpowers 综合评价

diagnosing-superpowers 解决的是一个元层面的问题:当 AI Agent 的工作流本身出了问题,你需要的不是“再试一次”,而是“搞清楚刚才发生了什么”。

它的核心价值不在“AI 能分析日志”——那太简单了。它的价值在于证据纪律和职责边界。强制 path:line 引用让分析从“我觉得可能是”变成“记录第 2341 行显示这里重复读取了 3 次”。只报告不诊断让 AI 不越界,判断权留在人类手里。七维并行分析提供了一个结构化的框架,而不是随机浏览日志。

它的局限在于适用范围:只对 Superpowers 会话有效。如果你不用 Superpowers,它帮不上忙。另外,它依赖模型严格遵循指令——如果模型在分析时偷懒、遗漏引用,报告的质量会下降。Tessl 的评估也指出,它引用的部分模板和 prompt 文件在 bundle 中缺失,可能影响 progressive disclosure 的完整体验。

对于 Superpowers 的日常用户,尤其是那些遇到“会话跑偏但不知道为什么”的情况,这个 Skill 提供了一条有纪律的路径:说清楚问题 → 定位记录 → 七维分析 → 带证据的报告。它不会让 Superpowers 变得完美,但它能让你在下次遇到问题时,知道该从哪里开始查。