{"id":24636,"plugin_id":"plugins~Plugin_60aea7460bd4819199fd97a9553a5e12","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:18:33.597Z","digest":"dcd540b611b1653b26336b67417987cff822bdc2aa77d0aba4750c438de439f2","against":null,"payload":{"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"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}