首页/AI 系统可观测与 SRE/diagnosing-superpowers
D

diagnosing-superpowers

by @obrav
4.6(120)

该 Skill 用于在 AI 编码会话出错后做证据化复盘:定位会话文件、核对时间线,逐条查明「耗时过长」「重复劳动」「计划被忽略」「技能未触发」等问题的根因,每条结论都必须附 path:line 引用。它还能据报告生成给维护者的缺陷草案、脱敏问题包,或在历史会话中搜索同类故障特征,适合需要向团队解释这次为什么这么慢、这么贵。

troubleshootingobservabilitytranscript-analysisroot-cause-analysisbug-reportGitHub
安装方式
npx skills add https://github.com/obra/superpowers --skill diagnosing-superpowers
compare_arrows

Before / After 效果对比

2 组
使用前

会话跑完后只剩一堆原始记录,开发者只能手动搜索和猜测哪里出了错,折腾几小时仍说不清原因,最后笼统归咎于「模型不行」,也拿不出可复现的证据给维护者。

使用后

该 Skill 按固定流程定位并核对会话,定位问题区域后再并行分维度分析,输出的每条发现都带 path:line 引用,把「太慢太贵」这类抱怨拆成可量化、可验证的根因。

SKILL.md

Diagnosing Superpowers

Overview

Pin down with your human partner what went wrong in a session, read the transcripts on disk, and report what happened with evidence. You report; you do not diagnose superpowers. Whoever triages the bundle or the issue decides whether superpowers changes.

Core principle: Every finding cites path:line. No citation, no finding. Every number comes from the transcript or from a command you ran, never from memory.

Workflow

Create a todo per step. Steps 5–7 run only on their stated condition.

  1. Problem intake. Ask one question at a time until you can write a statement naming the session(s), the turn range if known, what your partner expected, what happened, and the observable they care about (wall-clock, tokens, repeated actions, one specific action). "It took too long" is a complaint, not a problem statement. Note whether the goal is a superpowers bug report.
  2. Locate. Resolve each session to verified absolute filesystem paths using references/session-discovery.md. Confirm a past session by quoting its first prompt and timestamp, and list every candidate you rejected with the reason, or "none". Enumerate subagent transcripts. Create ~/.superpowers/diagnosing-superpowers/<session-id>/, tell your partner the path, and fill templates/case.md there, following its provenance rules for environment and skill observations.
  3. Triage. Read the region around the reported problem yourself. Then dispatch one analyst subagent per dimension in parallel, each given the case file path, prompts/analyst-common.md, and one dimension file from prompts/: skill-timeline.md, plan-adherence.md, repeated-work.md, stumbles.md, quality-evidence.md, request-conflicts.md, cost-and-time.md. Split a dimension by turn range when the transcript is long. Discard any returned finding without path:line.
  4. Report. Fill every section of templates/report.md in order, write it to the workspace, show it, and give the path. Check what cited content actually proves and preserve the supporting case; a symlink alias is not a redundant copy.
  5. GitHub issues — when report §7 says possible or likely, or your partner asks. Search open and closed issues for the symptoms per references/github-issues.md. Show matches and suggest adding the report to the closest. If none match, fill templates/issue.md, write it to the workspace, show the exact text, and create the issue only after approval. gh cannot attach files; if a bundle exists, give your partner its path to attach in the browser.
  6. Export — only when your partner asks for a bundle; never build one unprompted. If the intake goal was a bug report, say once that a scrubbed bundle is available on request, then wait. Ask the redaction level, stating what each includes: skeleton (no tool-result bodies), evidence (bodies only for cited events), full. Build the bundle per templates/bundle-README.md, dispatch prompts/scrub.md, then prompts/scrub-audit.md, repeating both until the audit returns CLEAN. Complete the bundle template's evidence check and reconciliation before showing the final scrub log, file list, and privacy and evidence outcomes. Archive (zip -r or tar -czf) only after approval. With the archive path, state what it contains, point at the scrub log for replacements, and say scrubbing can miss things: they must review every file before sharing.
  7. Similar sessions — when asked. Turn confirmed findings into a signature, list candidates by mtime and size, find marker line numbers, dispatch prompts/similar-session.md per candidate in parallel, and append report §9.

Quick reference

All seven analysts always run. This table says which region to read yourself in step 3 and which findings to lead with in the verdict.

ComplaintRead first, lead with
"It took too long"cost-and-time, stumbles
"Why did it do this extra work?"repeated-work, plan-adherence
"Why is it so expensive?"cost-and-time
"What the hell is it doing?" (still running)skill-timeline; note in-progress in coverage
"It ignored the plan"plan-adherence, compaction lines first
"Skill X never fired"skill-timeline

Hard rules

  • Context safety. One transcript line can be a megabyte. Follow references/context-safety.md on every session file, every time.
  • Read-only. Never modify, move, or delete a session file.
  • Exact paths to subagents. A subagent's "current session" is its own. Pass absolute paths and ids.
  • Human prompts only. Hook output, system reminders, and tool results are not your partner's words. In a subagent transcript, "user" is the parent agent.
  • No superpowers diagnosis. Report §7 states involvement and stops. Never name a defect in a skill or propose a change. Your partner pressing for a fix does not waive this; point at the issue step and mention that a bundle is available on request. No advice to your partner either.
  • Approval gates. No archive before your partner has seen the scrub log and file list. No issue or comment before they approve the exact text.
  • Intake before analysis. Nothing in steps 2–7 starts until your partner has answered. If they are away, write the questions and stop. A statement you reconstructed for them is not an answer. An already-scoped request — one specific event, what is running now, or the analysis to run — is itself the statement: answer it, then ask. A whole-session "why" is a complaint.

Red Flags

ThoughtReality
"The problem is obvious, skip intake"The problem statement scopes everything. Ask.
"They're away, so I'll reconstruct the statement"You cannot reconstruct what they wanted. Write the questions and stop.
"I'll sweep everything now and ask at the end"An unscoped sweep spends their budget on the wrong question. Ask first.
"They want a bug report, so I'll build the bundle now"The bundle is their session data, packaged. Build it only when they ask for it.
"Small, targeted edit, no restructuring needed"Not your call, however small. Report the evidence; the triager decides.
"The price per token is well known"Numbers you did not compute from the transcript are invented. Cite or drop.

用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价

统计数据

安装量19.0K
评分4.6 / 5.0
版本
更新日期2026年10月23日
对比案例2 组

用户评分

4.6(120)
5
37%
4
43%
3
13%
2
5%
1
2%

为此 Skill 评分

0.0

兼容平台

🤖claude-code

时间线

创建2026年9月20日
最后更新2026年10月23日
🎁 Agent 知识卡片
调研问卷