Business resolution pre-flight: If --business is absent or the directory docs/business-os/strategy/<BIZ>/ does not exist, apply _shared/business-resolution.md before any other step.
--horizon-days: Forecast horizon in days (default: 90)
--launch-surface: Stage of launch — pre-website (MVP planning) or website-live (post-launch tracking)
Operating Mode
READ + RESEARCH + FORECAST
Read existing business context, offer hypothesis (from lp-offer/MARKET-06), and available market data
Research competitor benchmarks, channel performance ranges, and market size signals
Forecast P10/P50/P90 scenario bands with unit economics assumptions
Generate first-14-day validation plan (THE primary deliverable)
Differs from lp-do-idea-forecast
This skill is NOT a rename or copy of lp-do-idea-forecast. Key differences:
Works from zero operational data: lp-do-idea-forecast requires historical performance data or existing market intelligence packs. lp-forecast builds forecasts from competitor benchmarks and channel ranges only.
No market intelligence pack prerequisite: lp-do-idea-forecast blocks when latest.user.md market research is stale and requires Deep Research prompt. lp-forecast proceeds with available evidence (competitor pricing, channel benchmarks) and marks confidence accordingly.
Simpler output contract: lp-do-idea-forecast delivers a full 12-section Output Contract with detailed channel plans and financial models. lp-forecast delivers P10/P50/P90 bands, unit economics assumptions, and a first-14-day validation plan.
No Deep Research gate: lp-do-idea-forecast stops and requires manual Deep Research when data is insufficient. lp-forecast proceeds with available evidence and tags assumptions as low-confidence when data is sparse.
Validation-first mindset: Both include first-14-day validation plans, but lp-forecast makes this THE central output — the forecast is a hypothesis to validate, not a plan to execute.
Inputs
Reads from:
Business context: docs/business-os/startup-baselines/<BIZ>/
Offer hypothesis: Output from lp-offer (MARKET-06) — docs/business-os/startup-baselines/<BIZ>/offer.md
Channel selection (optional if available): Output from lp-channels (SELL-01) — docs/business-os/startup-baselines/<BIZ>/channels.md
Market data: Any available competitor pricing, channel benchmarks, market size signals (opportunistic)
Artifact registry: Canonical producer paths are defined in docs/business-os/startup-loop/artifact-registry.md.
No formal market intelligence pack required. If none exists, proceed with web research.
Workflow
Stage 1: Gather Available Evidence
Read offer hypothesis (pricing, target customer, value prop)
Artifact registry: Canonical path defined in docs/business-os/startup-loop/artifact-registry.md (artifact ID: forecast).
Required sections:
Scenario Summary: P10/P50/P90 bands for revenue, orders, traffic/leads
Unit Economics: CAC, AOV, margin, conversion rate per scenario
Channel Ranges: Traffic, spend, CAC per channel (from lp-channels)
First-14-Day Validation Plan: Metrics, thresholds, decision gates, data sources
Assumption Register: All assumptions with these mandatory fields:
assumption_id — stable ID for tracking across review cycles
assumption_statement — plain-language claim being made
prior_range — plausible range before evidence
sensitivity — impact on CAC/CVR/revenue if assumption is wrong (Low/Medium/High)
evidence_source — URL or artifact reference
confidence_level — low (<60) / medium (60–79) / high (≥80)
kill_trigger — observable state that invalidates this assumption (e.g., "Day 7 CAC > 2× P90 estimate")
owner — named person responsible for monitoring and re-checking
next_review_date — ISO date for next assumption review
Source List: URLs for competitor data, channel benchmarks, market signals
Quality Checks
Self-audit before delivery:
All three scenarios (P10/P50/P90) present with numeric ranges
Unit economics defined for each scenario
Channel-specific ranges match channels selected in lp-channels
First-14-day validation plan includes metrics, thresholds, and decision gates
Assumption register includes all 9 mandatory fields for every assumption (assumption_id, assumption_statement, prior_range, sensitivity, evidence_source, confidence_level, kill_trigger, owner, next_review_date)
Confidence tier declared (low/medium/high) with corresponding spend cap, time cap, cadence, and allowed decision class
Source list includes URLs for all claims (no unsourced assertions)
Output file persisted to docs/business-os/startup-baselines/<BIZ>/S3-forecast/
Red Flags
Invalid outputs that require rework:
Single-point forecast (no P10/P50/P90 bands)
Missing first-14-day validation plan
Unsourced claims (no URLs in source list)
Unit economics missing for any scenario
Channel ranges don't match lp-channels output
Assumption register missing kill_trigger, owner, or next_review_date for any assumption
Confidence tier not declared or spend cap / time cap not stated for the tier
Validation plan has no decision gates
Integration
Consumes: lp-offer output (MARKET-06); may consume lp-channels output (SELL-01) when available
Trigger: Called automatically by startup-loop at S3 stage, or manually via /lp-forecast
Forecast Guardrails (Confidence Tier Policy)
Apply the correct tier based on the overall confidence level of the forecast. Confidence level = the lowest confidence across all P50 scenario assumptions.
Forecast confidence tier
Spend cap
Operator time cap
Re-check cadence
Allowed decision class
low (<60)
10% of planned monthly spend (or fixed micro-budget)
≤5 hours/week/channel
Every 7 days
Continue or Investigate only — no Scale or Kill
medium (60–79)
30% of planned monthly spend
≤10 hours/week/channel
Every 7 days
Keep, Pivot, or Continue — no full Scale
high (≥80)
Up to planned budget
Planned operating cadence
Weekly
Full decision set including Scale and Kill
Guardrail breach handling:
If actual spend is at or approaching the cap before the re-check cadence is due, pause and run an ad-hoc review — do not extend the cap unilaterally.
If confidence improves at re-check (new evidence), tier may be upgraded. Document the upgrade with evidence source.
Unknown or missing confidence values default to low tier — fail closed.
Reference:docs/plans/startup-loop-marketing-sales-capability-gap-audit/fact-find.md (Sparse-evidence forecast control surface)
Launch Surface Modes
pre-website
Focus on lead generation metrics (email signups, waitlist, pre-orders)
Traffic forecast not required (no website yet)
CAC based on pre-launch channels (social, partnerships, waitlist ads)
website-live
Focus on traffic, conversion, orders
CAC based on post-launch channels (SEO, paid ads, email, partnerships)
Include visitor-to-order funnel metrics
Notes
This forecast is a hypothesis to validate, not a prediction to execute
Low-confidence assumptions are acceptable — apply the low confidence tier guardrail (10% spend cap, ≤5 hrs/week/channel, Continue/Investigate only). See ## Forecast Guardrails above.
First-14-day validation plan is THE critical output (the forecast exists to be tested)
If evidence is sparse, proceed with low-confidence tags and wide P10-P90 bands
No Deep Research gate — work with what's available and mark uncertainty
1---2name: lp-forecast3description: S3 startup 90-day forecaster — build P10/P50/P90 scenario bands from zero operational data4---56# lp-forecast — Startup 90-Day Forecaster
78Build P10/P50/P90 scenario bands and first-14-day validation plan for pre-launch or newly launched businesses with zero historical performance data.
910## Invocation
1112```bash
13/lp-forecast --business <BIZ> [--horizon-days 90] [--launch-surface pre-website|website-live]
14```
1516- `--business`: Business name (BRIK, intshop, etc.)
1718**Business resolution pre-flight:** If `--business` is absent or the directory `docs/business-os/strategy/<BIZ>/` does not exist, apply `_shared/business-resolution.md` before any other step.
1920- `--horizon-days`: Forecast horizon in days (default: 90)
21- `--launch-surface`: Stage of launch — `pre-website` (MVP planning) or `website-live` (post-launch tracking)
2223## Operating Mode
2425READ + RESEARCH + FORECAST
2627- Read existing business context, offer hypothesis (from lp-offer/MARKET-06), and available market data
28- Research competitor benchmarks, channel performance ranges, and market size signals
29- Forecast P10/P50/P90 scenario bands with unit economics assumptions
30- Generate first-14-day validation plan (THE primary deliverable)
3132## Differs from lp-do-idea-forecast
3334This skill is NOT a rename or copy of `lp-do-idea-forecast`. Key differences:
35361. **Works from zero operational data**: lp-do-idea-forecast requires historical performance data or existing market intelligence packs. lp-forecast builds forecasts from competitor benchmarks and channel ranges only.
37382. **No market intelligence pack prerequisite**: lp-do-idea-forecast blocks when `latest.user.md` market research is stale and requires Deep Research prompt. lp-forecast proceeds with available evidence (competitor pricing, channel benchmarks) and marks confidence accordingly.
39403. **Simpler output contract**: lp-do-idea-forecast delivers a full 12-section Output Contract with detailed channel plans and financial models. lp-forecast delivers P10/P50/P90 bands, unit economics assumptions, and a first-14-day validation plan.
41424. **No Deep Research gate**: lp-do-idea-forecast stops and requires manual Deep Research when data is insufficient. lp-forecast proceeds with available evidence and tags assumptions as low-confidence when data is sparse.
43445. **Validation-first mindset**: Both include first-14-day validation plans, but lp-forecast makes this THE central output — the forecast is a hypothesis to validate, not a plan to execute.
4546## Inputs
4748Reads from:
49- Business context: `docs/business-os/startup-baselines/<BIZ>/`
50- Offer hypothesis: Output from lp-offer (MARKET-06) — `docs/business-os/startup-baselines/<BIZ>/offer.md`
51- Channel selection (optional if available): Output from lp-channels (SELL-01) — `docs/business-os/startup-baselines/<BIZ>/channels.md`
52- Market data: Any available competitor pricing, channel benchmarks, market size signals (opportunistic)
5354**Artifact registry**: Canonical producer paths are defined in `docs/business-os/startup-loop/artifact-registry.md`.
5556No formal market intelligence pack required. If none exists, proceed with web research.
5758## Workflow
5960### Stage 1: Gather Available Evidence
6162- Read offer hypothesis (pricing, target customer, value prop)
63- Read channel selection (which channels, why chosen)
64- Web research: competitor pricing, channel benchmarks (e.g., Google Ads CPC for niche, email open rates for vertical)
65- Market size signals: search volume, competitor traffic estimates, industry reports (opportunistic)
66- Tag confidence: high (multiple sources), medium (single source), low (extrapolated/assumed)
6768### Stage 2: Build Scenario Forecast
6970Create P10/P50/P90 scenario bands for:
71- **Revenue**: 90-day cumulative revenue range
72- **Orders**: 90-day order count range
73- **Traffic**: 90-day unique visitor range (if website-live)
74- **Leads**: 90-day lead count range (if pre-website)
7576Scenarios:
77- **P10** (pessimistic): Low conversion, high CAC, slow ramp
78- **P50** (base case): Channel benchmark conversion, median CAC, steady ramp
79- **P90** (optimistic): High conversion, low CAC, fast ramp
8081### Stage 3: Define Unit Economics Assumptions
8283For each scenario (P10/P50/P90):
84- **CAC**: Customer acquisition cost per channel
85- **AOV**: Average order value
86- **Margin**: Gross margin per order
87- **Conversion rate**: Visitor-to-order or lead-to-order
88- **Channel mix**: Traffic/spend distribution across selected channels
8990### Stage 4: Create First-14-Day Validation Plan
9192THE key output. Define:
93- **Metrics to track**: Which KPIs confirm or refute the forecast
94- **Measurement cadence**: Daily/weekly/milestone-based
95- **Decision gates**: When to pivot, pause, or accelerate
96- **Validation thresholds**: What metrics must hit what values by day 7, day 14
97- **Data sources**: Where to pull each metric (analytics, CRM, ads dashboard)
9899Example decision gate: "If Day 7 CAC exceeds P90 CAC by 50%, pause paid channels and pivot to organic."
100101### Stage 5: Persist Output
102103Write forecast to:
104```
105docs/business-os/startup-baselines/<BIZ>/S3-forecast/YYYY-MM-DD-lp-forecast.user.md
106```
107108Output format:
109- Scenario summary table (P10/P50/P90 bands)
110- Unit economics assumptions per scenario
111- Channel-specific ranges (per channel selected in lp-channels)
112- First-14-day validation plan (metrics, thresholds, decision gates)
113- Assumption register with confidence tags
114- Source list with URLs
115116## Output Contract
117118File: `docs/business-os/startup-baselines/<BIZ>/S3-forecast/YYYY-MM-DD-lp-forecast.user.md`
119120**Artifact registry**: Canonical path defined in `docs/business-os/startup-loop/artifact-registry.md` (artifact ID: `forecast`).
121122Required sections:
1231. **Scenario Summary**: P10/P50/P90 bands for revenue, orders, traffic/leads
1242. **Unit Economics**: CAC, AOV, margin, conversion rate per scenario
1253. **Channel Ranges**: Traffic, spend, CAC per channel (from lp-channels)
1264. **First-14-Day Validation Plan**: Metrics, thresholds, decision gates, data sources
1275. **Assumption Register**: All assumptions with these mandatory fields:
128 - `assumption_id` — stable ID for tracking across review cycles
129 - `assumption_statement` — plain-language claim being made
130 - `prior_range` — plausible range before evidence
131 - `sensitivity` — impact on CAC/CVR/revenue if assumption is wrong (Low/Medium/High)
132 - `evidence_source` — URL or artifact reference
133 - `confidence_level` — `low` (<60) / `medium` (60–79) / `high` (≥80)
134 - `kill_trigger` — observable state that invalidates this assumption (e.g., "Day 7 CAC > 2× P90 estimate")
135 - `owner` — named person responsible for monitoring and re-checking
136 - `next_review_date` — ISO date for next assumption review
1376. **Source List**: URLs for competitor data, channel benchmarks, market signals
138139## Quality Checks
140141Self-audit before delivery:
142- [ ] All three scenarios (P10/P50/P90) present with numeric ranges
143- [ ] Unit economics defined for each scenario
144- [ ] Channel-specific ranges match channels selected in lp-channels
145- [ ] First-14-day validation plan includes metrics, thresholds, and decision gates
146- [ ] Assumption register includes all 9 mandatory fields for every assumption (`assumption_id`, `assumption_statement`, `prior_range`, `sensitivity`, `evidence_source`, `confidence_level`, `kill_trigger`, `owner`, `next_review_date`)
147- [ ] Confidence tier declared (low/medium/high) with corresponding spend cap, time cap, cadence, and allowed decision class
148- [ ] Source list includes URLs for all claims (no unsourced assertions)
149- [ ] Output file persisted to `docs/business-os/startup-baselines/<BIZ>/S3-forecast/`
150151## Red Flags
152153Invalid outputs that require rework:
154- Single-point forecast (no P10/P50/P90 bands)
155- Missing first-14-day validation plan
156- Unsourced claims (no URLs in source list)
157- Unit economics missing for any scenario
158- Channel ranges don't match lp-channels output
159- Assumption register missing `kill_trigger`, `owner`, or `next_review_date` for any assumption
160- Confidence tier not declared or spend cap / time cap not stated for the tier
161- Validation plan has no decision gates
162163## Integration
164165- **Consumes**: lp-offer output (MARKET-06); may consume lp-channels output (SELL-01) when available
166- **Feeds into**: lp-prioritize (S4 prioritization), startup-loop S4 baseline (first-14-day tracking)
167- **Trigger**: Called automatically by startup-loop at S3 stage, or manually via `/lp-forecast`
168169## Forecast Guardrails (Confidence Tier Policy)
170171Apply the correct tier based on the overall confidence level of the forecast. Confidence level = the lowest confidence across all P50 scenario assumptions.
172173| Forecast confidence tier | Spend cap | Operator time cap | Re-check cadence | Allowed decision class |
174|---|---|---|---|---|
175| `low` (<60) | 10% of planned monthly spend (or fixed micro-budget) | ≤5 hours/week/channel | Every 7 days | `Continue` or `Investigate` only — no `Scale` or `Kill` |
176| `medium` (60–79) | 30% of planned monthly spend | ≤10 hours/week/channel | Every 7 days | `Keep`, `Pivot`, or `Continue` — no full `Scale` |
177| `high` (≥80) | Up to planned budget | Planned operating cadence | Weekly | Full decision set including `Scale` and `Kill` |
178179**Guardrail breach handling:**
180- If actual spend is at or approaching the cap before the re-check cadence is due, pause and run an ad-hoc review — do not extend the cap unilaterally.
181- If confidence improves at re-check (new evidence), tier may be upgraded. Document the upgrade with evidence source.
182- Unknown or missing confidence values default to `low` tier — fail closed.
183184**Reference:** `docs/plans/startup-loop-marketing-sales-capability-gap-audit/fact-find.md` (Sparse-evidence forecast control surface)
185186## Launch Surface Modes
187188### pre-website
189- Focus on lead generation metrics (email signups, waitlist, pre-orders)
190- Traffic forecast not required (no website yet)
191- CAC based on pre-launch channels (social, partnerships, waitlist ads)
192193### website-live
194- Focus on traffic, conversion, orders
195- CAC based on post-launch channels (SEO, paid ads, email, partnerships)
196- Include visitor-to-order funnel metrics
197198## Notes
199200- This forecast is a **hypothesis to validate**, not a prediction to execute
201- Low-confidence assumptions are acceptable — apply the `low` confidence tier guardrail (10% spend cap, ≤5 hrs/week/channel, Continue/Investigate only). See `## Forecast Guardrails` above.
202- First-14-day validation plan is THE critical output (the forecast exists to be tested)
203- If evidence is sparse, proceed with low-confidence tags and wide P10-P90 bands
204- No Deep Research gate — work with what's available and mark uncertainty
Run npx skillmds add majiayu000/lp-forecast in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
S3 startup 90-day forecaster — build P10/P50/P90 scenario bands from zero operational data It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: docs only. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
majiayu000 (@majiayu000) published this skill. Their other Agent Skills are listed on their SkillMD profile.