skills/what-if/SKILL.md
Tile the space of possible futures and evaluate strategies across the tiles. Blends part-whole decomposition with tree and graph of thought. This skill should be used when the user asks "what if", "what could happen if", "evaluate possible futures", "map the scenarios", "explore how this could play out", "compare futures", "stress-test this plan against the future", or faces a decision whose outcome hinges on unresolved uncertainties. Ends with a single reasoned recommendation plus the conditions that would flip it.
npx skillsauth add synapseradio/ai-skills what-ifInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Someone has handed you a future: a decision to make, a hypothetical to play out, an idea to gut-check. Your job is to accelerate their inference — to get them from a sparse question to a decision they can own, faster than they would alone. Some of what determines their future is already knowable, and the honest first move is separating that part out. What remains genuinely unknowable is where this skill does its work.
The method, with its three terms grounded before use. Find the unknowns that would actually change what the asker does — each one becomes an axis, with two or three ways it could land. Each combination of landings describes one coherent future — a tile, named for how the futures should fit together: like floor tiles, every plausible future belongs to exactly one, none belongs to two. Play out consequences inside each tile, then find the earliest observable evidence of which tile is arriving — a watchpoint. The recommendation at the end is the move that holds up across the most tiles, delivered with the watchpoints that would flip it.
The chain below runs as questions you ask and answer in the open. Each question appears in your output before its answer, so the reader follows the same spine you walk. Answer them honestly rather than ceremonially — when an answer dissolves the analysis, follow it out and say so. An early exit taken openly earns more trust than machinery run on a question that never needed it.
$ARGUMENTS
Let the problem pick the depth. A preference for effort — in either direction — makes a poor judge, so depth follows three observable signals:
One rule covers everything else: skip any question whose every possible answer would route you to the same next step. Let a skip show as structure — a reader sees which questions you walked — and name a route as observation: "one axis, so two tiles, so two questions." Never narrate a verdict on what the question deserves or what the asker really meant; depth decisions belong in the walking, never in editorial asides about the asker. Depth chosen this way stays honest in both directions — no theater on light questions, no shrug on heavy ones.
Name the parts, the phases the situation moves through, and the constraints any future must respect. Note what feeds what — a part the asker might abandon may feed a part they plan to keep. The constraints matter most: they are what let you kill impossible futures later instead of politely carrying them.
Sort every forward-looking claim into four piles:
Route on the sort:
List every candidate in one pass first — seeing them together exposes duplicates and correlation. Then keep only the ones whose resolution would change the recommendation. An unknown the asker could answer is a question, not an axis; a landing the asker controls is a strategy, not a fate. Those become the axes: two is the sweet spot, three the ceiling.
Needed only with two or more axes. Hold one fixed and check that the other can still land either way. When it can't, the two axes share one underlying unknown — merge them and return to Q3.
One tile per combination of axis landings, then prune with reasons rather than vibes:
Grow the consequences: first-order, then second. Type every link — leads-to, enables, blocks, amplifies — and resist chaining across types: A enables B and B blocks C establishes nothing between A and C.
When consequence chains from different tiles arrive at the same state, merge them and note which tiles feed it. A consequence most tiles reach is close to inevitable — worth acting on whichever future arrives.
When a link loops back onto its own cause, mark the loop and stop tracing. Feedback dynamics deserve their own pass with their own tools; here they would eat the token budget alive.
For each axis, name the earliest observable evidence that it is breaking one way — an announcement, a date passing, a number crossing a threshold. A good watchpoint passes three tests: observable (checkable on a given day), early (arrives before the consequences the asker cares about), discriminating (one landing predicts it, the other predicts its absence). The flip conditions in your recommendation come from here.
Score the asker's strategies — or derive two to four from the tiles when none were given — against each tile: thrives, survives, or dies. Two probes sharpen the scores: backcast from the tile they want (what must hold at each step for it to arrive?) and premortem the tile they fear (assume it happened; what made it inevitable?).
When no move holds across the tiles, the decision genuinely turns on a watchpoint that hasn't fired. Recommend the move that buys the information — an extension, an abstraction layer, a phased commitment — and name the date or event that ends the deferral. Even a deferral arrives as a commitment.
Walk the chain out loud, in your own voice, at the depth your route chose. A reader follows the spine of surfaced questions and honest answers, and that visible process is a feature of the response, never overhead. How you phrase each step stays yours; that the steps show themselves is invariant.
Then the ending. Narrative is how a reader encodes a decision to memory, and Q5 already wrote the stories — close by delivering them as one, so the asker feels the worlds diverge before receiving the move that holds across them. Four things land in order, recommendation last, because the last thing on a page commits:
Never close on "it depends." Q10 exists so that even genuine dependency arrives as a committed move with an end date.
Loops marked in Q7 trail the recommendation as open items for a systems-thinking pass.
A walk projects a wide space of unknowns onto the few axes that change the decision, and parks the rest — as knowns, as stated assumptions, as watchpoints. Parked information stays honest only while something can bring it back. Three seams in the chain accept a second entry:
An orchestrator splits the chain at its phases: run Q1 through Q6, stop, and hand each tile worth entering to a child walk — live per its watchpoints, or exposed per Q9, never all of them. Aggregate with rules the chain already carries: a consequence most children reach is close to inevitable (Q7's merge), and strategies score across the union of what the children return (Q9). Hold depth at two levels; nesting recovers dimensionality a single walk projects away, and each level stays tellable.
The unless agent. Alongside the children, an orchestrator runs one more agent that holds every parked assumption from Q2 and does nothing else. At each checkpoint — tiles formed, consequences grown, recommendation drafted — it asks one question per assumption: unless this still holds, which tile flips? When an assumption breaks, it interrupts the line, and every walk that leaned on the assumption re-enters at Q2 instead of shipping a recommendation built on a dead premise.
Read references/examples.md when unsure what a good walk or a wrong turn looks like.
data-ai
Locate where a small change shifts the whole system
tools
Surface unstated assumptions at multiple levels and rank them
data-ai
Assess how well evidence supports claims
testing
Spot logical errors in reasoning