---
name: davepoon/soft-predict-future
source: https://app.decimal.ai/s/davepoon-soft-predict-future@1/SKILL.md
source_sha256: e434f4891aea
---

# Soft Predict Future — Foresight Engine

Activate when the user asks any future-oriented question — "Will [X]?", "Who will win [X]?", "What happens to [X]?", "Can [X] succeed?", or any question about a future outcome. **Year is NOT required.** Also activate on: foresight analysis, scenario analysis, STEEEP, futures cone, or any prediction request.

---

## Try Asking

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TRY ASKING  (year optional — engine infers the horizon)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ Who will win — Google or Perplexity?
■ Will OpenAI or Anthropic dominate the AI race?
■ Will India become the global AI leader?
■ Will crypto replace banks?
■ Will remote work become permanent?
■ Will EVs dominate Indian cities by 2032?
■ Will UPI become Southeast Asia's default payment rail by 2028?
■ Will Europe lead the green energy transition by 2035?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

> **Soft Predict Future** uses Claude's native reasoning + web search. Outputs are structurally correct and fast. For deterministic, auditable scoring say: **"Run hard predict future: [your question]"**

---

## The 9-Step Pipeline

Execute ALL steps in order. Never skip. Never combine. Show your work at each step.

---

### Step 1 — Validate Input

Apply exactly 5 binary rules. If ANY rule fails, stop and explain why. Do not proceed.

**Rule 1 — Entity Reality:** Does the entity actually exist in the real world? Fail if fictional, hypothetical, or unnamed.

**Rule 2 — System Existence:** Is the domain observable and researchable? Fail if purely philosophical or metaphysical.

**Rule 3 — Time Horizon:** Is the outcome observable within a 2–30 year window? A specific year is NOT required. If no year is given, infer the most reasonable horizon from the question's nature:
- Competitive race / market dominance questions → 3–10 years (Strategic)
- Technology adoption questions → 5–15 years (Strategic)
- Geopolitical / societal shift questions → 10–20 years (Civilizational)
- Company survival / near-term outcome → 2–5 years (Operational/Strategic)

Fail ONLY if the implied timescale is geological, post-human, or clearly beyond 30 years.

After applying Rule 3, state the inferred horizon (e.g. "2026–2033" or "2028–2038").

**Rule 4 — Signal Availability:** Could real-world evidence plausibly exist? Fail if classified, purely speculative, or unpublished.

**Rule 5 — Minimum Specificity:** Is the question specific enough to produce distinct scenario outcomes? Fail if trivially true for any answer.

Output:
```
VALIDATION
Rule 1 Entity Reality:      PASS / FAIL — [reason]
Rule 2 System Existence:    PASS / FAIL — [reason]
Rule 3 Time Horizon:        PASS / FAIL — [reason] | Inferred horizon: [YYYY–YYYY]
Rule 4 Signal Availability: PASS / FAIL — [reason]
Rule 5 Specificity:         PASS / FAIL — [reason]
Result: PROCEED / STOP
```

---

### Step 2 — Collect Signals

Run exactly 6 web searches. Collect a minimum of 18 signals total. Do not proceed with fewer than 18.

**Search 1:** Current state — `"[topic] current status [year]"`
**Search 2:** Growth indicators — `"[topic] growth data market size [year]"`
**Search 3:** Barriers and headwinds — `"[topic] challenges barriers risks"`
**Search 4:** Policy and regulation — `"[topic] government policy regulation"`
**Search 5:** Technology or infrastructure enablers — `"[topic] technology infrastructure investment"`
**Search 6:** Historical precedent — `"[topic] historical analogue similar transition"`

For each signal, classify all 6 attributes:

| Attribute | Values |
|---|---|
| direction | supporting / opposing / wildcard / neutral |
| steeep_category | Social / Technological / Economic / Environmental / Ethical / Political |
| temporal_layer | Operational (0–3yr) / Strategic (3–10yr) / Civilizational (10+yr) |
| source_type | primary / secondary / opinion |
| recency_days | integer |
| has_evidence | true / false (contains a number, date, or measurable fact) |

Present signals in a table with all 6 columns filled for every row.

---

### Step 3 — Score Signals

Score every signal individually using this formula:

```
score = recency_weight × reliability_weight × type_weight × evidence_multiplier
```

Cap at 1.0. Round to 2 decimal places.

**Recency weights:**
- 0–90 days: 1.00 · 91–365 days: 0.80 · 1–3 years: 0.60 · 3+ years: 0.40 · unknown: 0.50

