Pm Assumption Testing logo

Pm Assumption Testing

Organization
Uxcel-Lab
pm-assumption-testing

Plan how to test the assumptions behind a product idea before building — decompose the idea into its load-bearing beliefs, prioritize the riskiest, phrase them as falsifiable hypotheses, and pick the cheapest method that answers the question. Or critique an existing validation plan. Trigger when asked to validate an idea, de-risk a feature, plan discovery/experiments, test assumptions or a hypothesis, design an MVP test, or decide "how do we know this will work?"

Overview

PublisherUxcel-Lab
Repositoryproduct-skills
Skill namepm-assumption-testing
Stars
35
Forks
8
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Uxcel-Lab on GitHub. Read the source before you install it.

Installation

Install the Pm Assumption Testing AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Uxcel-Lab/product-skills/tree/main/pm/processes/assumption-testing
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Uxcel-Lab/product-skills.git /tmp/product-skills
mkdir -p .claude/skills
cp -r /tmp/product-skills/pm/processes/assumption-testing .claude/skills/pm-assumption-testing
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Pm Assumption Testing in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Pm Assumption Testing on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Pm Assumption Testing is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Assumption Testing Skill

How this skill behaves (read first)

This is a generative skill, and "validate our idea" is a default trap. The instinctive move is to jump to a method — build an MVP, run a survey, ship an A/B test — or to test the idea ("do you like this?", which everyone says yes to) instead of the assumptions the idea depends on. The other failure is investment mismatch: writing code to answer a question a one-day test would settle, or betting the quarter on a hallway poll. So this skill gates:

  1. Establish the decision and its stakes — what choice does this inform, and how reversible/expensive is it? That sets how much rigor is warranted.
  2. Apply the always-true core — decompose into testable assumptions, prioritize the riskiest, phrase them falsifiably, set success criteria up front.
  3. Choose the method deliberately — surface the fidelity/method decision with trade-offs; don't default to "build it and see."

Then it hands the plan to pm-assumption-rigor-audit to validate (and pm-okr-metric-validity-audit for the success metric). Applying every test type to every assumption is the failure mode — match one good method to each risky belief.


Step 0 — Establish context before planning tests

Ask if not known; state the assumption if proceeding without an answer:

  • What decision does this inform, and how reversible is it? A cheap, reversible tweak needs a fast low-fi check; a costly, hard-to-undo bet earns stronger evidence. Rigor scales to stakes — over-testing a trivial call is as wrong as under-testing a big one.
  • What stage are we at? Testing the problem (does anyone care?) vs. the solution (can they use/engage with it?) vs. viability/scale (will they pay, does it hold up?). Each stage points to a different method tier.
  • What's the leap-of-faith belief? The one assumption that, if false, sinks the idea. Name it before anything else.
  • Resources & timeline — what can realistically be run now? The cheapest method that answers the question wins.

The always-apply core (true for any assumption test)

  • Test assumptions, not the idea. Decompose the idea into the beliefs that must be true for it to succeed. "Do you like this concept?" gets a polite yes; "users will pay a premium for curated meals" is a belief you can actually check.
  • Cover the five assumption types; find which are at risk. Desirability (do they want it?), viability (good for the business?), feasibility (can we build it?), usability (can they use it?), ethical (could it cause harm?). Generate assumptions via story mapping, the opportunity-solution tree, or the ideal-customer profile.
  • Prioritize by importance × certainty — test the riskiest first. Map assumptions on a grid; the high-importance, low-certainty ones carry the risk. Test those before the comfortable ones. (A practical alternative ranking: high-impact and easy-to-test first, for quick wins.)
  • Phrase each as a falsifiable hypothesis. Use "We believe [change] for [user] will result in [outcome]; we'll know we're right when [metric] changes by [amount]." Phrase positively (what users will do) and specifically — it forces a real fail condition and blocks confirmation bias.
  • Define success before you test. Agree the pass/fail threshold with the team up front, so results can't be reinterpreted afterward.
  • Start with the cheapest method that answers the question. Don't build code when a prototype works; don't build a prototype when a description works. Match investment to the certainty you need.
  • Ask about past behavior, not hypothetical intent. "Tell me about the last time you dealt with this" beats "would you use this?" Stated intent is a false positive; real actions (clicks, sign-ups, pre-orders, purchases) are signal.
  • Prepare to be wrong. Treat every test as learning; have a backup if the assumption fails. Invalidation is a win — it saves a wrong build.
  • Document and decide the next step. Record assumption, method, pre-set criteria, result, and what you learned → confirm, adjust, or pivot. Test early and continuously, not as a one-off phase that goes stale.

