Help us improve
Share bugs, ideas, or general feedback.
From h-superpowers
Use when exploring open questions, architecture decisions, technology choices, or any decision that benefits from diverse perspectives BEFORE committing to an approach. Spawns perspective subagents that independently explore the question and codebase, then cross-pollinate to build hybrid approaches via a second round. Produces a recommendation with confidence level and ADR. Use this whenever the user asks "should we use X or Y?", "what's the best way to handle Z?", "what are the risks of...", or any open-ended exploration question.
npx claudepluginhub ehartye/hartye-superpowers --plugin h-superpowersHow this skill is triggered — by the user, by Claude, or both
Slash command
/h-superpowers:perspective-researchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Explore open questions through diverse perspectives. Each perspective agent
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Explore open questions through diverse perspectives. Each perspective agent gets its own context window, independently explores the codebase and question, then a cross-pollination round lets perspectives build on each other to produce hybrid approaches no single lens would generate alone.
Core principle: Generative exploration benefits from dialogue between perspectives. Pre-mortem research shows prospective hindsight improves outcome prediction by 30%, but only when participants build on each other's scenarios.
Not for: Evaluating an existing artifact (use perspective-review instead)
Read the user's question or topic. Gather relevant context from the codebase (existing implementations, constraints, prior decisions) using Read, Glob, Grep.
If the question is vague, ask one clarifying question.
Read the perspective catalogue at ../shared-perspectives/catalogue.md.
The catalogue has two families of perspectives:
Mix them based on the question. Tech stack evaluations benefit from role-based perspectives (Business/Strategy, Operator, Integrator). Best practices questions lean toward discipline-based (Design Principles, Conventions & Idioms). Many questions benefit from a mix. See the catalogue's selection guidance.
If the user requests a lens not in the catalogue, create a custom perspective with a specific analytical procedure (see catalogue's "Custom Perspectives" section).
Recommend 3-4 perspectives with reasoning. Present to the user:
"I'd recommend these perspectives for exploring [question]:
Want to adjust — add, remove, or swap any?"
Wait for confirmation.
Present the choice:
"Two execution approaches:
1. Subagent-Driven — Parallel subagents per perspective, file-based cross-pollination with agent resume. Fast, efficient, proven.
2. Team-Driven — Persistent teammate agents with direct messaging.
Richer cross-pollination through real-time dialogue. Costs 2-4x more.
Requires Opus 4.6+ and CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1.
Which approach?"
Default to subagent-driven if the user doesn't have a preference.
Create a temporary directory for round outputs:
<workspace>/
round-1/
round-2/
Read ../shared-perspectives/perspective-subagent-prompt.md for the Round 1
research template.
For each confirmed perspective, look up its full analytical procedure from the catalogue. Fill the Round 1 research template with:
{PERSPECTIVE_NAME} — the perspective name{PERSPECTIVE_PROCEDURE} — the full analytical procedure from the catalogue{QUESTION_CONTENT} — the user's question{CONTEXT} — any relevant context gathered in Step 1{OUTPUT_PATH} — where to save position (e.g., <workspace>/round-1/adversary.md)Spawn one subagent per perspective in parallel using the Agent tool. Each subagent independently explores the codebase and saves its position to the output file.
Capture each subagent's agent ID from the return value — you will resume these agents in Round 2.
Wait for all Round 1 subagents to complete.
Resume each Round 1 subagent using the Agent tool's resume parameter
with the agent ID captured in Step 5a. The resumed agent retains its full
Round 1 context — every file it read, every constraint it found — so it can
propose deeply informed hybrid approaches.
Read the Round 2 template from ../shared-perspectives/perspective-subagent-prompt.md.
Send each resumed agent:
{OUTPUT_PATH} — where to save cross-pollination responseResume all perspectives in parallel.
This round is where the primary value emerges — perspectives build on each other to generate ideas no single perspective would produce alone.
Wait for all Round 2 subagents to complete.
Read ../shared-perspectives/synthesis-agent-prompt.md for the research
synthesis template.
Fill the template with:
{ROUND_1_PATHS} — paths to all Round 1 output files, labeled by perspective{ROUND_2_PATHS} — paths to all Round 2 output files, labeled by perspective{QUESTION_CONTENT} — the original questionSpawn a synthesis subagent. It reads all output files and produces the recommendation with confidence level and ADR template.
Save the final report.
Create the team:
TeamCreate(team_name: "perspective-research", description: "Multi-perspective research on [question]")
Read ../shared-perspectives/perspective-teammate-prompt.md for the research
teammate template. For each confirmed perspective, fill the template with:
{TEAM_NAME} — the team name{PERSPECTIVE_NAME} — the perspective name{PERSPECTIVE_SLUG} — kebab-case name (e.g., adversary, business-strategy){PERSPECTIVE_PROCEDURE} — the full analytical procedure from the catalogue{QUESTION_CONTENT} — the user's question{CONTEXT} — relevant context{OUTPUT_PATH_ROUND_1} — e.g., <workspace>/round-1/adversary.md{OUTPUT_PATH_ROUND_2} — e.g., <workspace>/round-2/adversary.mdSpawn one teammate per perspective using the Agent tool with team_name.
Read ../shared-perspectives/synthesis-teammate-prompt.md for the research
synthesis teammate template. Spawn the synthesis teammate with team_name.
Round 1: Each perspective teammate independently explores the question and messages you when done. Wait for all perspectives to report completion.
Round 2: Once all Round 1 outputs are saved, send each perspective teammate the file paths of all OTHER perspectives' Round 1 outputs via SendMessage:
"Cross-pollination round. Read these other perspectives' Round 1 positions:
<workspace>/round-1/adversary.md<workspace>/round-1/operator.mdWait for all perspectives to report Round 2 completion.
Send the synthesis teammate all file paths via SendMessage:
"All rounds complete. Produce the synthesis report. Round 1 files: [list with perspective labels] Round 2 files: [list with perspective labels] Original question: [question] Save report to: {OUTPUT_PATH}"
Wait for synthesis to complete. Then shut down:
shutdown_request to each teammate via SendMessageBash("sleep 30", run_in_background=true) — the harness blocks standalone sleeps; background and wait for the completion notification before step 3TeamDeletePresent the synthesis report to the user. Highlight:
Offer: "Want me to save the decision record to docs/decisions/?"
If the user wants to proceed:
Invoked before:
h-superpowers:brainstorming — research informs the designh-superpowers:writing-plans — if decision is clear, plan directlyHands off to:
h-superpowers:brainstorming — to design based on findingsh-superpowers:writing-plans — if answer is clear enough to planDoes NOT replace:
h-superpowers:brainstorming — research explores the question space,
brainstorming designs the solution