**Reliability weights:**
- Primary (government/official): 1.00
- Established news (Reuters, Bloomberg, FT, ET): 0.90
- Industry report (McKinsey, Gartner, NASSCOM): 0.85
- Analyst commentary: 0.70 · Opinion/blog/social: 0.50 · Unknown: 0.40

**Type weights:**
- Supporting: 1.00 · Opposing: 1.00 · Neutral: 0.60 · Wildcard: 1.30

**Evidence multiplier:**
- DATA / STATISTIC: × 1.20 · EVENT / INCIDENT: × 1.00 · ANALYSIS / OPINION: × 0.70

Apply regional multiplier after base score:
```
final_score = min(1.0, base_score × regional_multiplier[steeep][temporal])
```

Show scoring table: Signal | recency_w | reliability_w | type_w | evidence_mult | base_score | regional_mult | final_score

---

### Step 4 — Extract Structural Drivers

A **driver** is the deep structural force that explains WHY a cluster of signals exists. Signals are observable. Drivers are causal.

After scoring, group signals by STEEEP category. For each cluster of 3+ signals in the same category, identify the underlying driver.

Extract exactly **3 top drivers**, ranked by the sum of final_scores of the signals they explain.

For each driver state:
- **Name:** 3–5 word label (e.g. "India DPI Infrastructure Advantage")
- **Force:** One sentence — the structural reality this driver represents
- **Signals it explains:** List the signal IDs it accounts for
- **Temporal reach:** Operational / Strategic / Civilizational
- **Stability:** LOCKED (unlikely to change in 10yr) / SHIFTING (could change in 3–5yr) / FRAGILE (could reverse in 1–2yr)

Output:
```
STRUCTURAL DRIVERS
D1 [Name] — [Force]
   Explains: [signal list] | Temporal: [layer] | Stability: [tier]

D2 [Name] — [Force]
   Explains: [signal list] | Temporal: [layer] | Stability: [tier]

D3 [Name] — [Force]
   Explains: [signal list] | Temporal: [layer] | Stability: [tier]
```

Drivers feed directly into scenario writing in Step 8. Each scenario must be traceable to at least one driver.

---

### Step 5 — Build 6×3 STEEEP Matrix

Populate all 18 cells. Each cell value = average final_score of all signals mapped to that STEEEP × Temporal combination. Empty cells = 0.

|  | Operational (0–3yr) | Strategic (3–10yr) | Civilizational (10+yr) |
|---|---|---|---|
| **Social** | | | |
| **Technological** | | | |
| **Economic** | | | |
| **Environmental** | | | |
| **Ethical** | | | |
| **Political** | | | |

Apply regional multipliers to each cell. Then identify:
- **Hot zones:** cells with score > 0.50
- **Gap zones:** cells with score = 0.00
- **Dominant zone:** single highest-scoring cell

---

### Step 6 — Cross-Impact Analysis

Signals are scored independently in Step 3, but structural forces interact. This step identifies amplification effects across STEEEP categories.

**Rule:** If 2 or more hot zones exist in the SAME temporal layer, a cross-impact convergence exists. Convergence means the probable outcome is structurally reinforced from multiple directions simultaneously.

For each temporal layer (Operational / Strategic / Civilizational):
1. Count hot zones (score > 0.50)
2. If count ≥ 2: flag as **CONVERGENCE** — state which categories are reinforcing each other and why
3. If count = 1: flag as **ISOLATED** — single-category signal, more fragile
4. If count = 0: flag as **BLIND LAYER** — no strong evidence in this time horizon

Also identify any **opposing cross-impacts**: where a hot zone in one STEEEP category directly contradicts or slows a hot zone in another (e.g. Technological/Strategic hot but Political/Strategic opposing). Flag these as **FRICTION POINTS**.

Output:
```
CROSS-IMPACT
Operational:    [CONVERGENCE / ISOLATED / BLIND LAYER] — [explanation]
Strategic:      [CONVERGENCE / ISOLATED / BLIND LAYER] — [explanation]
Civilizational: [CONVERGENCE / ISOLATED / BLIND LAYER] — [explanation]

Friction points: [list any STEEEP pairs in conflict, or "None detected"]
Convergence bonus: [+X% to probable_pct if Strategic convergence exists]
```

Apply convergence bonus: if Strategic layer has CONVERGENCE, add 5% to probable_pct before normalization in Step 7.

---

### Step 7 — Find 3 Historical Analogues

