Skill Tracer
Skills › Superpowers › diagnosing-superpowers

diagnosing-superpowers

skill · 120 lines · MIT · skills/diagnosing-superpowers/SKILL.md

The facts

Its 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.

The description the agent reads to decide when to use it.

From its settingsline 3

When it starts

The agent picks this when a person says a coding session that had superpowers installed went wrong — it took too long, cost too much, repeated itself, ignored the plan, stumbled, or a skill never fired — or when they want a bug report built for the superpowers maintainers about the current session or a past one named by id or path.

Things a person might say (the model's guesses)

  • “That session yesterday took forever and burned a huge number of tokens — can you work out why?”
  • “I asked for a new feature and the brainstorming skill never fired. What happened?”
  • “I want to file a bug report with the superpowers maintainers about what went wrong in this session.”

A model's summary of when it is used.

A model's reading

Starts other agents

6 lines mention starting other agents (first 5 linked)

Lines in the file that mention starting another agent. Found by matching words, so treat them as pointers.

Found by matching wordsline 32 line 37 line 60 line 69 line 91

Files it mentions

references/session-discovery.md, templates/case.md, prompts/analyst-common.md, templates/report.md, references/github-issues.md (first 5 of 10 lines)

Files the text names, such as ones to read or write. Found by matching words, so treat them as pointers.

Found by matching wordsline 30 line 34 line 38 line 44 line 50

Stops for a person

1 line stops to ask a person

Lines that stop and wait for a person before going on. Found by matching words, so treat them as pointers.

Found by matching wordsline 102

Licence

MIT, from LICENSE

The terms its author shares it under, which let it be shown here.

From the repositorylicence text
Other files in this skill (19) Close

The text

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1---
2name: diagnosing-superpowers
3description: 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.
4---
5
6# Diagnosing Superpowers
7

Diagnosing Superpowers

Raw lines 1 to 7
8## Overview
9
10Pin down with your human partner what went wrong in a session, read the
11transcripts on disk, and report what happened with evidence. You report;
12you do not diagnose superpowers. Whoever triages the bundle or the issue
13decides whether superpowers changes.
15**Core principle:** Every finding cites `path:line`. No citation, no
16finding. Every number comes from the transcript or from a command you ran,
17never from memory.

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.

Raw lines 8 to 18
19## Workflow
21Create a todo per step. Steps 5–7 run only on their stated condition.
231. **Problem intake.** Ask one question at a time until you can write a
24 statement naming the session(s), the turn range if known, what your
25 partner expected, what happened, and the observable they care about
26 (wall-clock, tokens, repeated actions, one specific action). "It took
27 too long" is a complaint, not a problem statement. Note whether the
28 goal is a superpowers bug report.
292. **Locate.** Resolve each session to verified absolute filesystem paths using
30 `references/session-discovery.md`. Confirm a past session by quoting its
31 first prompt and timestamp, and list every candidate you rejected with the
32 reason, or "none". Enumerate subagent transcripts. Create
33 `~/.superpowers/diagnosing-superpowers/<session-id>/`, tell your
34 partner the path, and fill `templates/case.md` there, following its
35 provenance rules for environment and skill observations.
363. **Triage.** Read the region around the reported problem yourself. Then
37 dispatch one analyst subagent per dimension in parallel, each given the
38 case file path, `prompts/analyst-common.md`, and one dimension file from
39 `prompts/`: `skill-timeline.md`,
40 `plan-adherence.md`, `repeated-work.md`, `stumbles.md`,
41 `quality-evidence.md`, `request-conflicts.md`, `cost-and-time.md`.
42 Split a dimension by turn range when the transcript is long. Discard
43 any returned finding without `path:line`.
444. **Report.** Fill every section of `templates/report.md` in order, write
45 it to the workspace, show it, and give the path. Check what cited content
46 actually proves and preserve the supporting case; a symlink alias is not a
47 redundant copy.
485. **GitHub issues** — when report §7 says possible or likely, or your
49 partner asks. Search open and closed issues for the symptoms per
50 `references/github-issues.md`. Show matches and suggest adding the
51 report to the closest. If none match, fill `templates/issue.md`, write
52 it to the workspace, show the exact text, and create the issue only
53 after approval. `gh` cannot attach files; if a bundle exists, give
54 your partner its path to attach in the browser.
556. **Export** — only when your partner asks for a bundle; never build one
56 unprompted. If the intake goal was a bug report, say once that a
57 scrubbed bundle is available on request, then wait. Ask the redaction
58 level, stating what each includes: skeleton (no tool-result bodies),
59 evidence (bodies only for cited events), full. Build the bundle per
61 `prompts/scrub-audit.md`, repeating both until the audit returns CLEAN.
62 Complete the bundle template's evidence check and reconciliation before
63 showing the final scrub log, file list, and privacy and evidence outcomes.
64 Archive (`zip -r` or `tar -czf`) only after approval. With the archive
65 path, state what it contains, point at the scrub log for replacements, and
66 say scrubbing can miss things: they must review every file before sharing.
677. **Similar sessions** — when asked. Turn confirmed findings into a
68 signature, list candidates by mtime and size, find marker line numbers,
69 dispatch `prompts/similar-session.md` per candidate in parallel, and
70 append report §9.

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.
Raw lines 19 to 71
Starts an agent subagent :32
Reads a file templates/case.md :34
Starts an agent dispatch :37
Reads a file prompts/analyst-common.md :38
Reads a file templates/report.md :44
Reads a file templates/issue.md :51
Reads a file prompts/scrub.md :60
Reads a file prompts/scrub-audit.md :61
72## Quick reference
74All seven analysts always run. This table says which region to read
75yourself in step 3 and which findings to lead with in the verdict.
77| Complaint | Read first, lead with |
78|---|---|
79| "It took too long" | cost-and-time, stumbles |
80| "Why did it do this extra work?" | repeated-work, plan-adherence |
81| "Why is it so expensive?" | cost-and-time |
82| "What the hell is it doing?" (still running) | skill-timeline; note in-progress in coverage |
83| "It ignored the plan" | plan-adherence, compaction lines first |
84| "Skill X never fired" | skill-timeline |

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
Raw lines 72 to 85
86## Hard rules
88- **Context safety.** One transcript line can be a megabyte. Follow
89 `references/context-safety.md` on every session file, every time.
90- **Read-only.** Never modify, move, or delete a session file.
91- **Exact paths to subagents.** A subagent's "current session" is its
92 own. Pass absolute paths and ids.
93- **Human prompts only.** Hook output, system reminders, and tool results
94 are not your partner's words. In a subagent transcript, "user" is the
95 parent agent.
96- **No superpowers diagnosis.** Report §7 states involvement and stops.
97 Never name a defect in a skill or propose a change. Your partner
98 pressing for a fix does not waive this; point at the issue step and
99 mention that a bundle is available on request. No advice to your
100 partner either.
101- **Approval gates.** No archive before your partner has seen the scrub
102 log and file list. No issue or comment before they approve the exact
103 text, and none with a placeholder summary.
104- **Intake before analysis.** Nothing in steps 2–7 starts until your
105 partner has answered. If they are away, write the questions and stop.
106 A statement you reconstructed for them is not an answer. An
107 already-scoped request — one specific event, what is running now, or
108 the analysis to run — is itself the statement: answer it, then ask.
109 A whole-session "why" is a complaint.

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, and none with a placeholder summary.
  • 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.
Raw lines 86 to 110
Starts an agent subagents :91
Starts an agent subagent :91
Involves a person before they approve :102
111## Red Flags
113| Thought | Reality |
114|---------|---------|
115| "The problem is obvious, skip intake" | The problem statement scopes everything. Ask. |
116| "They're away, so I'll reconstruct the statement" | You cannot reconstruct what they wanted. Write the questions and stop. |
117| "I'll sweep everything now and ask at the end" | An unscoped sweep spends their budget on the wrong question. Ask first. |
118| "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. |
119| "Small, targeted edit, no restructuring needed" | Not your call, however small. Report the evidence; the triager decides. |
120| "The price per token is well known" | Numbers you did not compute from the transcript are invented. Cite or drop. |

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.
Raw lines 111 to 120

From obra/superpowers at 2ce8aa1, 2026-10-21. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.