diagnosing-superpowers
obra/superpowers
Diagnose superpowers session failures by reading transcripts and building evidence-backed reports.
What is diagnosing-superpowers?
Use this skill when a superpowers session produced unexpected results—repeated work, ignored plans, poor performance, high costs, or unclear behavior. It guides you through intake, transcript analysis, parallel diagnostic review, and report generation, with optional GitHub issue filing and bundle export for the maintainers.
- Conduct structured problem intake to scope what went wrong and what the user expects
- Locate and verify session transcripts on disk, resolving past sessions by id or path
- Dispatch parallel analyst subagents to examine skill timeline, plan adherence, repeated work, stumbles, quality, request conflicts, and cost/time dimensions
- Generate evidence-backed diagnostic reports citing exact transcript locations (path:line)
- Search and suggest matching GitHub issues, or draft new issues with supporting bundles
- Export scrubbed session bundles at skeleton, evidence, or full redaction levels
How to install diagnosing-superpowers
npx skills add https://github.com/obra/superpowers --skill diagnosing-superpowers- Access to superpowers session transcripts on disk
- Familiarity with the session discovery process (references/session-discovery.md)
- GitHub CLI (gh) installed if filing issues or searching for related problems
How to use diagnosing-superpowers
- 1.Ask clarifying questions until you have a clear problem statement naming the session(s), turn range, expected outcome, actual outcome, and observable of concern
- 2.Locate the session(s) using session-discovery.md; confirm past sessions by quoting their first prompt and timestamp; enumerate any subagent transcripts
- 3.Read the region around the reported problem yourself, then dispatch parallel analyst subagents with the case file path and one dimension prompt each (skill-timeline, plan-adherence, repeated-work, stumbles, quality-evidence, request-conflicts, cost-and-time)
- 4.Fill the report template in order, citing every finding with path:line references from the transcripts; write and show the report with its path
- 5.If the report suggests a possible or likely bug, search GitHub issues for matching symptoms and either suggest adding the report to an existing issue or draft a new one for approval
- 6.Only when asked, export a scrubbed bundle at the requested redaction level (skeleton, evidence, or full), repeating scrub and audit steps until CLEAN
- 7.When asked, convert confirmed findings into a signature and search for similar sessions in parallel, appending comparative results to the report
Use cases
- A session took much longer than expected; analyze cost, time, and execution stumbles to understand why
- A skill failed to fire or was ignored; review skill timeline and plan adherence to find the cause
- A session repeated the same work multiple times; diagnose repeated-work and plan-adherence dimensions
- Building a bug report for superpowers maintainers; gather evidence, create an issue, and optionally export a scrubbed bundle
- Investigating whether a session's behavior matches a known issue; search GitHub and compare against similar past sessions
- Superpowers users troubleshooting unexpected session behavior
- Developers preparing bug reports for the superpowers project
- Teams analyzing session efficiency and cost patterns
- Anyone needing structured, evidence-backed diagnostic reports from agent transcripts
diagnosing-superpowers FAQ
Use references/session-discovery.md to resolve the session to an absolute filesystem path. If the transcript does not exist, confirm this with your partner and note it in the case file. Do not proceed with analysis on missing data.
No. Session files are read-only. Never modify, move, or delete them. Report only; do not alter the evidence.
Every finding must cite path:line from the transcript or from a command you ran. No citation, no finding. Numbers must come from the transcript itself, never from memory or general knowledge.
Only when your partner explicitly asks for a bundle. Never build one unprompted, even if the goal is a bug report. If they ask, confirm the redaction level (skeleton, evidence, or full), build and scrub it, and get approval before archiving.
Report the evidence and stop. You do not diagnose superpowers or propose changes. Point them to the GitHub issues step and mention that a bundle is available on request. The maintainers decide whether superpowers changes.
Full instructions (SKILL.md)
Source of truth, from obra/superpowers.
name: diagnosing-superpowers description: Use when a superpowers session went wrong and your human partner wants to know why — repeated work, ignored plans, stumbles, poor results, a skill that didn't fire, "it took too long", "why is it so expensive", "what is it doing" — or wants to build a bug report for the superpowers maintainers, for the current session or a past one identified by id or path, on any harness.
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.
- 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.
- 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 filltemplates/case.mdthere, following its provenance rules for environment and skill observations. - 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 fromprompts/: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 withoutpath:line. - Report. Fill every section of
templates/report.mdin 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. - 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, filltemplates/issue.md, write it to the workspace, show the exact text, and create the issue only after approval.ghcannot attach files; if a bundle exists, give your partner its path to attach in the browser. - 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, dispatchprompts/scrub.md, thenprompts/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 -rortar -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. - Similar sessions — when asked. Turn confirmed findings into a
signature, list candidates by mtime and size, find marker line numbers,
dispatch
prompts/similar-session.mdper 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.
| Complaint | Read 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.mdon 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
| Thought | Reality |
|---|---|
| "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. |
Related skills
More from obra/superpowers and the wider catalog.

dispatching-parallel-agents
Dispatch independent tasks to parallel agents for faster concurrent problem-solving.

executing-plans
Execute implementation plans inline without subagents—one context plus final review.

finishing-a-development-branch
Verify tests, detect environment, and safely integrate completed development work

receiving-code-review
Receive code review feedback with technical rigor—verify before implementing, push back when wrong.

requesting-code-review
Dispatch a code reviewer subagent to catch issues before they cascade.

subagent-driven-development
Execute implementation plans by dispatching fresh subagents per task with review after each.