Identify exactly 3 real historical cases that parallel the question's trajectory.

For each:
1. **Name:** Common name of the transition
2. **Similarity (%):** Estimated % structural similarity (0–100)
3. **Tipping event:** Single event or policy that caused acceleration
4. **Equivalent today:** YES / NO / PARTIAL
5. **Which driver it validates:** Match to D1, D2, or D3 from Step 4

Prefer analogues with similarity ≥ 60%. If none exceed 60%, note as a confidence penalty.

---

### Step 8 — Compute Probabilities + Confidence

#### Predictions — Independent Confidence Scores

Each future type is scored independently (0–100). They do NOT sum to 100%.
Futures cone methodology: a scenario can be 80% Probable AND 60% Plausible simultaneously.

```
R_probable  = (supporting signals with score > 0.70) × 3
            + (best analogue similarity / 100) × 4
            + (hot zone count) × 2
            + convergence_bonus (5 if Strategic CONVERGENCE, else 0)

R_plausible = (supporting signals with score 0.40–0.70) × 2
            + (second analogue similarity / 100) × 3

R_possible  = (wildcard signals) × 2
            + (opposing signals with score > 0.60) × 2
            + (gap zones / 18) × 3
```

Convert to independent scores (exponential curve, not normalization):
```
probable_score  = min(100, round((1 - e^(-R_probable  / 18)) × 100))
plausible_score = min(100, round((1 - e^(-R_plausible / 9))  × 100))
possible_score  = min(100, round((1 - e^(-R_possible  / 5))  × 100))
```

#### Confidence

```
signal_count_score = min(100, total_signals / 25 × 100) × 0.30
signal_diversity   = (unique STEEEP categories covered / 6 × 100) × 0.30
recency_score      = (signals with recency_days ≤ 90 / total) × 100 × 0.20
evidence_score     = (signals with has_evidence=true / total) × 100 × 0.20

confidence = round(signal_count_score + signal_diversity + recency_score + evidence_score)
```

---

### Step 9 — Write Scenarios + Assemble Report

#### Scenario Rules

**PROBABLE, PLAUSIBLE, POSSIBLE** — each must:
- Be traceable to at least one structural driver (cite D1/D2/D3)
- Have no narrative overlap with the others
- Include PROOF with a number or date
- Write IF and BUT in one sentence each — no hedging ("might", "could")

**PREFERABLE — IFTF Backcasting Structure**

Do not write PREFERABLE as a probability-weighted outcome. Write it as a designed future, then backcast to today.

Format:
```
■ PREFERABLE — [Short title]
[2–3 sentences: describe the desired state as already achieved]

BACKCAST
Civilizational (10+yr): [What must be structurally true by the far horizon]
Strategic (3–10yr):     [What must be built or decided in the medium horizon]
Operational (0–3yr):    [What must happen NOW to set the trajectory]

LEVERAGE: [The single highest-leverage action available today — specific, not generic]
DRIVER:   [Which structural driver (D1/D2/D3) this path depends on most]
```

#### Decision Guidance (deterministic logic)

```
IF probable_score > 60:
    stance = "Align with probable scenario trajectory"
    low_regret = "Invest in capability building in the dominant hot zone"

ELIF plausible_score > 50:
    stance = "Hedge between probable and plausible scenarios"
    low_regret = "Choose reversible commitments that work in both"

ELIF possible_score > 40:
    stance = "Maintain optionality — signal environment is ambiguous"
    low_regret = "Invest in monitoring and early-warning indicators"

ELSE:
    stance = "Defer commitment — insufficient signal clarity"
    low_regret = "Reduce uncertainty before acting"
```

Confidence qualifier:
- ≥ 70: prefix "High conviction —"
- < 40: prefix "Low conviction —" and add "Expand signal collection before acting"

Risk trigger: the opposing signal with the highest final_score.

#### Canonical Output Template

**MANDATORY: Output ALL sections below, every single run, no exceptions. Never skip a section. Never produce a partial report.**

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SOFT PREDICT FUTURE  ·  FORESIGHT ENGINE
[Query]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

PREDICTIONS
■ Probable  [[X]/100] [████████████░░░░░░░░] — [one sentence, no hedging]
■ Plausible [[X]/100] [████████░░░░░░░░░░░░] — [one sentence, no hedging]
■ Possible  [[X]/100] [████░░░░░░░░░░░░░░░░] — [one sentence, no hedging]
■ Preferable          [stakeholder analysis below]

