Help us improve
Share bugs, ideas, or general feedback.
From startup-superpowers
Surfaces, refines, and manages testable hypotheses about a project. Tracks status (untested, confirmed, invalidated, archived), adds evidence from web research, and generates next validation actions.
npx claudepluginhub sergeigorbatiuk/startup-superpowers --plugin startup-superpowersHow this skill is triggered — by the user, by Claude, or both
Slash command
/startup-superpowers:hypothesesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Helps the user surface, refine, and manage testable assumptions about their idea. These hypotheses are the foundation for interview scripts, surveys, and validation experiments.
Defines a testable hypothesis with clear success metrics and validation approach. Use when forming assumptions to test, designing experiments, or aligning team on what success looks like.
Prioritizes assumptions via Impact × Risk matrix, categorizes for action (test/implement/defer/reject), and suggests experiments with success metrics. For triaging or prioritization canvas.
Activate for: assumption, hypothesis, assumption map, MVP, minimum viable product, lean startup, what assumptions am I making, test my idea, what could go wrong, assumption risk, validate assumption, kill my idea, stress test, what should I test first, MVP design, MVP scoping, what to build, minimum feature set, success criteria, failure criteria, pivot criteria, build plan, riskiest assumption, leap of faith assumption, critical assumption. NOT for: idea generation (use idea), customer discovery (use discovery), pilot results analysis (use validate).
Share bugs, ideas, or general feedback.
Helps the user surface, refine, and manage testable assumptions about their idea. These hypotheses are the foundation for interview scripts, surveys, and validation experiments.
Read startup/core.md to load project context (name, seed description, and all fields under ## Core).
Check if startup/hypotheses/ contains any .md files.
Load and understand them for context. Infer intent from the conversation — don't mechanically ask "what do you want to do?" If the user is:
status: archived and add archived_reason to frontmatter with a one-line explanation. Archived hypotheses stay in place — they can be restored by flipping the status backweb-researcher agent (fast model) with a focused prompt: include the hypothesis statement, the problem space from core.md, and ask for community signals (Reddit, forums), existing workarounds, and willingness-to-pay evidence. Incorporate key findings into the hypothesis ## Notes section. Save the full web-researcher output to startup/research/{YYYY-MM-DD}-{hypothesis-slug}-research.md with frontmatter date, topic, and source_skill: hypothesesWhen adding or updating hypotheses, follow the file conventions:
status (untested, confirmed, invalidated, or archived)last_assessed ISO date (YYYY-MM-DD) — set by assessments, not on creation#problem, #solution, #willingness_to_pay, #urgency, or #other## Notes section## Next Action section — the smallest observable next validation move. Advisory and generated by assessments (see below), not authored by hand. No required internal structure: a tight one-sentence directive is the norm. It is overwritten on each assessment, always reflecting the latest reasoning — not an append-only log.Slug convention: lowercase the title, replace spaces and non-alphanumeric characters with hyphens, collapse multiple hyphens.
Read before writing, propose before saving, get confirmation.
Check if startup/core.md has at minimum Audience and Problem defined under ## Core.
whats-next skill to initialize the project, and then you can come back to hypotheses. But do not block: if the user insists to work on hypotheses now, proceed..claude/skills/hypotheses/references/initial-hypotheses.md
The reference file's instructions take over from this point.
State assessment is one of this skill's core capabilities. When hypothesis state is in question, dispatch the hypotheses-manager subagent rather than evaluating evidence inline — it's bias-isolated, reads across interview evidence independently, and returns structured recommendations.
When to dispatch:
[[slug]] backlinks have arrived (this is wired in automatically by the interviews skill's post-transcript flow — you'll see that path in the interviews skill)What to pass:
slugs: the keyword all (or a specific list if the conversation is about particular hypotheses)scope: include instruction to also synthesize candidate new hypotheses from unlinked statements across interview filesWhat comes back: a structured block of state recommendations — each with a What changed line, reasoning, evidence pointers, and a Next action — plus a single cross-hypothesis Top pick and any candidate new hypotheses. The subagent never edits files.
What to do with the result:
last_assessed frontmatter to today's date.## Next Action section to the subagent's suggested next action (create the section if absent, overwrite it if present).
Both are mechanical, advisory bookkeeping — a factual record of what the subagent recommended against current evidence. Neither changes status or the hypothesis body, so neither needs per-item approval. Writing the next action eagerly keeps hypothesis files a live dashboard (the whats-next skill reads these sections) and keeps the stability anchor accurate even if the user nods and closes the chat, or if the assessment ran as a byproduct of another flow. (Read the file before writing, so you only touch frontmatter and the ## Next Action section.)Top pick as the single most pressing move. Then any candidate new hypotheses.status.This is the same subagent dispatched by the interviews skill after a transcript is analyzed — so state assessment is centralized here regardless of which entry point triggers it.
Not every web question needs a subagent:
WebSearch / WebFetch (you, the main agent): single-fact lookups ("is this Reddit thread still active?", "what's the latest on X pricing model?"), quick verification of a claim, one data point asked about in flow. Stays in conversation, no persistence needed.web-researcher: multi-source validation passes for a specific hypothesis (scanning community signals across Reddit/HN/forums, surveying workarounds, gathering willingness-to-pay evidence). Output is structured and gets saved to startup/research/{YYYY-MM-DD}-{hypothesis-slug}-research.md for later reference — and the findings feed into the hypothesis's ## Notes section.Rough rule: one fact in flow → inline. Multi-source or results-should-persist → dispatch.