ventureos 1.1.9 → 1.1.10
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/pitch-master.md +33 -3
- package/agents/venture-evaluator.md +8 -0
- package/package.json +1 -1
- package/templates/evidence-registry.yaml +96 -0
- package/venture-master.md +5 -2
- package/workflow-engine.md +49 -0
package/agents/pitch-master.md
CHANGED
|
@@ -47,8 +47,35 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
47
47
|
<r>Load files ONLY when executing a workflow or command — EXCEPTION: config.yaml at activation.</r>
|
|
48
48
|
<r>After producing pitch decks, save to {output_folder}/{venture_name}/pitch/ and update venture-state.yaml.</r>
|
|
49
49
|
<r>Excalidraw frames must be self-contained JSON that can be pasted directly into excalidraw.com.</r>
|
|
50
|
+
<r>EVIDENCE REGISTRY RULE: Before generating any pitch, read {project-root}/ventureOS/_memory/evidence-registry.yaml. Every quantitative claim in the pitch MUST use the registered value for that metric. Do not derive, round, convert, or re-estimate a number that is already registered — use the exact registered value and unit.</r>
|
|
51
|
+
<r>CROSS-CHECK BEFORE SAVE: Before saving any pitch file, run the cross-check-pitch prompt. Do not save until cross-check passes with zero consistency errors.</r>
|
|
52
|
+
<r>EVIDENCE TIER LABELS: Every number in every pitch slide must carry an inline evidence tier label: [R] Real / [D] Derived / [B] Benchmark / [A] Assumed. Never present an [A] value in a pitch without explicitly flagging it as an assumption.</r>
|
|
50
53
|
</rules>
|
|
51
54
|
|
|
55
|
+
<prompts>
|
|
56
|
+
<prompt id="cross-check-pitch">
|
|
57
|
+
Run a mandatory consistency check on the pitch before saving.
|
|
58
|
+
|
|
59
|
+
1. Read {project-root}/ventureOS/_memory/evidence-registry.yaml
|
|
60
|
+
2. Read the pitch document just generated (in current context)
|
|
61
|
+
3. Extract every quantitative claim from the pitch: numbers, percentages, currency values, counts, ratios
|
|
62
|
+
4. For each claim:
|
|
63
|
+
a. Look up the corresponding metric in the evidence registry by id or label
|
|
64
|
+
b. If found: compare the value in the pitch to the registered value
|
|
65
|
+
- Match → ✓
|
|
66
|
+
- Mismatch → ⚠️ CONSISTENCY ERROR: state the slide number, the pitch value, and the registered value
|
|
67
|
+
c. If not found: flag as ⚠️ UNREGISTERED METRIC — add it to the registry immediately with the correct tier
|
|
68
|
+
5. Check for internal consistency WITHIN the pitch:
|
|
69
|
+
- If Slide A states a monthly price of X and Slide B states an ACV that implies a different monthly price → ⚠️ INTERNAL INCONSISTENCY
|
|
70
|
+
- If a currency conversion appears (e.g., MAD → USD) anywhere in the pitch → verify the conversion rate is consistent across all slides that use it
|
|
71
|
+
- If a revenue projection in one slide is derived from a customer count in another slide → verify the arithmetic
|
|
72
|
+
6. Report the results:
|
|
73
|
+
- ✅ Consistent: [list of verified claims]
|
|
74
|
+
- ⚠️ Errors: [list of mismatches with slide number and correct value]
|
|
75
|
+
7. If there are ANY errors: correct them in the pitch before saving. State each correction made.
|
|
76
|
+
8. If zero errors: confirm "Cross-check passed. Pitch is internally consistent and matches the Evidence Registry." Then save.
|
|
77
|
+
</prompt>
|
|
78
|
+
|
|
52
79
|
<prompts>
|
|
53
80
|
<prompt id="build-final-pitch">
|
|
54
81
|
Build the full 12-slide investor pitch deck using a narrative-first format.
|
|
@@ -90,7 +117,8 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
90
117
|
- Slides 6–10: prove the business
|
|
91
118
|
- Slide 11: close the deal
|
|
92
119
|
|
|
93
|
-
6.
|
|
120
|
+
6. Run #cross-check-pitch before saving. Correct any consistency errors found.
|
|
121
|
+
7. Save Markdown pitch to {output_folder}/{venture_name}/pitch/pitch-deck.md
|
|
94
122
|
</prompt>
|
|
95
123
|
<prompt id="build-incubation-pitch">
|
|
96
124
|
Build the full incubation pitch deck — a comprehensive, evidence-dense deck for corporate venture boards, incubation program sponsors, or internal investment committees who need operational depth, not just narrative.
|
|
@@ -199,7 +227,8 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
199
227
|
Appendix E: Full P&L — year-by-year detail including all line items
|
|
200
228
|
Appendix F: Risk register — top 5 venture risks with mitigation plans
|
|
201
229
|
|
|
202
|
-
6.
|
|
230
|
+
6. Run #cross-check-pitch before saving. Correct any consistency errors found.
|
|
231
|
+
7. Save to {output_folder}/{venture_name}/pitch/incubation-pitch.md and update venture-state.yaml.
|
|
203
232
|
</prompt>
|
|
204
233
|
<prompt id="build-checkin-pitch">
|
|
205
234
|
Build the check-in pitch deck (progress-focused, shorter).
|
|
@@ -213,7 +242,8 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
213
242
|
Slide 6: What we need from the board to continue
|
|
214
243
|
Slide 7: Plan for next 4 weeks (experiment plan)
|
|
215
244
|
3. Focus on: evidence gathered so far, honest gaps, and a clear ask
|
|
216
|
-
4.
|
|
245
|
+
4. Run #cross-check-pitch before saving. Correct any consistency errors found.
|
|
246
|
+
5. Save to {output_folder}/{venture_name}/pitch/checkin-pitch.md
|
|
217
247
|
</prompt>
|
|
218
248
|
</prompts>
|
|
219
249
|
</activation>
|
|
@@ -59,6 +59,7 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
59
59
|
<r>Load files ONLY when executing a command — EXCEPTION: config.yaml, venture-state.yaml, gate-rubric.yaml, pivot-triggers.yaml at activation.</r>
|
|
60
60
|
<r>After every formal gate: save detailed NVB feedback log and update venture-state.yaml gate_history and status fields.</r>
|
|
61
61
|
<r>The board speaks in character — each board member has a consistent voice and area of focus. Never blend them into one generic voice.</r>
|
|
62
|
+
<r>EVIDENCE REGISTRY CHECK: At every gate evaluation, read {project-root}/ventureOS/_memory/evidence-registry.yaml. For every metric cited in the pitch or artifacts, verify it matches the registered value. Any [A] (Assumed) entry is automatically challenged by Victor Chen: "This metric has no validated evidence. What data do you have to support this number?" Report the count of [R]/[D]/[B]/[A] entries in the NVB feedback log — it is a direct indicator of evidence quality.</r>
|
|
62
63
|
</rules>
|
|
63
64
|
|
|
64
65
|
<prompts>
|
|
@@ -78,6 +79,13 @@ These are your operating instructions for this VentureOS session. You are Claude
|
|
|
78
79
|
Check-in gate: icp-profile.md, pain-atomization.md, customer-synthesis.md, market-sizing.md, wedge-definition.md, checkin-pitch.md (if exists)
|
|
79
80
|
Final gate: all of the above + technical-architecture.md, product-roadmap.md, monetisation-plan.md, financial-model.md, pl-statement.md, gtm-plan.md, pilot-pipeline.md, operating-plan.md, incubation-pitch.md (if exists)
|
|
80
81
|
|
|
82
|
+
ALSO READ: {project-root}/ventureOS/_memory/evidence-registry.yaml
|
|
83
|
+
Tally the evidence quality:
|
|
84
|
+
- Count [R], [D], [B], [A] entries
|
|
85
|
+
- List all [A] metrics — these are unvalidated assumptions the board will challenge directly
|
|
86
|
+
- Flag any metric that appears in the pitch/artifacts but is NOT in the registry (unregistered = treated as [A])
|
|
87
|
+
- Flag any metric where the pitch value does NOT match the registered value (consistency error)
|
|
88
|
+
|
|
81
89
|
STEP 3 — OPEN THE BOARD SESSION
|
|
82
90
|
Open with this exact header format:
|
|
83
91
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Evidence Registry — {venture_name}
|
|
2
|
+
# Single source of truth for all quantitative claims in this venture.
|
|
3
|
+
#
|
|
4
|
+
# USAGE FOR AGENTS:
|
|
5
|
+
# BEFORE using any number in any output → look up the metric here. If found, use the registered value EXACTLY. Do not re-derive or re-estimate.
|
|
6
|
+
# AFTER producing any new quantitative claim → register it here before saving the output.
|
|
7
|
+
# IF a registered value needs to change (new evidence) → update the value, change tier if appropriate, add a note in basis explaining what changed and why.
|
|
8
|
+
#
|
|
9
|
+
# EVIDENCE TIERS (use in all outputs and here):
|
|
10
|
+
# [R] Real — from actual customer interviews, signed LOIs, live experiment results, or real transactions
|
|
11
|
+
# [D] Derived — mathematically calculated from one or more [R] values (e.g., LTV = ACV × GM / Churn)
|
|
12
|
+
# [B] Benchmark — from published market data, industry reports, or validated comparable companies
|
|
13
|
+
# [A] Assumed — working hypothesis with no evidence yet; MUST be validated before final gate
|
|
14
|
+
#
|
|
15
|
+
# CONSISTENCY RULE:
|
|
16
|
+
# If a metric appears in ANY artifact (pitch deck, financial model, business case, etc.),
|
|
17
|
+
# its value MUST match the value registered here. A mismatch is a consistency error.
|
|
18
|
+
#
|
|
19
|
+
# VALIDATION GOAL:
|
|
20
|
+
# By the Final Gate, all [A] entries must be upgraded to [R], [D], or [B], or explicitly
|
|
21
|
+
# acknowledged as remaining assumptions with a mitigation plan.
|
|
22
|
+
|
|
23
|
+
venture_name: ""
|
|
24
|
+
last_updated: ""
|
|
25
|
+
|
|
26
|
+
# ─── PRICING ──────────────────────────────────────────────────────────────────
|
|
27
|
+
pricing: []
|
|
28
|
+
# Entry format:
|
|
29
|
+
# - id: subscription_monthly_local # unique snake_case identifier
|
|
30
|
+
# label: "Monthly subscription (local currency)"
|
|
31
|
+
# value: ""
|
|
32
|
+
# unit: "MAD/month" # always specify unit
|
|
33
|
+
# usd_equivalent: "" # always provide USD equivalent if using local currency
|
|
34
|
+
# tier: "A" # R | D | B | A
|
|
35
|
+
# source_artifact: "" # e.g. pricing-model.md
|
|
36
|
+
# basis: "" # how was this number determined?
|
|
37
|
+
# registered_by: "" # which agent registered this
|
|
38
|
+
# date: ""
|
|
39
|
+
|
|
40
|
+
# ─── MARKET SIZING ────────────────────────────────────────────────────────────
|
|
41
|
+
market: []
|
|
42
|
+
# - id: tam_usd
|
|
43
|
+
# label: "Total Addressable Market"
|
|
44
|
+
# value: ""
|
|
45
|
+
# unit: "USD"
|
|
46
|
+
# tier: "B"
|
|
47
|
+
# source_artifact: market-sizing.md
|
|
48
|
+
# basis: ""
|
|
49
|
+
# registered_by: ""
|
|
50
|
+
# date: ""
|
|
51
|
+
|
|
52
|
+
# ─── UNIT ECONOMICS ───────────────────────────────────────────────────────────
|
|
53
|
+
unit_economics: []
|
|
54
|
+
# - id: acv_usd
|
|
55
|
+
# label: "Annual Contract Value per customer"
|
|
56
|
+
# value: ""
|
|
57
|
+
# unit: "USD/year"
|
|
58
|
+
# tier: "D" # e.g. Derived from monthly subscription × 12
|
|
59
|
+
# source_artifact: financial-model.md
|
|
60
|
+
# basis: ""
|
|
61
|
+
# registered_by: ""
|
|
62
|
+
# date: ""
|
|
63
|
+
|
|
64
|
+
# ─── CUSTOMER EVIDENCE ────────────────────────────────────────────────────────
|
|
65
|
+
customer_evidence: []
|
|
66
|
+
# - id: interviews_conducted
|
|
67
|
+
# label: "Total customer interviews conducted"
|
|
68
|
+
# value: ""
|
|
69
|
+
# unit: "interviews"
|
|
70
|
+
# tier: "R"
|
|
71
|
+
# source_artifact: customer-synthesis.md
|
|
72
|
+
# basis: ""
|
|
73
|
+
# registered_by: ""
|
|
74
|
+
# date: ""
|
|
75
|
+
|
|
76
|
+
# ─── FINANCIAL PROJECTIONS ────────────────────────────────────────────────────
|
|
77
|
+
financials: []
|
|
78
|
+
# - id: year1_arr_usd
|
|
79
|
+
# label: "Year 1 ARR projection (base case)"
|
|
80
|
+
# value: ""
|
|
81
|
+
# unit: "USD"
|
|
82
|
+
# tier: "D"
|
|
83
|
+
# source_artifact: financial-model.md
|
|
84
|
+
# basis: ""
|
|
85
|
+
# registered_by: ""
|
|
86
|
+
# date: ""
|
|
87
|
+
|
|
88
|
+
# ─── VALIDATION STATUS ────────────────────────────────────────────────────────
|
|
89
|
+
# Updated at each gate evaluation by NVB.
|
|
90
|
+
validation_status:
|
|
91
|
+
total_metrics: 0
|
|
92
|
+
real_count: 0 # [R] entries
|
|
93
|
+
derived_count: 0 # [D] entries
|
|
94
|
+
benchmark_count: 0 # [B] entries
|
|
95
|
+
assumed_count: 0 # [A] entries — target: 0 by Final Gate
|
|
96
|
+
open_assumptions: [] # list of [A] metric ids that must be validated before Final Gate
|
package/venture-master.md
CHANGED
|
@@ -92,6 +92,8 @@ _Type a number or a command (e.g. **NV**, **FP**, "market research", "start a ve
|
|
|
92
92
|
<r>MANDATORY GATE — Week 8: When the BC workflow completes OR a check-in pitch is produced (checkin-pitch.md saved), Victor MUST announce: "The Week 8 Check-in Gate is now open. The New Venture Board will now evaluate the venture." Then immediately load {project-root}/ventureOS/agents/venture-evaluator.md and activate NVB with gate_type="checkin". Do NOT skip this gate or allow the team to proceed to Phase 6 without a formal GO/PIVOT/KILL decision from NVB.</r>
|
|
93
93
|
<r>MANDATORY GATE — Week 12: When the DB workflow completes OR an incubation pitch is produced (incubation-pitch.md saved), Victor MUST announce: "The Week 12 Final Gate is now open. The New Venture Board will now conduct the final evaluation." Then immediately load {project-root}/ventureOS/agents/venture-evaluator.md and activate NVB with gate_type="final". Do NOT declare the venture complete or advance status without a formal GO/PIVOT/KILL decision from NVB.</r>
|
|
94
94
|
<r>After any NVB gate decision: read the updated venture-state.yaml gate_history. If PIVOT — execute the pivot-archive prompt. If KILL — execute pivot-archive and set status to "killed". If GO — announce the conditions NVB attached and ask the team to confirm they are clear before continuing.</r>
|
|
95
|
+
<r>EVIDENCE REGISTRY RULE: Every time an agent produces any output containing numbers, Victor must verify the output was cross-checked against {project-root}/ventureOS/_memory/evidence-registry.yaml before it was saved. If a number appears in an output that is NOT in the registry, remind the agent to register it and update the registry. If a number in the output CONFLICTS with the registry, flag it immediately: "⚠️ Consistency check: [metric] shows [value] but the Evidence Registry has [registered value]. Which is correct?"</r>
|
|
96
|
+
<r>ASSUMPTION ALERT RULE: When reviewing any output or when a user reports an error, scan for [A] labels. If Phase ≥ 5 and [A] labels are present on key metrics (pricing, ACV, market size, unit economics), warn: "⚠️ These metrics are still unvalidated assumptions ([A]) and will be challenged by NVB at the gate. Recommend validating before the gate."</r>
|
|
95
97
|
</rules>
|
|
96
98
|
|
|
97
99
|
<prompts>
|
|
@@ -112,8 +114,9 @@ _Type a number or a command (e.g. **NV**, **FP**, "market research", "start a ve
|
|
|
112
114
|
3. Update {project-root}/ventureOS/config.yaml — set venture_name
|
|
113
115
|
4. Create {project-root}/ventureOS/_memory/venture-state.yaml with initial state (phase: 0 or 1 depending on entry point, status: active)
|
|
114
116
|
5. Create output folder: {output_folder}/{venture_name}/
|
|
115
|
-
6.
|
|
116
|
-
7. If
|
|
117
|
+
6. Initialize the Evidence Registry: copy {project-root}/ventureOS/templates/evidence-registry.yaml to {project-root}/ventureOS/_memory/evidence-registry.yaml — set venture_name and last_updated. Tell the user: "Evidence Registry initialized. Every number generated by VentureOS will be registered here and cross-checked for consistency across all your documents."
|
|
118
|
+
7. If domain entry → route to [EX] Explore Domain
|
|
119
|
+
8. If idea entry → route to [ST] Setup Team (Phase 1)
|
|
117
120
|
</prompt>
|
|
118
121
|
<prompt id="interview-mode-check">
|
|
119
122
|
Before launching the Find Customer Pain workflow, ask the user:
|
package/workflow-engine.md
CHANGED
|
@@ -85,6 +85,53 @@ After any workflow completes (or after each step in guided mode):
|
|
|
85
85
|
|
|
86
86
|
---
|
|
87
87
|
|
|
88
|
+
## Evidence Validation Protocol
|
|
89
|
+
|
|
90
|
+
Every output that contains quantitative claims (numbers, percentages, currency values, counts, ratios, dates) MUST follow this protocol. No exceptions.
|
|
91
|
+
|
|
92
|
+
### Step 1 — Read the Evidence Registry BEFORE generating numbers
|
|
93
|
+
Before producing any output with numbers:
|
|
94
|
+
1. Read `{project-root}/ventureOS/_memory/evidence-registry.yaml`
|
|
95
|
+
2. For every metric you are about to use (ACV, pricing, market size, customer count, etc.):
|
|
96
|
+
- If the metric **is registered**: use the registered value EXACTLY — do NOT re-derive, re-estimate, or round differently
|
|
97
|
+
- If the metric **is not registered**: generate it, label it with its evidence tier, and register it immediately (see Step 3)
|
|
98
|
+
|
|
99
|
+
### Step 2 — Label every number in the output
|
|
100
|
+
Every quantitative value in every document must carry an inline evidence tier label:
|
|
101
|
+
- `[R]` **Real** — from actual customer interviews, signed pilots, live experiments, or real transactions
|
|
102
|
+
- `[D]` **Derived** — mathematically calculated from [R] values (show the formula in a footnote)
|
|
103
|
+
- `[B]` **Benchmark** — from published market data, industry reports, or validated comparables (cite the source)
|
|
104
|
+
- `[A]` **Assumed** — working hypothesis with no evidence yet
|
|
105
|
+
|
|
106
|
+
**Format in text:** `$1,200 ACV [D: monthly_subscription × 12]` or `$500M TAM [B: UNESCO EdTech Africa 2024]`
|
|
107
|
+
**In tables:** add a "Tier" column to any table with numbers.
|
|
108
|
+
|
|
109
|
+
### Step 3 — Register new metrics BEFORE saving the output
|
|
110
|
+
After producing any new quantitative claim:
|
|
111
|
+
1. Open `{project-root}/ventureOS/_memory/evidence-registry.yaml`
|
|
112
|
+
2. Add an entry for each new metric: id, label, value, unit, usd_equivalent (if local currency), tier, source_artifact, basis, registered_by, date
|
|
113
|
+
3. Update `validation_status` counts
|
|
114
|
+
4. Save the registry
|
|
115
|
+
|
|
116
|
+
### Step 4 — Cross-check BEFORE saving any output
|
|
117
|
+
Before saving the final output document:
|
|
118
|
+
1. Read the evidence registry
|
|
119
|
+
2. Scan every number in the output
|
|
120
|
+
3. For each number: verify it matches the registered value for that metric
|
|
121
|
+
4. **If there is a mismatch**: STOP. Do not save. State the discrepancy clearly:
|
|
122
|
+
> ⚠️ CONSISTENCY ERROR: [metric name] shows [value in document] but evidence registry has [registered value]. Resolving to registered value before saving.
|
|
123
|
+
Correct the document to match the registry. Then save.
|
|
124
|
+
5. **If an [A] label appears in a Phase 5 or Phase 6 document**: flag it:
|
|
125
|
+
> ⚠️ UNVALIDATED ASSUMPTION: [metric] is still [A] at Phase [N]. This must be validated or explicitly acknowledged as a remaining risk before the gate.
|
|
126
|
+
|
|
127
|
+
### Step 5 — Consistency error = blocking, not a warning
|
|
128
|
+
A number mismatch between an output and the evidence registry is a blocking error. The output is not saved until the mismatch is resolved. The agent must choose one of:
|
|
129
|
+
- Accept the registered value (if the document was wrong)
|
|
130
|
+
- Update the registered value with a new entry (if new evidence has changed the metric, with explanation)
|
|
131
|
+
- Flag to the user that two conflicting values exist and ask them to confirm which is correct
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
88
135
|
## Output Formatting
|
|
89
136
|
|
|
90
137
|
All produced documents must:
|
|
@@ -93,6 +140,8 @@ All produced documents must:
|
|
|
93
140
|
3. Be structured with clear H2 sections
|
|
94
141
|
4. Distinguish AI-generated content from user-provided content when relevant
|
|
95
142
|
5. End with a "Next Steps" or "What this unlocks" section
|
|
143
|
+
6. Every table containing numbers must have a "Tier" column ([R]/[D]/[B]/[A])
|
|
144
|
+
7. Every standalone number in prose must have an inline tier label: `value [tier: source]`
|
|
96
145
|
|
|
97
146
|
---
|
|
98
147
|
|