Confidence: [X]/100  |  Signals: [N]  |  Horizon: [YYYY–YYYY]  |  [YYYY-MM-DD]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

SIGNAL PULSE
— How many pieces of real-world evidence support, oppose, or complicate this question
Supporting [N] [████████████░░░░░░░░]  Opposing [N] [████░░░░░░░░░░░░░░░░]  Wild [N]
Net: [SUPPORTING LEADS / OPPOSING LEADS / NEUTRAL]
Hot zone: [The single STEEEP category with strongest evidence]
Gap: [STEEEP categories with no signals, or "None — full coverage"]

STRUCTURAL DRIVERS
— The 3 deep causal forces (not events) explaining WHY the signals exist. Stability = likelihood of change.
D1 [Name] — [Force] ([LOCKED / SHIFTING / FRAGILE])
D2 [Name] — [Force] ([LOCKED / SHIFTING / FRAGILE])
D3 [Name] — [Force] ([LOCKED / SHIFTING / FRAGILE])

CROSS-IMPACT
— Whether multiple STEEEP domains reinforce or contradict each other in the same time layer
Operational:    [CONVERGENCE / ISOLATED / BLIND LAYER] — [explanation]
Strategic:      [CONVERGENCE / ISOLATED / BLIND LAYER] — [explanation]
Civilizational: [CONVERGENCE / ISOLATED / BLIND LAYER] — [explanation]
Friction:       [Conflicting domain pairs, or "None detected"]

HISTORICAL MATCH
— Real past transition most structurally similar to this question. Higher % = stronger precedent.
[Best analogue] ([similarity]% similar)
Tipped by: [The specific event or policy that caused the shift]
Equivalent now: [EXISTS / PARTIAL / ABSENT]
Validates: [D1 / D2 / D3]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■ PROBABLE [[X]%] — [Title]
— The most evidence-backed outcome given current signal strength
[2–3 sentence narrative. No hedging.]
PROOF: [Fact with number or date]
IF:    [The condition that activates this scenario]
BUT:   [The constraint or bottleneck that could slow it]
DRIVER: D[n]

■ PLAUSIBLE [[X]%] — [Title]
— A realistic alternative if moderate signals strengthen or dominant ones weaken
[2–3 sentence narrative]
PROOF: [Fact with number or date]
IF:    [Activation condition]
BUT:   [Constraint]
DRIVER: D[n]

■ POSSIBLE [[X]%] — [Title]
— A lower-probability outcome driven by wildcards or high-scoring opposing signals
[2–3 sentence narrative]
PROOF: [Fact with number or date]
IF:    [Activation condition]
BUT:   [Constraint]
DRIVER: D[n]

■ PREFERABLE — [Title]
— Not a prediction. A designed future: what the best achievable outcome looks like, traced back to today.
[2–3 sentences: desired state as already achieved. No hedging.]
BACKCAST
  Civilizational: [What must be structurally true by the far horizon]
  Strategic:      [What must be built or decided in the medium term]
  Operational:    [What must begin NOW to set the trajectory]
LEVERAGE: [Single highest-leverage action today — specific actor, specific action]
DRIVER: D[n]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

PREFERABLE FUTURES  ·  Per major stakeholder
— For each major player in the query, state the conditions required for their preferred outcome

[Player A]:
  Wins IF  → [specific condition that must be created or occur]
  BUT ONLY → [binding constraint that must also be satisfied]
  ONLY THEN → [the outcome that becomes possible]

[Player B]:
  Wins IF  → [specific condition]
  BUT ONLY → [binding constraint]
  ONLY THEN → [outcome]

[Users/Society — always include]:
  Wins IF  → [condition for best collective outcome]
  BUT ONLY → [constraint]
  ONLY THEN → [outcome]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

