ventureos 1.1.12 → 1.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/customer-discovery.md +1 -0
- package/agents/slide-designer.md +501 -136
- package/package.json +1 -1
- package/workflows/3-find-pain/customer-pain-discovery/step-1-pain-hypothesis.md +91 -0
- package/workflows/3-find-pain/customer-pain-discovery/step-3-synthesis.md +25 -4
- package/workflows/3-find-pain/customer-pain-discovery/workflow.md +1 -0
|
@@ -46,6 +46,7 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
46
46
|
<rules>
|
|
47
47
|
<r>ALWAYS communicate in {communication_language}.</r>
|
|
48
48
|
<r>Maintain the Discovery operating mode throughout the session until the user exits.</r>
|
|
49
|
+
<r>Web search is ENABLED for social signal scanning — use it actively in Step 1.0 to mine Reddit, Quora, G2, Trustpilot, and App Store reviews for ICP pain signals. Label all findings [B] in the evidence registry.</r>
|
|
49
50
|
<r>ALL synthetic/simulated output MUST be clearly labeled: "⚠️ SIMULATED — AI-generated. Not real customer data. Treat as hypothesis only."</r>
|
|
50
51
|
<r>Pain scoring MUST use the FIP framework from {project-root}/ventureOS/scoring/pain-scoring.yaml</r>
|
|
51
52
|
<r>Load files ONLY when executing a workflow or command — EXCEPTION: config.yaml at activation.</r>
|
package/agents/slide-designer.md
CHANGED
|
@@ -40,10 +40,10 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
40
40
|
<r>Every slide MUST use exactly this shell: section.slide > div.slide-header + div.slide-body.layout-[X] + div.watermark. Never deviate from this shell structure.</r>
|
|
41
41
|
<r>The final HTML file must be 100% self-contained: all CSS inline in a style tag, @import for Inter font at the top of the style block, all slides in one file.</r>
|
|
42
42
|
<r>After saving, always give the exact Chrome print-to-PDF instructions.</r>
|
|
43
|
-
<r>CONTENT DENSITY RULE: Every slide must feel full and substantive. Never leave the side column with only 1 item. If the
|
|
44
|
-
<r>EXTRACT NUMBERS: Scan every word of the
|
|
45
|
-
<r>VISUAL FIELD IS MANDATORY: The
|
|
46
|
-
<r>
|
|
43
|
+
<r>CONTENT DENSITY RULE: Every slide must feel full and substantive. Never leave the side column with only 1 item. If the Visual field specifies only 1 stat, extract additional numbers from the Narrative field and render them as secondary stat-cards or .card.card-accent blocks. If a column feels empty, add a supporting insight card with a relevant metric from the slide text.</r>
|
|
44
|
+
<r>EXTRACT NUMBERS: Scan every word of the Headline, Visual, and Narrative fields for ALL quantitative data (numbers, percentages, currency, timeframes, counts). Render every number visually — as a .stat-card, inside a table, or highlighted with <span class="t-accent">. Numbers buried in body text are wasted.</r>
|
|
45
|
+
<r>VISUAL FIELD IS MANDATORY: The Visual description specifies exactly what appears on screen. Implement it fully — "3-column grid" → card-grid-3; "comparison table" → data-table; "funnel" → .funnel with .funnel-stage elements; "phase blocks" → phase-row; "2×2 matrix" → .matrix-2x2; "research bars" → .research-bar-row elements; "rings" → nested stat-cards with size variation. Never reduce a rich Visual description to 2 stat cards.</r>
|
|
46
|
+
<r>NARRATIVE RULE: The Narrative field is the spoken script — do NOT paste it verbatim as a paragraph. Extract quantitative claims, key insights, and evidence from Narrative and render them as visual elements (stat-card, card-accent, data-table row). Use only the first 1–2 sentences of Narrative as .t-body grounding text if space allows.</r>
|
|
47
47
|
</rules>
|
|
48
48
|
|
|
49
49
|
<prompts>
|
|
@@ -252,6 +252,47 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
252
252
|
/* ── WATERMARK ─────────────────────────────────────────── */
|
|
253
253
|
.watermark { position: absolute; bottom: 18px; right: 52px; font-size: 11px; font-weight: 700; letter-spacing: 1px; color: var(--muted); opacity: 0.4; }
|
|
254
254
|
|
|
255
|
+
/* ── FUNNEL (pilot funnel / sales pipeline) ─────────────── */
|
|
256
|
+
.funnel { display: flex; align-items: stretch; gap: 0; width: 100%; }
|
|
257
|
+
.funnel-stage { flex: 1; background: var(--card); border: 1px solid var(--border); border-right: none; padding: 16px 14px; }
|
|
258
|
+
.funnel-stage:first-child { border-radius: 10px 0 0 10px; }
|
|
259
|
+
.funnel-stage:last-child { border-right: 1px solid var(--border); border-radius: 0 10px 10px 0; }
|
|
260
|
+
.funnel-stage.active { border-color: var(--accent); background: linear-gradient(135deg, var(--glow) 0%, var(--card) 80%); }
|
|
261
|
+
.funnel-count { font-size: 34px; font-weight: 900; line-height: 1; color: var(--accent); display: block; }
|
|
262
|
+
.funnel-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--muted); margin-top: 6px; display: block; }
|
|
263
|
+
.funnel-arrow { display: flex; align-items: center; color: var(--border); font-size: 18px; padding: 0 2px; flex-shrink: 0; }
|
|
264
|
+
|
|
265
|
+
/* ── 2×2 MATRIX (competitive landscape) ─────────────────── */
|
|
266
|
+
.matrix-wrap { display: grid; grid-template-columns: 24px 1fr; grid-template-rows: 1fr 24px; gap: 4px; height: 260px; }
|
|
267
|
+
.matrix-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 6px; }
|
|
268
|
+
.matrix-cell { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 12px 14px; display: flex; flex-direction: column; justify-content: flex-end; }
|
|
269
|
+
.matrix-cell.highlight { border-color: var(--accent); background: linear-gradient(135deg, var(--glow) 0%, var(--card) 80%); }
|
|
270
|
+
.matrix-cell-label { font-size: 11px; font-weight: 700; color: var(--text); }
|
|
271
|
+
.matrix-cell-sub { font-size: 10px; color: var(--muted); margin-top: 3px; }
|
|
272
|
+
.matrix-y-label { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--muted); text-align: center; }
|
|
273
|
+
.matrix-x-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--muted); text-align: center; grid-column: 2; }
|
|
274
|
+
.matrix-axis-poles { display: flex; justify-content: space-between; font-size: 9px; color: var(--muted); padding: 0 4px; }
|
|
275
|
+
|
|
276
|
+
/* ── RESEARCH BARS (interview distribution) ──────────────── */
|
|
277
|
+
.research-bars { display: flex; flex-direction: column; gap: 10px; }
|
|
278
|
+
.research-bar-row { display: flex; align-items: center; gap: 10px; }
|
|
279
|
+
.research-bar-label { font-size: 12px; font-weight: 500; color: var(--text); width: 170px; flex-shrink: 0; }
|
|
280
|
+
.research-bar-track { flex: 1; height: 7px; background: var(--card); border-radius: 4px; overflow: hidden; border: 1px solid var(--border); }
|
|
281
|
+
.research-bar-fill { height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--accent), var(--accent2)); }
|
|
282
|
+
.research-bar-count { font-size: 13px; font-weight: 700; color: var(--accent); width: 36px; text-align: right; flex-shrink: 0; }
|
|
283
|
+
|
|
284
|
+
/* ── STEP BLOCKS (pilot plan / sales motion) ─────────────── */
|
|
285
|
+
.step-row { display: flex; gap: 10px; align-items: stretch; width: 100%; }
|
|
286
|
+
.step-block { flex: 1; background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 16px 18px; position: relative; }
|
|
287
|
+
.step-block.active { border-color: var(--accent); box-shadow: 0 0 24px var(--glow); }
|
|
288
|
+
.step-num { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 2.5px; color: var(--accent); margin-bottom: 8px; display: block; }
|
|
289
|
+
.step-connector { display: flex; align-items: center; color: var(--accent); font-size: 14px; flex-shrink: 0; padding-top: 24px; }
|
|
290
|
+
|
|
291
|
+
/* ── MOAT CARDS (competitive advantages) ─────────────────── */
|
|
292
|
+
.moat-card { background: var(--card); border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 0 10px 10px 0; padding: 12px 16px; }
|
|
293
|
+
.moat-name { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--accent); margin-bottom: 4px; }
|
|
294
|
+
.moat-desc { font-size: 13px; color: var(--muted); line-height: 1.5; }
|
|
295
|
+
|
|
255
296
|
/* ── PRINT ─────────────────────────────────────────────── */
|
|
256
297
|
@media print {
|
|
257
298
|
@page { size: 1280px 720px; margin: 0; }
|
|
@@ -278,34 +319,59 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
278
319
|
|
|
279
320
|
<prompt id="slide-html-reference">
|
|
280
321
|
REFERENCE HTML FOR EACH LAYOUT TYPE — follow these examples exactly for structure.
|
|
281
|
-
|
|
322
|
+
Replace content with actual slide text from the source file. Never invent content.
|
|
323
|
+
|
|
324
|
+
PART LABELS for the 36-slide NoorOn flow — use these exact strings in .part-label:
|
|
325
|
+
Slide 1: "" (empty — cover) | Slide 2: "HOOK" | Slide 3: "THE PROBLEM"
|
|
326
|
+
Slide 4: "CUSTOMER PAIN" | Slide 5: "MISSION" | Slide 6: "RESEARCH"
|
|
327
|
+
Slides 7–10: "THE PRODUCT" | Slide 11: "PILOT PLAN"
|
|
328
|
+
Slides 12–14: "CUSTOMER" | Slide 15: "MARKET" | Slide 16: "COMPETITION"
|
|
329
|
+
Slides 17–19: "GO-TO-MARKET" | Slides 20–21: "IMPACT"
|
|
330
|
+
Slides 22–27: "BUSINESS MODEL" | Slides 28–30: "EXECUTION"
|
|
331
|
+
Slide 31: "THE TEAM" | Slides 32–35: "THE ASK" | Slide 36: "CLOSE"
|
|
282
332
|
|
|
283
333
|
═══════════════════════════════════════════════════════
|
|
284
|
-
LAYOUT: layout-
|
|
285
|
-
Use for: problem slides, solution slides, market slides, any slide with 1-2 key numbers
|
|
334
|
+
LAYOUT: layout-cover — Slide 1 (Cover) and Slide 34 (The Ask)
|
|
286
335
|
═══════════════════════════════════════════════════════
|
|
287
336
|
|
|
288
|
-
<!-- Slide
|
|
337
|
+
<!-- Slide 1: Cover -->
|
|
289
338
|
<section class="slide">
|
|
290
339
|
<div class="slide-header">
|
|
291
|
-
<span class="part-label">
|
|
292
|
-
<span class="slide-num">
|
|
340
|
+
<span class="part-label"></span>
|
|
341
|
+
<span class="slide-num">1 / 36</span>
|
|
293
342
|
</div>
|
|
294
|
-
<div class="slide-body layout-
|
|
295
|
-
<
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
343
|
+
<div class="slide-body layout-cover">
|
|
344
|
+
<p class="t-eyebrow">Final Pitch · [Date]</p>
|
|
345
|
+
<h1 class="t-display">[Venture Name]</h1>
|
|
346
|
+
<div class="divider"></div>
|
|
347
|
+
<p class="t-body-lg" style="max-width:640px">[Tagline — the transformation this venture delivers]</p>
|
|
348
|
+
<p class="t-small" style="margin-top:16px">[Presenter name] · [Parent organization]</p>
|
|
349
|
+
</div>
|
|
350
|
+
<div class="watermark">{venture_name}</div>
|
|
351
|
+
</section>
|
|
352
|
+
|
|
353
|
+
<!-- Slide 34: The Ask -->
|
|
354
|
+
<section class="slide">
|
|
355
|
+
<div class="slide-header">
|
|
356
|
+
<span class="part-label">THE ASK</span>
|
|
357
|
+
<span class="slide-num">34 / 36</span>
|
|
358
|
+
</div>
|
|
359
|
+
<div class="slide-body layout-cover">
|
|
360
|
+
<p class="t-eyebrow">The Ask</p>
|
|
361
|
+
<h1 class="t-display">$950K over 12 months to validate and automate.</h1>
|
|
362
|
+
<div class="divider"></div>
|
|
363
|
+
<div class="card-grid-3" style="margin-top:8px">
|
|
364
|
+
<div class="card card-accent">
|
|
365
|
+
<p class="t-label t-accent" style="margin-bottom:6px">What It Enables</p>
|
|
366
|
+
<p class="t-small t-white">6 pilot sites live. First paying customer converted. NPS ≥ 7.</p>
|
|
305
367
|
</div>
|
|
306
|
-
<div class="
|
|
307
|
-
<
|
|
308
|
-
<
|
|
368
|
+
<div class="card card-accent">
|
|
369
|
+
<p class="t-label t-accent" style="margin-bottom:6px">The Milestone</p>
|
|
370
|
+
<p class="t-small t-white">By Q3 2026 — proven savings vs. baseline at 3 sites.</p>
|
|
371
|
+
</div>
|
|
372
|
+
<div class="card card-accent">
|
|
373
|
+
<p class="t-label t-accent" style="margin-bottom:6px">Then What</p>
|
|
374
|
+
<p class="t-small t-white">Return to this board with real data. Decision on Scale phase.</p>
|
|
309
375
|
</div>
|
|
310
376
|
</div>
|
|
311
377
|
</div>
|
|
@@ -313,161 +379,433 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
313
379
|
</section>
|
|
314
380
|
|
|
315
381
|
═══════════════════════════════════════════════════════
|
|
316
|
-
LAYOUT: layout-
|
|
317
|
-
Use for: Slide 1 (hook), Slide 4 (mission), Slide 26 (the ask)
|
|
382
|
+
LAYOUT: layout-quote — Slide 2 (Hook), Slide 5 (Mission), Slide 36 (Close)
|
|
318
383
|
═══════════════════════════════════════════════════════
|
|
319
384
|
|
|
385
|
+
<!-- Slide 2: Hook (dominant customer quote) -->
|
|
320
386
|
<section class="slide">
|
|
321
387
|
<div class="slide-header">
|
|
322
|
-
<span class="part-label">
|
|
323
|
-
<span class="slide-num">
|
|
388
|
+
<span class="part-label">HOOK</span>
|
|
389
|
+
<span class="slide-num">2 / 36</span>
|
|
324
390
|
</div>
|
|
325
|
-
<div class="slide-body layout-
|
|
326
|
-
<
|
|
327
|
-
<
|
|
328
|
-
<
|
|
329
|
-
<
|
|
330
|
-
|
|
331
|
-
<span class="pill">
|
|
332
|
-
<span class="pill">
|
|
333
|
-
<span class="pill">18-month runway</span>
|
|
391
|
+
<div class="slide-body layout-quote">
|
|
392
|
+
<div class="quote-mark">"</div>
|
|
393
|
+
<p class="quote-text">I am losing more than 10% of energy and water due to inefficiencies in my sites — and I have no tool that tells me where to act first.</p>
|
|
394
|
+
<p class="quote-attr">Site Manager, Industrial Group · Interview #3</p>
|
|
395
|
+
<div style="display:flex;gap:14px;margin-top:16px">
|
|
396
|
+
<span class="pill">$280B missed savings [B]</span>
|
|
397
|
+
<span class="pill">2M industrial sites [B]</span>
|
|
398
|
+
<span class="pill">1.5B MWh lost [B]</span>
|
|
334
399
|
</div>
|
|
335
400
|
</div>
|
|
336
401
|
<div class="watermark">{venture_name}</div>
|
|
337
402
|
</section>
|
|
338
403
|
|
|
404
|
+
<!-- Slide 5: Mission -->
|
|
405
|
+
<section class="slide">
|
|
406
|
+
<div class="slide-header">
|
|
407
|
+
<span class="part-label">MISSION</span>
|
|
408
|
+
<span class="slide-num">5 / 36</span>
|
|
409
|
+
</div>
|
|
410
|
+
<div class="slide-body layout-quote">
|
|
411
|
+
<p class="t-eyebrow">Our Mission</p>
|
|
412
|
+
<p class="quote-text" style="font-style:normal;font-weight:700;font-size:34px">Become the trusted, intelligent operating layer for site managers to optimize the energy–water nexus.</p>
|
|
413
|
+
<div class="divider"></div>
|
|
414
|
+
<p class="t-body" style="max-width:680px">Every feature we build, every customer we sign, every partnership we form flows from this sentence.</p>
|
|
415
|
+
</div>
|
|
416
|
+
<div class="watermark">{venture_name}</div>
|
|
417
|
+
</section>
|
|
418
|
+
|
|
339
419
|
═══════════════════════════════════════════════════════
|
|
340
|
-
LAYOUT: layout-
|
|
341
|
-
Use for: slides with a dominant customer quote or single powerful statement
|
|
420
|
+
LAYOUT: layout-data with card-grid-4 hero stats — Slide 3 (Problem Scale)
|
|
342
421
|
═══════════════════════════════════════════════════════
|
|
343
422
|
|
|
423
|
+
<!-- Slide 3: Problem Scale -->
|
|
344
424
|
<section class="slide">
|
|
345
425
|
<div class="slide-header">
|
|
346
|
-
<span class="part-label">
|
|
347
|
-
<span class="slide-num">
|
|
426
|
+
<span class="part-label">THE PROBLEM</span>
|
|
427
|
+
<span class="slide-num">3 / 36</span>
|
|
348
428
|
</div>
|
|
349
|
-
<div class="slide-body layout-
|
|
350
|
-
<div
|
|
351
|
-
|
|
352
|
-
<
|
|
429
|
+
<div class="slide-body layout-data">
|
|
430
|
+
<div>
|
|
431
|
+
<h2 class="t-h2">$280B in missed savings. Every year. And it is getting worse.</h2>
|
|
432
|
+
</div>
|
|
433
|
+
<div class="card-grid-4">
|
|
434
|
+
<div class="stat-card stat-hero">
|
|
435
|
+
<span class="stat-value">$280B</span>
|
|
436
|
+
<span class="stat-label">Missed Savings [B]</span>
|
|
437
|
+
</div>
|
|
438
|
+
<div class="stat-card">
|
|
439
|
+
<span class="stat-value">30B</span>
|
|
440
|
+
<span class="stat-label">m³ Water Wasted [B]</span>
|
|
441
|
+
</div>
|
|
442
|
+
<div class="stat-card">
|
|
443
|
+
<span class="stat-value">1.5B</span>
|
|
444
|
+
<span class="stat-label">MWh Energy Lost [B]</span>
|
|
445
|
+
</div>
|
|
446
|
+
<div class="stat-card">
|
|
447
|
+
<span class="stat-value">2M</span>
|
|
448
|
+
<span class="stat-label">Industrial Sites [B]</span>
|
|
449
|
+
</div>
|
|
450
|
+
</div>
|
|
451
|
+
<div class="card card-accent">
|
|
452
|
+
<p class="t-body"><span class="t-accent">40% of the world's energy and water</span> is consumed by companies — yet <span class="t-accent">30%</span> of these resources is wasted. Source: World Bank, 2024 [B].</p>
|
|
453
|
+
</div>
|
|
353
454
|
</div>
|
|
354
455
|
<div class="watermark">{venture_name}</div>
|
|
355
456
|
</section>
|
|
356
457
|
|
|
357
458
|
═══════════════════════════════════════════════════════
|
|
358
|
-
LAYOUT: layout-data with
|
|
359
|
-
Use for: ICP profile, unit economics, GTM phases, operating plan
|
|
459
|
+
LAYOUT: layout-data with pain cards — Slide 4 (Customer Pain & Struggle)
|
|
360
460
|
═══════════════════════════════════════════════════════
|
|
361
461
|
|
|
462
|
+
<!-- Slide 4: Customer Pain -->
|
|
362
463
|
<section class="slide">
|
|
363
464
|
<div class="slide-header">
|
|
364
|
-
<span class="part-label">
|
|
365
|
-
<span class="slide-num">
|
|
465
|
+
<span class="part-label">CUSTOMER PAIN</span>
|
|
466
|
+
<span class="slide-num">4 / 36</span>
|
|
366
467
|
</div>
|
|
367
468
|
<div class="slide-body layout-data">
|
|
368
469
|
<div>
|
|
369
|
-
<
|
|
370
|
-
<
|
|
470
|
+
<p class="t-eyebrow">Site Manager · Industrial</p>
|
|
471
|
+
<h2 class="t-h2">The tools exist. The data exists. The insight doesn't.</h2>
|
|
371
472
|
</div>
|
|
372
473
|
<div class="card-grid-3">
|
|
373
|
-
<div class="
|
|
374
|
-
<
|
|
375
|
-
<
|
|
474
|
+
<div class="card card-accent">
|
|
475
|
+
<p class="t-label t-accent" style="margin-bottom:8px">Siloed Data</p>
|
|
476
|
+
<p class="t-small t-white"><em>"I run energy and water separately. It takes me days to analyse both together."</em></p>
|
|
477
|
+
<p class="t-small" style="margin-top:6px">Mobolaji O., Facilities Manager · Interview #12</p>
|
|
478
|
+
</div>
|
|
479
|
+
<div class="card card-accent">
|
|
480
|
+
<p class="t-label t-accent" style="margin-bottom:8px">No Recommendations</p>
|
|
481
|
+
<p class="t-small t-white"><em>"I use a lot of software but no one provides recommendations — just dashboards."</em></p>
|
|
482
|
+
<p class="t-small" style="margin-top:6px">Malik A., Site Manager · Interview #7</p>
|
|
483
|
+
</div>
|
|
484
|
+
<div class="card card-accent">
|
|
485
|
+
<p class="t-label t-accent" style="margin-bottom:8px">No Nexus View</p>
|
|
486
|
+
<p class="t-small t-white"><em>"I know I waste energy when I waste water, but I can't quantify the link."</em></p>
|
|
487
|
+
<p class="t-small" style="margin-top:6px">Ahmed K., Plant Manager · Interview #19</p>
|
|
488
|
+
</div>
|
|
489
|
+
</div>
|
|
490
|
+
</div>
|
|
491
|
+
<div class="watermark">{venture_name}</div>
|
|
492
|
+
</section>
|
|
493
|
+
|
|
494
|
+
═══════════════════════════════════════════════════════
|
|
495
|
+
LAYOUT: layout-split with research bars — Slide 6 (Research Foundation)
|
|
496
|
+
═══════════════════════════════════════════════════════
|
|
497
|
+
|
|
498
|
+
<!-- Slide 6: Research Foundation -->
|
|
499
|
+
<section class="slide">
|
|
500
|
+
<div class="slide-header">
|
|
501
|
+
<span class="part-label">RESEARCH</span>
|
|
502
|
+
<span class="slide-num">6 / 36</span>
|
|
503
|
+
</div>
|
|
504
|
+
<div class="slide-body layout-split">
|
|
505
|
+
<div class="col-main">
|
|
506
|
+
<h2 class="t-h2">100 interviews. 3 pilot-ready customers. Every claim is earned.</h2>
|
|
507
|
+
<div class="divider"></div>
|
|
508
|
+
<div class="research-bars">
|
|
509
|
+
<div class="research-bar-row">
|
|
510
|
+
<span class="research-bar-label">Customer Pain Discovery</span>
|
|
511
|
+
<div class="research-bar-track"><div class="research-bar-fill" style="width:50%"></div></div>
|
|
512
|
+
<span class="research-bar-count">50</span>
|
|
513
|
+
</div>
|
|
514
|
+
<div class="research-bar-row">
|
|
515
|
+
<span class="research-bar-label">Concept Testing</span>
|
|
516
|
+
<div class="research-bar-track"><div class="research-bar-fill" style="width:20%"></div></div>
|
|
517
|
+
<span class="research-bar-count">20</span>
|
|
518
|
+
</div>
|
|
519
|
+
<div class="research-bar-row">
|
|
520
|
+
<span class="research-bar-label">Solution Validation</span>
|
|
521
|
+
<div class="research-bar-track"><div class="research-bar-fill" style="width:10%"></div></div>
|
|
522
|
+
<span class="research-bar-count">10</span>
|
|
523
|
+
</div>
|
|
524
|
+
<div class="research-bar-row">
|
|
525
|
+
<span class="research-bar-label">Wedge Selection</span>
|
|
526
|
+
<div class="research-bar-track"><div class="research-bar-fill" style="width:10%"></div></div>
|
|
527
|
+
<span class="research-bar-count">10</span>
|
|
528
|
+
</div>
|
|
529
|
+
<div class="research-bar-row">
|
|
530
|
+
<span class="research-bar-label">Business Model & Pricing</span>
|
|
531
|
+
<div class="research-bar-track"><div class="research-bar-fill" style="width:10%"></div></div>
|
|
532
|
+
<span class="research-bar-count">10</span>
|
|
533
|
+
</div>
|
|
534
|
+
</div>
|
|
535
|
+
</div>
|
|
536
|
+
<div class="col-side">
|
|
537
|
+
<div class="stat-card stat-hero">
|
|
538
|
+
<span class="stat-value">100</span>
|
|
539
|
+
<span class="stat-label">Total Interviews [R]</span>
|
|
376
540
|
</div>
|
|
377
541
|
<div class="stat-card">
|
|
378
|
-
<span class="stat-value">
|
|
379
|
-
<span class="stat-label">
|
|
542
|
+
<span class="stat-value">3</span>
|
|
543
|
+
<span class="stat-label">Pilot-Ready Customers [R]</span>
|
|
544
|
+
</div>
|
|
545
|
+
<div class="card">
|
|
546
|
+
<p class="t-label" style="margin-bottom:6px">Personas Covered</p>
|
|
547
|
+
<p class="t-small">Site Managers · Facility Directors · Corporate Energy Managers · VCs</p>
|
|
548
|
+
</div>
|
|
549
|
+
</div>
|
|
550
|
+
</div>
|
|
551
|
+
<div class="watermark">{venture_name}</div>
|
|
552
|
+
</section>
|
|
553
|
+
|
|
554
|
+
═══════════════════════════════════════════════════════
|
|
555
|
+
LAYOUT: layout-split col-wide — Slide 8 (Technical Architecture)
|
|
556
|
+
═══════════════════════════════════════════════════════
|
|
557
|
+
|
|
558
|
+
<!-- Slide 8: Technical Architecture -->
|
|
559
|
+
<section class="slide">
|
|
560
|
+
<div class="slide-header">
|
|
561
|
+
<span class="part-label">THE PRODUCT</span>
|
|
562
|
+
<span class="slide-num">8 / 36</span>
|
|
563
|
+
</div>
|
|
564
|
+
<div class="slide-body layout-split">
|
|
565
|
+
<div class="col-wide">
|
|
566
|
+
<h2 class="t-h2">Build the intelligence. Buy the plumbing.</h2>
|
|
567
|
+
<div class="divider"></div>
|
|
568
|
+
<div class="card card-accent" style="margin-top:4px">
|
|
569
|
+
<p class="t-label t-accent" style="margin-bottom:4px">Layer 1 — Data Sources</p>
|
|
570
|
+
<p class="t-small t-white">SCADA/DCS historians · ERP (SAP) · BMS · Weather APIs · IoT sensors</p>
|
|
571
|
+
</div>
|
|
572
|
+
<div class="card card-accent">
|
|
573
|
+
<p class="t-label t-accent" style="margin-bottom:4px">Layer 2 — Connectors</p>
|
|
574
|
+
<p class="t-small t-white">OPC-UA · REST API · Modbus · SQL direct · CSV extract · BACnet</p>
|
|
575
|
+
</div>
|
|
576
|
+
<div class="card card-accent">
|
|
577
|
+
<p class="t-label t-accent" style="margin-bottom:4px">Layer 3 — Intelligence (our IP)</p>
|
|
578
|
+
<p class="t-small t-white">Proprietary nexus ML models · Anomaly detection · Root cause engine · Prescriptive recommendations</p>
|
|
579
|
+
</div>
|
|
580
|
+
<div class="card card-accent">
|
|
581
|
+
<p class="t-label t-accent" style="margin-bottom:4px">Layer 4 — Product / UX</p>
|
|
582
|
+
<p class="t-small t-white">Insight dashboard · Recommendation cards · Alerts · KPI tracking · ESG reporting</p>
|
|
583
|
+
</div>
|
|
584
|
+
</div>
|
|
585
|
+
<div class="col-narrow">
|
|
586
|
+
<div class="card">
|
|
587
|
+
<p class="t-label" style="margin-bottom:8px">Build / Buy / Integrate</p>
|
|
588
|
+
<p class="t-small">Data connectors: <span class="t-accent">Buy</span><br>
|
|
589
|
+
Data pipeline: <span class="t-accent">Build</span><br>
|
|
590
|
+
AI models: <span class="t-accent">Build</span><br>
|
|
591
|
+
Cloud infra: <span class="t-accent">Buy (AWS)</span><br>
|
|
592
|
+
IoT sensors: <span class="t-accent">Integrate</span></p>
|
|
380
593
|
</div>
|
|
381
594
|
<div class="stat-card">
|
|
382
|
-
<span class="stat-value">
|
|
383
|
-
<span class="stat-label">
|
|
595
|
+
<span class="stat-value">6</span>
|
|
596
|
+
<span class="stat-label">Architecture Layers</span>
|
|
597
|
+
</div>
|
|
598
|
+
</div>
|
|
599
|
+
</div>
|
|
600
|
+
<div class="watermark">{venture_name}</div>
|
|
601
|
+
</section>
|
|
602
|
+
|
|
603
|
+
═══════════════════════════════════════════════════════
|
|
604
|
+
LAYOUT: layout-data with .funnel — Slide 13 (Pilot Funnel — Traction)
|
|
605
|
+
═══════════════════════════════════════════════════════
|
|
606
|
+
|
|
607
|
+
<!-- Slide 13: Pilot Funnel -->
|
|
608
|
+
<section class="slide">
|
|
609
|
+
<div class="slide-header">
|
|
610
|
+
<span class="part-label">CUSTOMER</span>
|
|
611
|
+
<span class="slide-num">13 / 36</span>
|
|
612
|
+
</div>
|
|
613
|
+
<div class="slide-body layout-data">
|
|
614
|
+
<div>
|
|
615
|
+
<h2 class="t-h2">35+ qualified leads. 4 in discussion. 1 active pilot.</h2>
|
|
616
|
+
<p class="t-body" style="margin-top:6px">We did not wait for the pitch to build the pipeline. Every organization below engaged before this deck existed.</p>
|
|
617
|
+
</div>
|
|
618
|
+
<div class="funnel">
|
|
619
|
+
<div class="funnel-stage">
|
|
620
|
+
<span class="funnel-count">35+</span>
|
|
621
|
+
<span class="funnel-label">Qualified Leads</span>
|
|
622
|
+
</div>
|
|
623
|
+
<div class="funnel-stage">
|
|
624
|
+
<span class="funnel-count">4</span>
|
|
625
|
+
<span class="funnel-label">In Discussion</span>
|
|
626
|
+
</div>
|
|
627
|
+
<div class="funnel-stage">
|
|
628
|
+
<span class="funnel-count">2</span>
|
|
629
|
+
<span class="funnel-label">In Preparation</span>
|
|
630
|
+
</div>
|
|
631
|
+
<div class="funnel-stage active">
|
|
632
|
+
<span class="funnel-count">1</span>
|
|
633
|
+
<span class="funnel-label">Active Pilot</span>
|
|
384
634
|
</div>
|
|
385
635
|
</div>
|
|
386
636
|
<div class="card card-accent">
|
|
387
|
-
<p class="t-body">
|
|
637
|
+
<p class="t-body"><span class="t-accent">3 organizations</span> from our interview cohort asked to run a pilot after seeing the prototype. Demand is not a hypothesis — it is already in motion.</p>
|
|
638
|
+
</div>
|
|
639
|
+
</div>
|
|
640
|
+
<div class="watermark">{venture_name}</div>
|
|
641
|
+
</section>
|
|
642
|
+
|
|
643
|
+
═══════════════════════════════════════════════════════
|
|
644
|
+
LAYOUT: layout-data with .matrix-2x2 + moat cards — Slide 16 (Competitive Landscape)
|
|
645
|
+
═══════════════════════════════════════════════════════
|
|
646
|
+
|
|
647
|
+
<!-- Slide 16: Competitive Landscape -->
|
|
648
|
+
<section class="slide">
|
|
649
|
+
<div class="slide-header">
|
|
650
|
+
<span class="part-label">COMPETITION</span>
|
|
651
|
+
<span class="slide-num">16 / 36</span>
|
|
652
|
+
</div>
|
|
653
|
+
<div class="slide-body layout-split">
|
|
654
|
+
<div class="col-main">
|
|
655
|
+
<h2 class="t-h2">We don't compete on features. We compete on nexus intelligence.</h2>
|
|
656
|
+
<div class="divider"></div>
|
|
657
|
+
<div class="matrix-wrap">
|
|
658
|
+
<div class="matrix-y-label">ACTIONABILITY ↑ High</div>
|
|
659
|
+
<div>
|
|
660
|
+
<div class="matrix-grid">
|
|
661
|
+
<div class="matrix-cell">
|
|
662
|
+
<p class="matrix-cell-label">EMS vendors</p>
|
|
663
|
+
<p class="matrix-cell-sub">Broad energy, low actionability</p>
|
|
664
|
+
</div>
|
|
665
|
+
<div class="matrix-cell highlight">
|
|
666
|
+
<p class="matrix-cell-label t-accent">[Venture] ★</p>
|
|
667
|
+
<p class="matrix-cell-sub">Broad nexus + prescriptive</p>
|
|
668
|
+
</div>
|
|
669
|
+
<div class="matrix-cell">
|
|
670
|
+
<p class="matrix-cell-label">Spreadsheets</p>
|
|
671
|
+
<p class="matrix-cell-sub">Narrow, manual</p>
|
|
672
|
+
</div>
|
|
673
|
+
<div class="matrix-cell">
|
|
674
|
+
<p class="matrix-cell-label">IoT point solutions</p>
|
|
675
|
+
<p class="matrix-cell-sub">Narrow, reporting only</p>
|
|
676
|
+
</div>
|
|
677
|
+
</div>
|
|
678
|
+
<div class="matrix-axis-poles"><span>← Narrow nexus</span><span>Broad nexus →</span></div>
|
|
679
|
+
</div>
|
|
680
|
+
</div>
|
|
681
|
+
</div>
|
|
682
|
+
<div class="col-side">
|
|
683
|
+
<p class="t-label" style="margin-bottom:10px">Our 3 Moats</p>
|
|
684
|
+
<div class="moat-card">
|
|
685
|
+
<p class="moat-name">Nexus Focus</p>
|
|
686
|
+
<p class="moat-desc">Purpose-built for water–energy nexus. Competitors are energy-first.</p>
|
|
687
|
+
</div>
|
|
688
|
+
<div class="moat-card">
|
|
689
|
+
<p class="moat-name">Real Training Data</p>
|
|
690
|
+
<p class="moat-desc">Trained on OCP's industrial sites — a living lab no competitor can replicate.</p>
|
|
691
|
+
</div>
|
|
692
|
+
<div class="moat-card">
|
|
693
|
+
<p class="moat-name">Speed to Value</p>
|
|
694
|
+
<p class="moat-desc">Vendor-agnostic connectors. Results in ~12 weeks, not 12 months.</p>
|
|
695
|
+
</div>
|
|
388
696
|
</div>
|
|
389
697
|
</div>
|
|
390
698
|
<div class="watermark">{venture_name}</div>
|
|
391
699
|
</section>
|
|
392
700
|
|
|
393
701
|
═══════════════════════════════════════════════════════
|
|
394
|
-
LAYOUT: layout-
|
|
395
|
-
Use for: competitive landscape, sales pipeline, operating plan table
|
|
702
|
+
LAYOUT: layout-phase with step-blocks — Slide 11 (Pilot Plan)
|
|
396
703
|
═══════════════════════════════════════════════════════
|
|
397
704
|
|
|
705
|
+
<!-- Slide 11: Pilot Plan -->
|
|
398
706
|
<section class="slide">
|
|
399
707
|
<div class="slide-header">
|
|
400
|
-
<span class="part-label">
|
|
401
|
-
<span class="slide-num">
|
|
708
|
+
<span class="part-label">PILOT PLAN</span>
|
|
709
|
+
<span class="slide-num">11 / 36</span>
|
|
710
|
+
</div>
|
|
711
|
+
<div class="slide-body layout-phase">
|
|
712
|
+
<h2 class="t-h2">From raw data to proven impact in 12 weeks.</h2>
|
|
713
|
+
<div class="step-row">
|
|
714
|
+
<div class="step-block active">
|
|
715
|
+
<span class="step-num">Step 01 — Weeks 1–4</span>
|
|
716
|
+
<p class="t-label" style="margin-bottom:6px">Connect & Baseline</p>
|
|
717
|
+
<p class="t-small">Scope aligned · Data access secured · Quality checks · Asset inventory complete</p>
|
|
718
|
+
<p class="t-label" style="margin:8px 0 4px">Deliverable</p>
|
|
719
|
+
<p class="t-small t-accent">Baseline Analysis Report</p>
|
|
720
|
+
</div>
|
|
721
|
+
<div class="step-block">
|
|
722
|
+
<span class="step-num">Step 02 — Weeks 5–8</span>
|
|
723
|
+
<p class="t-label" style="margin-bottom:6px">Insights & Quick Wins</p>
|
|
724
|
+
<p class="t-small">Manual analysis · Top-3 recommendations quantified · Weekly client reviews</p>
|
|
725
|
+
<p class="t-label" style="margin:8px 0 4px">Deliverable</p>
|
|
726
|
+
<p class="t-small t-accent">Actionable Insights Report + quantified impact</p>
|
|
727
|
+
</div>
|
|
728
|
+
<div class="step-block">
|
|
729
|
+
<span class="step-num">Step 03 — Weeks 9–12</span>
|
|
730
|
+
<p class="t-label" style="margin-bottom:6px">Run & Prove Impact</p>
|
|
731
|
+
<p class="t-small">KPI monitoring vs. baseline · Insights refined · Rollout plan prepared</p>
|
|
732
|
+
<p class="t-label" style="margin:8px 0 4px">Deliverable</p>
|
|
733
|
+
<p class="t-small t-accent">Impact Ledger + Rollout Proposal</p>
|
|
734
|
+
</div>
|
|
735
|
+
</div>
|
|
736
|
+
</div>
|
|
737
|
+
<div class="watermark">{venture_name}</div>
|
|
738
|
+
</section>
|
|
739
|
+
|
|
740
|
+
═══════════════════════════════════════════════════════
|
|
741
|
+
LAYOUT: layout-data with data-table — for tables (unit economics, operating plan, de-risk, use of funds)
|
|
742
|
+
═══════════════════════════════════════════════════════
|
|
743
|
+
|
|
744
|
+
<!-- Example: Unit Economics table -->
|
|
745
|
+
<section class="slide">
|
|
746
|
+
<div class="slide-header">
|
|
747
|
+
<span class="part-label">BUSINESS MODEL</span>
|
|
748
|
+
<span class="slide-num">26 / 36</span>
|
|
402
749
|
</div>
|
|
403
750
|
<div class="slide-body layout-data">
|
|
404
|
-
<h2 class="t-h2">
|
|
751
|
+
<h2 class="t-h2">3x LTV:CAC. 8-month payback. The unit math works.</h2>
|
|
405
752
|
<table class="data-table">
|
|
406
753
|
<thead>
|
|
407
754
|
<tr>
|
|
408
|
-
<th>
|
|
409
|
-
<th>Real-time updates</th>
|
|
410
|
-
<th>School management</th>
|
|
411
|
-
<th>Parent app</th>
|
|
412
|
-
<th>MENA-native</th>
|
|
755
|
+
<th>Tier</th><th>ACV</th><th>COGS</th><th>Gross Margin</th><th>CAC</th><th>LTV:CAC</th><th>Payback</th>
|
|
413
756
|
</tr>
|
|
414
757
|
</thead>
|
|
415
758
|
<tbody>
|
|
416
759
|
<tr class="row-hl">
|
|
417
|
-
<td>
|
|
418
|
-
<td class="t-accent">✓</td>
|
|
419
|
-
<td class="t-accent">✓</td>
|
|
420
|
-
<td class="t-accent">✓</td>
|
|
421
|
-
<td class="t-accent">✓</td>
|
|
760
|
+
<td>SaaS</td><td class="t-accent">$35k</td><td>$6k</td><td class="t-accent">80%</td><td>$20–100k</td><td class="t-accent">3x</td><td>8 mo</td>
|
|
422
761
|
</tr>
|
|
423
762
|
<tr>
|
|
424
|
-
<td>
|
|
763
|
+
<td>+ Add-ons</td><td>$13k</td><td>$7k</td><td>50%</td><td>—</td><td>2x blended</td><td>12 mo</td>
|
|
425
764
|
</tr>
|
|
426
765
|
<tr>
|
|
427
|
-
<td>
|
|
428
|
-
</tr>
|
|
429
|
-
<tr>
|
|
430
|
-
<td>Generic SMS tools</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td>
|
|
766
|
+
<td>+ IoT</td><td>$10k</td><td>$6k</td><td>40%</td><td>—</td><td>1.5x blended</td><td>16 mo</td>
|
|
431
767
|
</tr>
|
|
432
768
|
</tbody>
|
|
433
769
|
</table>
|
|
770
|
+
<div class="card-grid-3">
|
|
771
|
+
<div class="stat-card"><span class="stat-value">80%</span><span class="stat-label">Gross Margin (SaaS) [D]</span></div>
|
|
772
|
+
<div class="stat-card"><span class="stat-value">3x</span><span class="stat-label">LTV : CAC [D]</span></div>
|
|
773
|
+
<div class="stat-card"><span class="stat-value">8 mo</span><span class="stat-label">Payback Period [D]</span></div>
|
|
774
|
+
</div>
|
|
434
775
|
</div>
|
|
435
776
|
<div class="watermark">{venture_name}</div>
|
|
436
777
|
</section>
|
|
437
778
|
|
|
438
779
|
═══════════════════════════════════════════════════════
|
|
439
|
-
LAYOUT: layout-phase
|
|
440
|
-
Use for: product roadmap, GTM roadmap, operating plan phases
|
|
780
|
+
LAYOUT: layout-phase — roadmap / GTM / operating plan (phase blocks)
|
|
441
781
|
═══════════════════════════════════════════════════════
|
|
442
782
|
|
|
783
|
+
<!-- Example: GTM Roadmap -->
|
|
443
784
|
<section class="slide">
|
|
444
785
|
<div class="slide-header">
|
|
445
|
-
<span class="part-label">
|
|
446
|
-
<span class="slide-num">
|
|
786
|
+
<span class="part-label">GO-TO-MARKET</span>
|
|
787
|
+
<span class="slide-num">18 / 36</span>
|
|
447
788
|
</div>
|
|
448
789
|
<div class="slide-body layout-phase">
|
|
449
|
-
<h2 class="t-h2">
|
|
790
|
+
<h2 class="t-h2">Validate 6 sites. Automate the motion. Scale the category.</h2>
|
|
450
791
|
<div class="phase-row">
|
|
451
792
|
<div class="phase-block active">
|
|
452
|
-
<p class="phase-name">Validate ·
|
|
453
|
-
<p class="t-label" style="margin-bottom:
|
|
454
|
-
<p class="t-
|
|
455
|
-
<p class="t-label" style="margin:
|
|
456
|
-
<p class="t-small">Founder-led sales. Target: 10 paying schools at $1,200 ACV.</p>
|
|
793
|
+
<p class="phase-name">Validate · 0–12M</p>
|
|
794
|
+
<p class="t-label" style="margin-bottom:6px">Motion</p><p class="t-small">Founder-led, high-touch pilot sales</p>
|
|
795
|
+
<p class="t-label" style="margin:8px 0 4px">Segment</p><p class="t-small">Pumping-dominant (mining, desalination)</p>
|
|
796
|
+
<p class="t-label" style="margin:8px 0 4px">Target</p><p class="t-small t-accent">6 sites → 1 paying customer</p>
|
|
457
797
|
</div>
|
|
458
798
|
<div class="phase-block">
|
|
459
|
-
<p class="phase-name">Automate ·
|
|
460
|
-
<p class="t-label" style="margin-bottom:
|
|
461
|
-
<p class="t-
|
|
462
|
-
<p class="t-label" style="margin:
|
|
463
|
-
<p class="t-small">Inside sales team. Target: 80 schools. CAC below $250.</p>
|
|
799
|
+
<p class="phase-name">Automate · 12–24M</p>
|
|
800
|
+
<p class="t-label" style="margin-bottom:6px">Motion</p><p class="t-small">Standardised onboarding + inside sales</p>
|
|
801
|
+
<p class="t-label" style="margin:8px 0 4px">Segment</p><p class="t-small">+ Heating-dominant (metals, cement)</p>
|
|
802
|
+
<p class="t-label" style="margin:8px 0 4px">Target</p><p class="t-small t-accent">15 sites · Morocco + KSA</p>
|
|
464
803
|
</div>
|
|
465
804
|
<div class="phase-block">
|
|
466
|
-
<p class="phase-name">Scale ·
|
|
467
|
-
<p class="t-label" style="margin-bottom:
|
|
468
|
-
<p class="t-
|
|
469
|
-
<p class="t-label" style="margin:
|
|
470
|
-
<p class="t-small">Channel partners. Target: 500+ schools. Series A trigger.</p>
|
|
805
|
+
<p class="phase-name">Scale · 24M+</p>
|
|
806
|
+
<p class="t-label" style="margin-bottom:6px">Motion</p><p class="t-small">Dedicated sales + channel partners</p>
|
|
807
|
+
<p class="t-label" style="margin:8px 0 4px">Segment</p><p class="t-small">+ Cooling-dominant · 5 geographies</p>
|
|
808
|
+
<p class="t-label" style="margin:8px 0 4px">Target</p><p class="t-small t-accent">40+ sites · Series A trigger</p>
|
|
471
809
|
</div>
|
|
472
810
|
</div>
|
|
473
811
|
</div>
|
|
@@ -475,40 +813,34 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
475
813
|
</section>
|
|
476
814
|
|
|
477
815
|
═══════════════════════════════════════════════════════
|
|
478
|
-
LAYOUT: layout-split
|
|
479
|
-
Use for:
|
|
816
|
+
LAYOUT: layout-split — general (headline left, stats/cards right)
|
|
817
|
+
Use for: product vision, market sizing, why us, P&L, client ROI, gives & gets
|
|
480
818
|
═══════════════════════════════════════════════════════
|
|
481
819
|
|
|
482
820
|
<section class="slide">
|
|
483
821
|
<div class="slide-header">
|
|
484
|
-
<span class="part-label">
|
|
485
|
-
<span class="slide-num">
|
|
822
|
+
<span class="part-label">GO-TO-MARKET</span>
|
|
823
|
+
<span class="slide-num">17 / 36</span>
|
|
486
824
|
</div>
|
|
487
825
|
<div class="slide-body layout-split">
|
|
488
|
-
<div class="col-
|
|
489
|
-
<
|
|
826
|
+
<div class="col-main">
|
|
827
|
+
<p class="t-eyebrow">Mothership Edge</p>
|
|
828
|
+
<h1 class="t-h1">No external startup starts with what we have on day one.</h1>
|
|
490
829
|
<div class="divider"></div>
|
|
491
|
-
<
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
</div>
|
|
830
|
+
<p class="t-body">A VC-backed startup entering this space starts from zero. We start with access to industrial sites, warm customer relationships, and proprietary training data.</p>
|
|
831
|
+
</div>
|
|
832
|
+
<div class="col-side">
|
|
495
833
|
<div class="card card-accent">
|
|
496
|
-
<p class="t-label t-accent" style="margin-bottom:6px">
|
|
497
|
-
<p class="t-small t-white">
|
|
834
|
+
<p class="t-label t-accent" style="margin-bottom:6px">Proprietary Data</p>
|
|
835
|
+
<p class="t-small t-white">OCP industrial site data — a living lab no competitor can access</p>
|
|
498
836
|
</div>
|
|
499
837
|
<div class="card card-accent">
|
|
500
|
-
<p class="t-label t-accent" style="margin-bottom:6px">
|
|
501
|
-
<p class="t-small t-white">
|
|
502
|
-
</div>
|
|
503
|
-
</div>
|
|
504
|
-
<div class="col-narrow">
|
|
505
|
-
<div class="stat-card">
|
|
506
|
-
<span class="stat-value">3 mo</span>
|
|
507
|
-
<span class="stat-label">To MVP</span>
|
|
838
|
+
<p class="t-label t-accent" style="margin-bottom:6px">Warm Relationships</p>
|
|
839
|
+
<p class="t-small t-white">35+ qualified leads from mothership network before first cold call</p>
|
|
508
840
|
</div>
|
|
509
|
-
<div class="card">
|
|
510
|
-
<p class="t-label" style="margin-bottom:
|
|
511
|
-
<p class="t-small
|
|
841
|
+
<div class="card card-accent">
|
|
842
|
+
<p class="t-label t-accent" style="margin-bottom:6px">Brand & Trust</p>
|
|
843
|
+
<p class="t-small t-white">OCP name opens doors in MEA that take external startups 2 years to unlock</p>
|
|
512
844
|
</div>
|
|
513
845
|
</div>
|
|
514
846
|
</div>
|
|
@@ -521,7 +853,7 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
521
853
|
|
|
522
854
|
STEP 1 — READ
|
|
523
855
|
Read {source_file} fully. Parse slide by slide — each starts with "### Slide N".
|
|
524
|
-
Extract: Headline
|
|
856
|
+
Extract: **Headline**, **Visual** description, **Narrative** (spoken script).
|
|
525
857
|
Count total slides.
|
|
526
858
|
|
|
527
859
|
STEP 2 — ANNOUNCE
|
|
@@ -531,15 +863,43 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
531
863
|
|
|
532
864
|
For each slide:
|
|
533
865
|
|
|
534
|
-
A. SELECT LAYOUT
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
866
|
+
A. SELECT LAYOUT — use the exact mapping for each slide number:
|
|
867
|
+
Slide 1 (Cover): layout-cover
|
|
868
|
+
Slide 2 (Hook): layout-quote
|
|
869
|
+
Slide 3 (Problem Scale): layout-data + card-grid-4 hero stat-cards
|
|
870
|
+
Slide 4 (Customer Pain): layout-data + card-grid-3 card-accent with quotes
|
|
871
|
+
Slide 5 (Mission): layout-quote
|
|
872
|
+
Slide 6 (Research Foundation): layout-split + .research-bars (col-wide / col-narrow)
|
|
873
|
+
Slide 7 (Product Vision): layout-split
|
|
874
|
+
Slide 8 (Technical Architecture): layout-split col-wide + col-narrow (4 layers + build/buy)
|
|
875
|
+
Slide 9 (Prototype + Desirability): layout-split
|
|
876
|
+
Slide 10 (Product Roadmap): layout-phase (5 dimensions × 3 phases table or phase-blocks)
|
|
877
|
+
Slide 11 (Pilot Plan): layout-phase + .step-row / .step-block (3 steps)
|
|
878
|
+
Slide 12 (ICP Profile): layout-split
|
|
879
|
+
Slide 13 (Pilot Funnel / Traction): layout-data + .funnel with .funnel-stage elements
|
|
880
|
+
Slide 14 (Sales Motion): layout-phase
|
|
881
|
+
Slide 15 (Market Sizing): layout-data + stat-cards (TAM / SAM / SOM)
|
|
882
|
+
Slide 16 (Competitive Landscape): layout-split + .matrix-2x2 (col-main) + .moat-card stack (col-side)
|
|
883
|
+
Slide 17 (Why Us / Mothership Edge): layout-split
|
|
884
|
+
Slide 18 (GTM Roadmap): layout-phase (3 phase-blocks)
|
|
885
|
+
Slide 19 (GTM Execution): layout-data
|
|
886
|
+
Slide 20 (Impact Roadmap): layout-phase
|
|
887
|
+
Slide 21 (Mothership Value): layout-split
|
|
888
|
+
Slide 22 (Revenue Model): layout-split
|
|
889
|
+
Slide 23 (Cost Structure): layout-data
|
|
890
|
+
Slide 24 (Revenue Path): layout-data + stat-cards or mini data-table
|
|
891
|
+
Slide 25 (P&L & Cashburn): layout-data + data-table (no ask framing)
|
|
892
|
+
Slide 26 (Unit Economics): layout-data + data-table
|
|
893
|
+
Slide 27 (Client ROI): layout-split
|
|
894
|
+
Slide 28 (Team Building Plan): layout-phase
|
|
895
|
+
Slide 29 (Operating Plan): layout-data + data-table
|
|
896
|
+
Slide 30 (De-Risk / Hypothesis): layout-data + data-table (assumption / test / signal)
|
|
897
|
+
Slide 31 (Team): layout-split (founding team cards)
|
|
898
|
+
Slide 32 (Gives & Gets): layout-split
|
|
899
|
+
Slide 33 (Use of Funds): layout-data + stat-cards or card-grid-3
|
|
900
|
+
Slide 34 (The Ask): layout-cover (3-section: ask amount / terms / use)
|
|
901
|
+
Slide 35 (Next Steps): layout-phase
|
|
902
|
+
Slide 36 (Close / Thank You): layout-cover
|
|
543
903
|
|
|
544
904
|
B. BUILD the slide HTML following the EXACT structure from slide-html-reference.
|
|
545
905
|
MANDATORY SHELL — never deviate:
|
|
@@ -558,12 +918,17 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
558
918
|
- Headline → always .t-h1 (or .t-display for cover slides)
|
|
559
919
|
- Add a .t-eyebrow above headline if there's a good category label
|
|
560
920
|
- Add .divider between headline and body text on split layouts
|
|
561
|
-
-
|
|
562
|
-
- Stats/numbers → always .stat-card with .stat-value + .stat-label (NEVER plain text)
|
|
921
|
+
- Narrative → do NOT paste verbatim; extract key insight as 1–2 sentence .t-body; render all numbers as .stat-card or .card.card-accent
|
|
922
|
+
- Stats/numbers (from Visual or Narrative) → always .stat-card with .stat-value + .stat-label (NEVER plain text)
|
|
563
923
|
- Customer quotes → .quote-mark + .quote-text + .quote-attr
|
|
564
924
|
- Tables → .data-table with thead and tbody; highlight the venture's row with .row-hl
|
|
565
|
-
-
|
|
925
|
+
- Evidence / insight cards → .card.card-accent
|
|
566
926
|
- Phase blocks → .phase-block with .phase-name (active phase gets class="phase-block active")
|
|
927
|
+
- Funnels → .funnel with .funnel-stage children (.funnel-stage.active for the highlighted stage)
|
|
928
|
+
- Research data → .research-bars with .research-bar-row children
|
|
929
|
+
- 2×2 matrix → .matrix-wrap > .matrix-grid > .matrix-cell (.matrix-cell.highlight for your quadrant)
|
|
930
|
+
- Moat cards → .moat-card with .moat-name + .moat-desc
|
|
931
|
+
- Step blocks → .step-row with .step-block children (.step-block.active for current step)
|
|
567
932
|
|
|
568
933
|
D. TYPOGRAPHY rules:
|
|
569
934
|
- Large headline for split layouts: .t-h1 (50px)
|
|
@@ -630,7 +995,7 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
630
995
|
</persona>
|
|
631
996
|
|
|
632
997
|
<menu>
|
|
633
|
-
<item cmd="SD or fuzzy match on incubation-deck or design-incubation" action="Run detect-theme prompt first. Then run build-deck-from-source with source_file={output_folder}/{venture_name}/pitch/incubation-pitch.md.">[SD] Design Incubation Deck — Generate HTML deck from the
|
|
998
|
+
<item cmd="SD or fuzzy match on incubation-deck or design-incubation" action="Run detect-theme prompt first. Then run build-deck-from-source with source_file={output_folder}/{venture_name}/pitch/incubation-pitch.md.">[SD] Design Incubation Deck — Generate HTML deck from the 36-slide incubation pitch</item>
|
|
634
999
|
<item cmd="FD or fuzzy match on final-deck or design-final" action="Run detect-theme prompt first. Then run build-deck-from-source with source_file={output_folder}/{venture_name}/pitch/pitch-deck.md.">[FD] Design Final Pitch Deck — Generate HTML deck from the 12-slide final pitch</item>
|
|
635
1000
|
<item cmd="CD or fuzzy match on checkin-deck or design-checkin" action="Run detect-theme prompt first. Then run build-deck-from-source with source_file={output_folder}/{venture_name}/pitch/checkin-pitch.md.">[CD] Design Check-in Deck — Generate HTML deck from the 7-slide check-in pitch</item>
|
|
636
1001
|
<item cmd="TP or fuzzy match on theme or palette or colors" action="Run detect-theme prompt. Show all 8 palettes with trigger keywords. Ask user to confirm or switch.">[TP] Theme Preview — Detect domain and preview the color palette</item>
|
package/package.json
CHANGED
|
@@ -7,6 +7,96 @@ Formulate or refine pain hypotheses from available research, and prepare intervi
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## 1.0 Social Signal Scan
|
|
11
|
+
|
|
12
|
+
Before forming any hypothesis, mine publicly available sources for raw, unfiltered signals from the target ICP. The goal is to observe what people are already complaining about — not to confirm assumptions.
|
|
13
|
+
|
|
14
|
+
**Web search is ENABLED for this step. Use it actively.**
|
|
15
|
+
|
|
16
|
+
### 1.0.1 Define Search Terms
|
|
17
|
+
|
|
18
|
+
From the domain research and stakeholder map, identify:
|
|
19
|
+
- **ICP role terms:** e.g. "site manager", "procurement officer", "school principal"
|
|
20
|
+
- **Domain/industry terms:** e.g. "construction", "EdTech", "supply chain"
|
|
21
|
+
- **Competitor names:** any known players in the space
|
|
22
|
+
- **Pain keywords:** words that signal frustration — "struggle", "hate", "broken", "manual", "waste time", "can't", "always fails", "nobody solves"
|
|
23
|
+
|
|
24
|
+
### 1.0.2 Reddit Signal Mining
|
|
25
|
+
|
|
26
|
+
Run the following web searches and read the top 5–10 results for each:
|
|
27
|
+
|
|
28
|
+
1. `site:reddit.com "[ICP role]" "[domain]" problem OR struggle OR frustrated`
|
|
29
|
+
2. `site:reddit.com "[domain]" "[pain keyword]" — filter to threads with 10+ comments`
|
|
30
|
+
3. `site:reddit.com "[competitor name]" issue OR complaint OR alternative` — for each known competitor
|
|
31
|
+
|
|
32
|
+
For each thread: extract the core complaint, the verbatim quote that best captures it, and any signals about the poster's role/context.
|
|
33
|
+
|
|
34
|
+
### 1.0.3 Quora Signal Mining
|
|
35
|
+
|
|
36
|
+
Run the following web searches:
|
|
37
|
+
|
|
38
|
+
1. `site:quora.com "[ICP role]" "[pain area]"`
|
|
39
|
+
2. `site:quora.com how do "[ICP role]" deal with "[domain challenge]"`
|
|
40
|
+
|
|
41
|
+
Quora questions reveal what people don't know how to solve — treat the question itself as a pain signal, not just the answers.
|
|
42
|
+
|
|
43
|
+
### 1.0.4 G2 / Trustpilot / App Store Review Mining
|
|
44
|
+
|
|
45
|
+
This is the highest-signal source. **3-star reviews explicitly state what a product is missing.**
|
|
46
|
+
|
|
47
|
+
For each known competitor:
|
|
48
|
+
1. Search: `[competitor name] reviews site:g2.com` — fetch the page and read 3–4 star reviews
|
|
49
|
+
2. Search: `[competitor name] reviews site:trustpilot.com` — same
|
|
50
|
+
3. If mobile-relevant: `[competitor name] app reviews site:apps.apple.com`
|
|
51
|
+
|
|
52
|
+
Extract: what users liked (to understand the job-to-be-done), what they said was missing or broken (core pain signals), and any recurring patterns across competitors.
|
|
53
|
+
|
|
54
|
+
### 1.0.5 Produce Signal Map
|
|
55
|
+
|
|
56
|
+
Consolidate findings into `social-signal-scan.md`:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
## Social Signal Scan — [Venture Name]
|
|
60
|
+
## Scanned: [date] | Sources: Reddit, Quora, G2/Trustpilot
|
|
61
|
+
|
|
62
|
+
### Top Pain Themes (ranked by signal frequency)
|
|
63
|
+
|
|
64
|
+
| # | Theme | Sources | Frequency | Best verbatim quote |
|
|
65
|
+
|---|-------|---------|-----------|---------------------|
|
|
66
|
+
| 1 | [theme] | Reddit / G2 | High / Medium / Low | "[quote]" |
|
|
67
|
+
...
|
|
68
|
+
|
|
69
|
+
### ICP Signals
|
|
70
|
+
- Who is posting: [roles, company types, contexts observed]
|
|
71
|
+
- Strongest pain segments: [which ICP profiles show the most frustration]
|
|
72
|
+
|
|
73
|
+
### Competitor Gaps (from reviews)
|
|
74
|
+
- [Competitor A]: praised for X, consistently criticized for Y
|
|
75
|
+
- [Competitor B]: ...
|
|
76
|
+
|
|
77
|
+
### Surprises
|
|
78
|
+
- [What came up that was not in the initial domain hypothesis]
|
|
79
|
+
|
|
80
|
+
### Evidence Quality
|
|
81
|
+
- All entries in this scan are [B] — publicly observed data, not primary research
|
|
82
|
+
- Do NOT use these as interview substitutes — use them to sharpen hypotheses
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Save to: `{output_folder}/{venture_name}/social-signal-scan.md`
|
|
86
|
+
|
|
87
|
+
Register the top 3–5 quantitative signals (e.g. "X% of G2 reviews mention Y") in the evidence registry as `[B]` entries.
|
|
88
|
+
|
|
89
|
+
### 1.0.6 Feed into Hypothesis
|
|
90
|
+
|
|
91
|
+
Before moving to 1.1, answer:
|
|
92
|
+
- What are the top 3 pain themes the internet is already screaming about for this ICP?
|
|
93
|
+
- Do any of these contradict what the team assumed going in?
|
|
94
|
+
- Which pain theme has the most vivid, quotable evidence?
|
|
95
|
+
|
|
96
|
+
Use these answers to ground the hypothesis in 1.2 — not in internal assumptions.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
10
100
|
## 1.1 Load and Review Existing Context
|
|
11
101
|
|
|
12
102
|
Load the following (if they exist from Phase 2):
|
|
@@ -86,6 +176,7 @@ Proceed directly to Step 2. If Simulation mode is selected, begin immediately.
|
|
|
86
176
|
|
|
87
177
|
| Output | File |
|
|
88
178
|
|--------|------|
|
|
179
|
+
| Social signal scan | `social-signal-scan.md` |
|
|
89
180
|
| Pain hypothesis (refined) | `pain-hypothesis.md` |
|
|
90
181
|
| Interview outreach plan | `interview-outreach-plan.md` |
|
|
91
182
|
| Pain-point interview script | `interview-scripts/pain-point-script.md` |
|
|
@@ -44,7 +44,28 @@ Analyze the batch for patterns:
|
|
|
44
44
|
|
|
45
45
|
---
|
|
46
46
|
|
|
47
|
-
## 3.3
|
|
47
|
+
## 3.3 Social Signal Triangulation
|
|
48
|
+
|
|
49
|
+
Load `social-signal-scan.md`. Cross-reference the forum signals against this batch's interview findings.
|
|
50
|
+
|
|
51
|
+
For each top pain theme from interviews:
|
|
52
|
+
- Does it appear in the social signal scan? If yes → **converging signal** (stronger evidence)
|
|
53
|
+
- If absent from social signals → ask: is this pain too niche to surface publicly, or is it not as prevalent as interviews suggest?
|
|
54
|
+
|
|
55
|
+
For each top theme in the social signal scan:
|
|
56
|
+
- Did it come up in interviews? If yes → **double-confirmed**
|
|
57
|
+
- If absent from interviews → flag: "Forum signals suggest [X] — worth probing in next interview batch"
|
|
58
|
+
|
|
59
|
+
**Flag divergences explicitly:**
|
|
60
|
+
> ⚠️ DIVERGENCE: Social signals strongly indicate [X] but interviews have not surfaced it. Possible explanations: ICP mix mismatch, interviews not probing deep enough, or public complainers are a different segment than target ICP.
|
|
61
|
+
|
|
62
|
+
> ✅ CONVERGENCE: [Pain theme] confirmed by both interview batch and social signal scan — elevate confidence in this pain.
|
|
63
|
+
|
|
64
|
+
Include a "Signal Triangulation" section in the synthesis report with these findings.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 3.4 Archetype / Persona Development
|
|
48
69
|
|
|
49
70
|
Based on this batch:
|
|
50
71
|
- Are 2-3 distinct customer archetypes emerging?
|
|
@@ -53,7 +74,7 @@ Based on this batch:
|
|
|
53
74
|
|
|
54
75
|
---
|
|
55
76
|
|
|
56
|
-
## 3.
|
|
77
|
+
## 3.5 Produce Synthesis Report
|
|
57
78
|
|
|
58
79
|
Using the `interview-synthesis.md` template, produce the batch synthesis report:
|
|
59
80
|
- Batch #, interview count, cumulative count
|
|
@@ -71,7 +92,7 @@ Update cumulative synthesis: `{output_folder}/{venture_name}/interview-synthesis
|
|
|
71
92
|
|
|
72
93
|
---
|
|
73
94
|
|
|
74
|
-
## 3.
|
|
95
|
+
## 3.6 Hypothesis Update
|
|
75
96
|
|
|
76
97
|
Based on synthesis findings:
|
|
77
98
|
1. Is the primary pain hypothesis confirmed, partially confirmed, or contradicted?
|
|
@@ -83,7 +104,7 @@ Update `pain-hypothesis.md` if changes are needed. Note version and rationale.
|
|
|
83
104
|
|
|
84
105
|
---
|
|
85
106
|
|
|
86
|
-
## 3.
|
|
107
|
+
## 3.7 Checkpoint
|
|
87
108
|
|
|
88
109
|
**GUIDED MODE:**
|
|
89
110
|
Present synthesis findings. Ask:
|
|
@@ -73,6 +73,7 @@ Phase 3 is complete when ALL of the following guiding questions are answered wit
|
|
|
73
73
|
|
|
74
74
|
| Artifact | File | Status |
|
|
75
75
|
|---------|------|--------|
|
|
76
|
+
| Social signal scan | `social-signal-scan.md` | |
|
|
76
77
|
| Interview scripts | `interviews/scripts/` | |
|
|
77
78
|
| Interview notes | `interviews/notes/` | |
|
|
78
79
|
| Interview synthesis | `interview-synthesis.md` | |
|