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.
Permissions
Files
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.
Version history
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.
Create a todo per step. Steps 5–7 run only on their stated condition.
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.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.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.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.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.prompts/similar-session.md per candidate in parallel, and
append report §9.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 |
references/context-safety.md on every session file, every time.| 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. |
In these kits
More from @obra
Works with
Claude, Codex, Cursor & more