← SuperpowersCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Superpowers
Snapshot Sep 30, 2026 · 23:18 UTC · version 6.4.2
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"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.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 127
},
{
"relative_path": "prompts/analyst-common.md",
"size_in_bytes": 1582
},
{
"relative_path": "prompts/cost-and-time.md",
"size_in_bytes": 1640
},
{
"relative_path": "prompts/plan-adherence.md",
"size_in_bytes": 1637
},
{
"relative_path": "prompts/quality-evidence.md",
"size_in_bytes": 1476
},
{
"relative_path": "prompts/repeated-work.md",
"size_in_bytes": 1469
},
{
"relative_path": "prompts/request-conflicts.md",
"size_in_bytes": 1011
},
{
"relative_path": "prompts/scrub-audit.md",
"size_in_bytes": 1363
},
{
"relative_path": "prompts/scrub.md",
"size_in_bytes": 1471
},
{
"relative_path": "prompts/similar-session.md",
"size_in_bytes": 1711
},
{
"relative_path": "prompts/skill-timeline.md",
"size_in_bytes": 1646
},
{
"relative_path": "prompts/stumbles.md",
"size_in_bytes": 1330
},
{
"relative_path": "references/context-safety.md",
"size_in_bytes": 990
},
{
"relative_path": "references/github-issues.md",
"size_in_bytes": 1644
},
{
"relative_path": "references/redaction-policy.md",
"size_in_bytes": 2243
},
{
"relative_path": "references/session-discovery.md",
"size_in_bytes": 1859
},
{
"relative_path": "templates/bundle-README.md",
"size_in_bytes": 3672
},
{
"relative_path": "templates/case.md",
"size_in_bytes": 2983
},
{
"relative_path": "templates/issue.md",
"size_in_bytes": 1851
},
{
"relative_path": "templates/report.md",
"size_in_bytes": 2359
}
],
"skill_md_contents": "---\nname: diagnosing-superpowers\ndescription: 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.\n---\n\n# Diagnosing Superpowers\n\n## Overview\n\nPin down with your human partner what went wrong in a session, read the\ntranscripts on disk, and report what happened with evidence. You report;\nyou do not diagnose superpowers. Whoever triages the bundle or the issue\ndecides whether superpowers changes.\n\n**Core principle:** Every finding cites `path:line`. No citation, no\nfinding. Every number comes from the transcript or from a command you ran,\nnever from memory.\n\n## Workflow\n\nCreate a todo per step. Steps 5–7 run only on their stated condition.\n\n1. **Problem intake.** Ask one question at a time until you can write a\n statement naming the session(s), the turn range if known, what your\n partner expected, what happened, and the observable they care about\n (wall-clock, tokens, repeated actions, one specific action). \"It took\n too long\" is a complaint, not a problem statement. Note whether the\n goal is a superpowers bug report.\n2. **Locate.** Resolve each session to verified absolute filesystem paths using\n `references/session-discovery.md`. Confirm a past session by quoting its\n first prompt and timestamp, and list every candidate you rejected with the\n reason, or \"none\". Enumerate subagent transcripts. Create\n `~/.superpowers/diagnosing-superpowers/<session-id>/`, tell your\n partner the path, and fill `templates/case.md` there, following its\n provenance rules for environment and skill observations.\n3. **Triage.** Read the region around the reported problem yourself. Then\n dispatch one analyst subagent per dimension in parallel, each given the\n case file path, `prompts/analyst-common.md`, and one dimension file from\n `prompts/`: `skill-timeline.md`,\n `plan-adherence.md`, `repeated-work.md`, `stumbles.md`,\n `quality-evidence.md`, `request-conflicts.md`, `cost-and-time.md`.\n Split a dimension by turn range when the transcript is long. Discard\n any returned finding without `path:line`.\n4. **Report.** Fill every section of `templates/report.md` in order, write\n it to the workspace, show it, and give the path. Check what cited content\n actually proves and preserve the supporting case; a symlink alias is not a\n redundant copy.\n5. **GitHub issues** — when report §7 says possible or likely, or your\n partner asks. Search open and closed issues for the symptoms per\n `references/github-issues.md`. Show matches and suggest adding the\n report to the closest. If none match, fill `templates/issue.md`, write\n it to the workspace, show the exact text, and create the issue only\n after approval. `gh` cannot attach files; if a bundle exists, give\n your partner its path to attach in the browser.\n6. **Export** — only when your partner asks for a bundle; never build one\n unprompted. If the intake goal was a bug report, say once that a\n scrubbed bundle is available on request, then wait. Ask the redaction\n level, stating what each includes: skeleton (no tool-result bodies),\n evidence (bodies only for cited events), full. Build the bundle per\n `templates/bundle-README.md`, dispatch `prompts/scrub.md`, then\n `prompts/scrub-audit.md`, repeating both until the audit returns CLEAN.\n Complete the bundle template's evidence check and reconciliation before\n showing the final scrub log, file list, and privacy and evidence outcomes.\n Archive (`zip -r` or `tar -czf`) only after approval. With the archive\n path, state what it contains, point at the scrub log for replacements, and\n say scrubbing can miss things: they must review every file before sharing.\n7. **Similar sessions** — when asked. Turn confirmed findings into a\n signature, list candidates by mtime and size, find marker line numbers,\n dispatch `prompts/similar-session.md` per candidate in parallel, and\n append report §9.\n\n## Quick reference\n\nAll seven analysts always run. This table says which region to read\nyourself in step 3 and which findings to lead with in the verdict.\n\n| Complaint | Read first, lead with |\n|---|---|\n| \"It took too long\" | cost-and-time, stumbles |\n| \"Why did it do this extra work?\" | repeated-work, plan-adherence |\n| \"Why is it so expensive?\" | cost-and-time |\n| \"What the hell is it doing?\" (still running) | skill-timeline; note in-progress in coverage |\n| \"It ignored the plan\" | plan-adherence, compaction lines first |\n| \"Skill X never fired\" | skill-timeline |\n\n## Hard rules\n\n- **Context safety.** One transcript line can be a megabyte. Follow\n `references/context-safety.md` on every session file, every time.\n- **Read-only.** Never modify, move, or delete a session file.\n- **Exact paths to subagents.** A subagent's \"current session\" is its\n own. Pass absolute paths and ids.\n- **Human prompts only.** Hook output, system reminders, and tool results\n are not your partner's words. In a subagent transcript, \"user\" is the\n parent agent.\n- **No superpowers diagnosis.** Report §7 states involvement and stops.\n Never name a defect in a skill or propose a change. Your partner\n pressing for a fix does not waive this; point at the issue step and\n mention that a bundle is available on request. No advice to your\n partner either.\n- **Approval gates.** No archive before your partner has seen the scrub\n log and file list. No issue or comment before they approve the exact\n text.\n- **Intake before analysis.** Nothing in steps 2–7 starts until your\n partner has answered. If they are away, write the questions and stop.\n A statement you reconstructed for them is not an answer. An\n already-scoped request — one specific event, what is running now, or\n the analysis to run — is itself the statement: answer it, then ask.\n A whole-session \"why\" is a complaint.\n\n## Red Flags\n\n| Thought | Reality |\n|---------|---------|\n| \"The problem is obvious, skip intake\" | The problem statement scopes everything. Ask. |\n| \"They're away, so I'll reconstruct the statement\" | You cannot reconstruct what they wanted. Write the questions and stop. |\n| \"I'll sweep everything now and ask at the end\" | An unscoped sweep spends their budget on the wrong question. Ask first. |\n| \"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. |\n| \"Small, targeted edit, no restructuring needed\" | Not your call, however small. Report the evidence; the triager decides. |\n| \"The price per token is well known\" | Numbers you did not compute from the transcript are invented. Cite or drop. |\n"
}SHA-256: dcd540b611b1653b26336b67417987cff822bdc2aa77d0aba4750c438de439f2