THE ONE THING
— The single variable whose presence or absence determines which scenario actually unfolds
[One sentence naming the deciding variable]
INCIDENT: [Real past event showing this variable's power]
WATCH:    [Leading indicator — a milestone, metric, or policy action to monitor]
IF YES → [What accelerates]
IF NO  → [What stalls]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

DECISION GUIDANCE
Recommended stance: [From deterministic probability logic]
Low-regret move:    [Action that pays off in multiple scenarios simultaneously]
Risk trigger:       [Highest-scored opposing signal — the one that could invalidate Probable]

[REGIONAL LENS — [REGION]]
Top multipliers: [STEEEP/temporal (Xx)]  [STEEEP/temporal (Xx)]
Key local variable: [One sentence on the dominant local structural factor]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

METHODOLOGY KEY
Signal score (0–1)     Recency × source reliability × signal type × evidence strength — higher = fresher, better-sourced, stronger evidence
Confidence (0–100)     Signal density (0–40) + evidence balance (0–30) + historical grounding (0–30) − blind spot penalty (0–15)
Predictions            PROBABLE / PLAUSIBLE / POSSIBLE are independent scores (0–100 each, do NOT sum to 100)
                       Futures cone: a scenario can score high on multiple types simultaneously
STEEEP matrix          6 domains × 3 time horizons — ★ hot (>1.0) ● warm (>0.5) ✗ blind spot (0)
Historical similarity   Structural pattern match to real past transitions — 60%+ is reliable precedent; below 40% is weak grounding
Convergence bonus      +5 added to Probable score when 2+ STEEEP domains reinforce each other in the Strategic layer
Stability tiers        LOCKED = unlikely to change in 10yr | SHIFTING = could change in 3–5yr | FRAGILE = could reverse in 1–2yr
Preferable futures     Per stakeholder: Wins IF [condition] BUT ONLY [constraint] ONLY THEN [outcome]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

---

## Visual Output (claude.ai with Artifacts)

If running on claude.ai and Artifacts are enabled, after the text report generate an HTML Artifact:

```html
<!-- Render a visual foresight report with:
  1. Predictions bar chart — horizontal bars for Probable/Plausible/Possible scores
  2. STEEEP matrix — 6×3 color-coded table (darker green = hotter cell, red = blind spot)
  3. Futures cone — SVG diagram showing 4 scenario bands expanding from present to horizon
  4. Stakeholder preferable cards — one card per player with Wins IF / BUT ONLY / ONLY THEN
  Use inline CSS only. No external dependencies. Dark background (#0f0f0f), accent color #00d4aa.
-->
```

---

## Regional Multiplier Tables

Apply in Step 3 and Step 5.

### India
| | Operational | Strategic | Civilizational |
|---|---|---|---|
| **Social** | 1.10 | 1.30 | 1.20 |
| **Technological** | 1.40 | 1.30 | 1.10 |
| **Economic** | 1.20 | 1.25 | 1.15 |
| **Environmental** | 0.90 | 1.00 | 1.10 |
| **Ethical** | 0.95 | 1.00 | 1.05 |
| **Political** | 0.85 | 0.90 | 1.00 |

**India note:** UPI/DPI gives asymmetric advantage in Technological/Operational. Political/Operational discounted by regulatory fragmentation across states.

### USA
| | Operational | Strategic | Civilizational |
|---|---|---|---|
| **Social** | 1.00 | 1.10 | 1.05 |
| **Technological** | 1.20 | 1.40 | 1.20 |
| **Economic** | 1.10 | 1.30 | 1.10 |
| **Environmental** | 0.95 | 1.00 | 1.05 |
| **Ethical** | 1.05 | 1.10 | 1.10 |
| **Political** | 0.90 | 0.95 | 1.00 |

**USA note:** Deep capital markets amplify Technological/Strategic. Political/Operational discounted by legislative gridlock.

### Europe
| | Operational | Strategic | Civilizational |
|---|---|---|---|
| **Social** | 1.00 | 1.05 | 1.10 |
| **Technological** | 1.00 | 1.10 | 1.05 |
| **Economic** | 0.95 | 0.90 | 0.90 |
| **Environmental** | 1.20 | 1.40 | 1.30 |
| **Ethical** | 1.10 | 1.20 | 1.20 |
| **Political** | 1.05 | 1.10 | 1.10 |

**Europe note:** Regulatory leadership (GDPR, EU AI Act, Green Deal) amplifies Environmental/Strategic. Economic/Civilizational discounted by demographic headwinds.

### China
| | Operational | Strategic | Civilizational |
|---|---|---|---|
| **Social** | 1.00 | 1.10 | 1.05 |
| **Technological** | 1.20 | 1.50 | 1.30 |
| **Economic** | 1.10 | 1.20 | 1.10 |
| **Environmental** | 0.90 | 1.00 | 1.05 |
| **Ethical** | 0.70 | 0.75 | 0.80 |
| **Political** | 1.10 | 1.15 | 1.00 |

**China note:** State-directed capital amplifies Technological/Strategic strongly. Ethical/Operational discounted by limited transparency.

### Global (default)
All multipliers = 1.0. Apply when no region is detectable.