The context-dependent decisions (surface, don't auto-apply)

Match one method to each risky assumption based on what you need to learn and the stakes. Don't run every test on every assumption.

DecisionApply whenAvoid / adapt whenDefault recommendation
Low-fidelity: surveys, interviews, paper prototypesTesting the problem / desirability — does anyone care? Earliest, cheapest stageUsing stated "would you?" intent as proof of demandStart here; pair interviews with the Mom Test (past behavior, not hypotheticals)
Painted-door / landing-page / smoke testMeasuring real demand with a behavioral signal (clicks, sign-ups) before buildingTreating a click as proof the feature satisfies the need or will retainUse to gate build/no-build; high CTR validates interest only
Medium-fidelity: clickable mockup, concierge MVP, Wizard of OzTesting the solution — can users understand/engage; deliver value manually before automatingSpending weeks polishing a prototype when a sketch answers itUse to validate the value proposition before writing code
High-fidelity: A/B test, feature flag, live betaOptimizing or scaling a validated idea; viability and real-condition behaviorUsing it to discover whether anyone wants the thing (too expensive, too late)Reserve for after demand is validated; needs adequate sample/duration. For A/B statistical rigor (sample size, significance, guardrails, peeking), hand off to pm-experimentation-ab
Qualitative vs. quantitativeQual (interviews, open responses) for why; quant (analytics, large-n surveys, A/B) for whatRelying on one alone — pure-quant misses why, pure-qual chases loud voicesCross-check both; agreement = green light, conflict = run another test
Sample size / duration / significanceScale to the claim — usability bugs need ~5 users; conversion/preference needs many more and enough runtimeGeneralizing from n=10 or a one-day window; ignoring significance in A/BSize the test to the decision; don't over-engineer a reversible call

Validate the result (orchestration)

Hand-offs name each lens by its installable skill name. Invoke one only if that skill is installed; if it isn't, this skill's own core already carries these rules — proceed without it rather than blocking.

After producing or revising, hand it to the audit lenses rather than declaring it done. These are candidate lenses — posture per docs/orchestration-policy.md, or route the whole artifact through pm-product-review. Here assumption-rigor is the always-relevant lens (auto-runs); the others are offered, tied to what the artifact actually contains. If the user invoked this skill for one specific thing, respect that scope.

  • pm-assumption-rigor-audit (auto-runs) — the core check: was the riskiest assumption targeted, phrased falsifiably, matched to a method of the right fidelity, with success criteria set up front and evidence read honestly (sample, duration, pattern vs. anecdote)?
  • pm-okr-metric-validity-audit (offer — if the hypotheses name success metrics) — the success metric in each hypothesis: is it a real outcome, falsifiable, and not a vanity or gameable number?

Composition (per docs/orchestration-policy.md §9): this skill produces the test plan; broad discovery method (pm-discovery) is an upstream input and spec assumptions (pm-product-spec) are a peer that owns that sub-part (defer). If the audits surface a conflict (e.g. the cheap method can't actually answer the high-stakes question), resolve toward the decision at hand: buy exactly the certainty the decision needs — no more, no less. For a full idea-to-plan build, pm-idea-to-plan is the compositional front door that sequences this test ahead of the spec — and foregrounds it as a build gate rather than burying it in the PRD.


Common do/don't patterns

❌ Don't✅ Do
"Validate the idea" by asking if people like itDecompose into beliefs; test the assumptions the idea rests on
Test the easy/comfortable assumptionMap importance × certainty; test the riskiest (high-importance, low-certainty) first
"Users will like it""We believe [change] for [user] → [outcome]; right when [metric] moves [amount]"
Phrase it as what users won't doPhrase positively — what users will do is easier to test
Decide success after seeing resultsSet the pass/fail threshold before running the test
Build code to find out if anyone wants itCheapest method first — painted door / prototype before a build
"Would you pay for this?" in an interviewAsk about past behavior; measure a real action
Run one test, once, then move onTest early and continuously; document and re-test
Treat a disproven assumption as a setback to ignorePrepare to be wrong; let it change the decision
Ship the plan as finalHand off to assumption-rigor + okr-metric-validity

Source lessons (Uxcel)

Frequently asked questions

What does the Pm Assumption Testing AI skill do?

Plan how to test the assumptions behind a product idea before building — decompose the idea into its load-bearing beliefs, prioritize the riskiest, phrase them as falsifiable hypotheses, and pick the cheapest method that answers the question. Or critique an existing validation plan. Trigger when asked to validate an idea, de-risk a feature, plan discovery/experiments, test assumptions or a hypothesis, design an MVP test, or decide "how do we know this will work?"

Why use Pm Assumption Testing on TypingMind?

Because you install it once and use it with any model. Pm Assumption Testing is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Pm Assumption Testing in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Uxcel-Lab/product-skills/tree/main/pm/processes/assumption-testing. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Pm Assumption Testing?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Pm Assumption Testing?

As many as you like. As long as a model supports skills, you can use Pm Assumption Testing with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Pm Assumption Testing AI skill free?

Yes. It is published on GitHub by Uxcel-Lab under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