@rubytech/create-maxy-code 0.1.110 → 0.1.112
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/dist/index.js +39 -25
- package/package.json +1 -1
- package/payload/platform/neo4j/schema.cypher +6 -3
- package/payload/platform/plugins/cloudflare/references/manual-setup.md +3 -3
- package/payload/platform/plugins/cloudflare/references/reset-guide.md +5 -3
- package/payload/platform/plugins/memory/references/schema-estate-agent.md +51 -1
- package/payload/platform/plugins/venture-studio/PLUGIN.md +6 -1
- package/payload/platform/plugins/venture-studio/bin/scaffold.sh +1 -1
- package/payload/platform/plugins/venture-studio/skills/brand-pack/SKILL.md +1 -1
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/SKILL.md +27 -14
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/business-plan-template.md +7 -4
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/data-room-structure.md +6 -5
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/deck-blueprint-template.md +7 -6
- package/payload/platform/plugins/venture-studio/skills/office-hours/SKILL.md +8 -9
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/SKILL.md +4 -0
- package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
- package/payload/premium-plugins/real-agent/BUNDLE.md +3 -2
- package/payload/premium-plugins/real-agent/agents/listing-curator.md +133 -0
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/a4-print-documents/SKILL.md +1 -1
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/brand-design/SKILL.md +5 -11
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/make-brochure/SKILL.md +7 -7
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-extract/SKILL.md +31 -39
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-market-report/SKILL.md +4 -4
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-socials/SKILL.md +3 -2
- package/payload/premium-plugins/venture-studio/PLUGIN.md +6 -1
- package/payload/premium-plugins/venture-studio/bin/scaffold.sh +1 -1
- package/payload/premium-plugins/venture-studio/skills/brand-pack/SKILL.md +1 -1
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/SKILL.md +27 -14
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/business-plan-template.md +7 -4
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/data-room-structure.md +6 -5
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/deck-blueprint-template.md +7 -6
- package/payload/premium-plugins/venture-studio/skills/office-hours/SKILL.md +8 -9
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/SKILL.md +4 -0
package/dist/index.js
CHANGED
|
@@ -1284,31 +1284,45 @@ function setupDedicatedNeo4j() {
|
|
|
1284
1284
|
shell("cp", ["-r", "/etc/neo4j", confDir], { sudo: true });
|
|
1285
1285
|
}
|
|
1286
1286
|
// Idempotent per-brand state — runs on every install.
|
|
1287
|
-
//
|
|
1288
|
-
//
|
|
1289
|
-
//
|
|
1290
|
-
//
|
|
1291
|
-
//
|
|
1292
|
-
//
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1287
|
+
// Older Neo4j 5.x templates ship a SECOND commented occurrence of these
|
|
1288
|
+
// keys in the "Other Neo4j system properties" section. An in-place
|
|
1289
|
+
// `sed s|^#?key=.*|key=value|` matches both and writes duplicate active
|
|
1290
|
+
// lines; the 5.26.26 parser turns that into a fatal startup error.
|
|
1291
|
+
// Delete-all-then-append guarantees exactly one active line per key
|
|
1292
|
+
// regardless of how many commented occurrences the template ships.
|
|
1293
|
+
const confPath = `${confDir}/neo4j.conf`;
|
|
1294
|
+
const confKeys = [
|
|
1295
|
+
["server.bolt.listen_address", `:${NEO4J_PORT}`],
|
|
1296
|
+
["server.http.listen_address", `:${httpPort}`],
|
|
1297
|
+
["server.directories.data", `${dataDir}/data`],
|
|
1298
|
+
["server.directories.logs", logDir],
|
|
1299
|
+
["server.directories.plugins", `${dataDir}/plugins`],
|
|
1300
|
+
["server.directories.import", `${dataDir}/import`],
|
|
1301
|
+
];
|
|
1302
|
+
for (const [key, value] of confKeys) {
|
|
1303
|
+
const keyRe = key.replace(/\./g, "\\.");
|
|
1304
|
+
console.log(" [privileged] sed -i (delete)");
|
|
1305
|
+
shell("sed", ["-i", `/^#\\?${keyRe}=/d`, confPath], { sudo: true });
|
|
1306
|
+
console.log(" [privileged] echo >>");
|
|
1307
|
+
shell("sh", ["-c", `echo '${key}=${value}' >> ${confPath}`], { sudo: true });
|
|
1308
|
+
}
|
|
1309
|
+
// Verify exactly one active line per key. Any n>1 aborts the install
|
|
1310
|
+
// BEFORE the systemd unit is written. n==0 means the append failed.
|
|
1311
|
+
const activeCounts = [];
|
|
1312
|
+
for (const [key] of confKeys) {
|
|
1313
|
+
const r = spawnSync("sudo", ["grep", "-c", `^${key}=`, confPath], { stdio: "pipe" });
|
|
1314
|
+
const n = parseInt((r.stdout?.toString() ?? "0").trim(), 10) || 0;
|
|
1315
|
+
activeCounts.push(`${key}:${n}`);
|
|
1316
|
+
if (n !== 1) {
|
|
1317
|
+
const msg = `[neo4j-conf] FATAL ${key} active_count=${n}`;
|
|
1318
|
+
console.error(` ${msg}`);
|
|
1319
|
+
logFile(` ${msg}`);
|
|
1320
|
+
throw new Error(msg);
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
const summary = `[neo4j-conf] keys_active=${activeCounts.join(",")}`;
|
|
1324
|
+
console.log(` ${summary}`);
|
|
1325
|
+
logFile(` ${summary}`);
|
|
1312
1326
|
console.log(" [privileged] mkdir -p");
|
|
1313
1327
|
shell("mkdir", ["-p", `${dataDir}/data`, `${dataDir}/plugins`, `${dataDir}/import`, logDir], { sudo: true });
|
|
1314
1328
|
console.log(" [privileged] chown -R");
|
package/package.json
CHANGED
|
@@ -1071,9 +1071,12 @@ FOR (n:Task) ON (n.createdBySession);
|
|
|
1071
1071
|
|
|
1072
1072
|
// ----------------------------------------------------------
|
|
1073
1073
|
// CloudflareTunnel / CloudflareHostname — graph audit of
|
|
1074
|
-
// the tunnel-login
|
|
1075
|
-
// /api/admin/cloudflare/setup endpoint after setup-tunnel.sh exits 0
|
|
1076
|
-
//
|
|
1074
|
+
// the tunnel-login flow. Historically written by the
|
|
1075
|
+
// /api/admin/cloudflare/setup endpoint after setup-tunnel.sh exits 0;
|
|
1076
|
+
// after Task 288 (PTY-native cloudflared) both the endpoint and the
|
|
1077
|
+
// wrapper script are gone. The constraints below remain so legacy
|
|
1078
|
+
// projections stay queryable, but no current writer emits these nodes.
|
|
1079
|
+
// Linked via (Task {kind:'cloudflare-tunnel-login'})-[:PRODUCED]->.
|
|
1077
1080
|
// CloudflareHostname carries the routed FQDN; CloudflareTunnel
|
|
1078
1081
|
// carries the connector identity. Source of truth remains the on-disk
|
|
1079
1082
|
// cert.pem + tunnel.state + config.yml — these nodes are the graph
|
|
@@ -505,20 +505,20 @@ sudo cloudflared service uninstall
|
|
|
505
505
|
If `admin.<yourdomain>` is rendering the public-agent UI, the tunnel is fine but the platform UI is treating the admin hostname as public. The platform UI classifies a host as public when either:
|
|
506
506
|
|
|
507
507
|
- the hostname starts with `public.`, or
|
|
508
|
-
- the hostname appears in `${
|
|
508
|
+
- the hostname appears in `${HOME}/.${BRAND}/alias-domains.json` (note: brand root, **not** `${CFG_DIR}` — `alias-domains.json` lives one level above `cloudflared/`, because that's where the platform UI watches).
|
|
509
509
|
|
|
510
510
|
Pre-Task-548 sessions populated this file via the now-deleted `tunnel-add-hostname` MCP tool, which wrote every routed hostname — including `admin.*` — into the alias set. The pollution persists across installs.
|
|
511
511
|
|
|
512
512
|
**Diagnose:**
|
|
513
513
|
|
|
514
514
|
```
|
|
515
|
-
cat "${
|
|
515
|
+
cat "${HOME}/.${BRAND}/alias-domains.json"
|
|
516
516
|
```
|
|
517
517
|
|
|
518
518
|
If `admin.<yourdomain>` appears in the array, remove it:
|
|
519
519
|
|
|
520
520
|
```
|
|
521
|
-
jq --arg H "admin.<yourdomain>" 'map(select(. != $H))' "${
|
|
521
|
+
jq --arg H "admin.<yourdomain>" 'map(select(. != $H))' "${HOME}/.${BRAND}/alias-domains.json" > /tmp/alias.json && mv /tmp/alias.json "${HOME}/.${BRAND}/alias-domains.json"
|
|
522
522
|
```
|
|
523
523
|
|
|
524
524
|
Replace `<yourdomain>` with your actual domain. The platform UI watches the file — no restart required; the next request to the admin hostname routes to the admin surface.
|
|
@@ -86,16 +86,18 @@ When the operator is unsure which records are stray, have them list the zone's C
|
|
|
86
86
|
|
|
87
87
|
### Remove a rogue entry from `alias-domains.json`
|
|
88
88
|
|
|
89
|
-
`alias-domains.json` controls which hostnames the platform UI classifies as public (serving the public agent) rather than admin.
|
|
89
|
+
`alias-domains.json` controls which hostnames the platform UI classifies as public (serving the public agent) rather than admin. It lives at `${HOME}/.${BRAND}/alias-domains.json` — the brand root, **not** `${CFG_DIR}` (which is `${HOME}/.${BRAND}/cloudflared`). The platform UI watches the brand root; writing to `${CFG_DIR}/alias-domains.json` is invisible to the watcher.
|
|
90
|
+
|
|
91
|
+
A prior setup flow may have written an `admin.*` hostname into this file by mistake. Remove it manually:
|
|
90
92
|
|
|
91
93
|
```
|
|
92
|
-
cat "${
|
|
94
|
+
cat "${HOME}/.${BRAND}/alias-domains.json"
|
|
93
95
|
```
|
|
94
96
|
|
|
95
97
|
If `admin.<yourdomain>` is listed, strip it:
|
|
96
98
|
|
|
97
99
|
```
|
|
98
|
-
jq --arg H "admin.<yourdomain>" 'map(select(. != $H))' "${
|
|
100
|
+
jq --arg H "admin.<yourdomain>" 'map(select(. != $H))' "${HOME}/.${BRAND}/alias-domains.json" > /tmp/alias.json && mv /tmp/alias.json "${HOME}/.${BRAND}/alias-domains.json"
|
|
99
101
|
```
|
|
100
102
|
|
|
101
103
|
Replace `<yourdomain>` with the actual domain. The platform UI watches the file and reloads without a restart.
|
|
@@ -12,12 +12,59 @@ When loading this reference, confirm: "Using schema-base + schema-estate-agent".
|
|
|
12
12
|
|
|
13
13
|
| Entity | Neo4j Label | Schema.org Type | Required Properties |
|
|
14
14
|
|--------|-------------|-----------------|---------------------|
|
|
15
|
-
| Listing | `Listing` | `schema:RealEstateListing` | `accountId`, `
|
|
15
|
+
| Listing | `Listing` | `schema:RealEstateListing` | `accountId`, `slug`, `displayName`, `listingType` (sale/let), `status`, `sourceSystem`, `sourceId`, `scope`, `heroImageUrl`*, `pageUrl`*, `blurb` |
|
|
16
16
|
| Property | `Property` | `schema:Accommodation` | `accountId`, `address` (id), `propertyType`, `tenure`, `epcRating`, `features` |
|
|
17
17
|
| Viewing | `Viewing` | `schema:Event` (subtype) | `accountId`, `listing` (id), `applicant` (id), `date`, `feedback`, `outcome` |
|
|
18
18
|
| Applicant | `Applicant` | `schema:Person` (extended) | Base Person properties + `budget`, `tenure`, `moveDate`, `requirements` |
|
|
19
19
|
| Offer | `Offer` | `schema:Offer` | `accountId`, `listing` (id), `applicant` (id), `amount`, `conditions`, `status`, `date` |
|
|
20
20
|
|
|
21
|
+
\* `heroImageUrl` and `pageUrl` are required for any Listing whose `status` is `for-sale`, `under-offer`, or `sold` (anything publicly listable). Listings with `status: "off-market"` or `status: "withdrawn"` are exempt — they describe stock not currently visible to visitors and have no public listing page to point at. The curator writes `status: "off-market"` and skips the two URLs when the source has no public marketing.
|
|
22
|
+
|
|
23
|
+
### Listing — full property set
|
|
24
|
+
|
|
25
|
+
The required-properties column above is the minimum a Listing must carry. The complete property set the `listing-curator` specialist writes:
|
|
26
|
+
|
|
27
|
+
**Visitor-renderable (the public agent reads these to assemble property cards):**
|
|
28
|
+
- `slug` — URL-safe identifier derived from address (`griffin-house-upper-church-street-chepstow`)
|
|
29
|
+
- `displayName` — human-readable title (`Griffin House, Upper Church Street, Chepstow NP16 5EX`)
|
|
30
|
+
- `heroImageUrl` — primary image URL that will render inline in the chat
|
|
31
|
+
- `blurb` — single marketing-grade sentence, ≤ 280 characters, suitable as alt-text and short caption
|
|
32
|
+
- `pageUrl` — the live listing URL the visitor follows to view full details
|
|
33
|
+
|
|
34
|
+
**Marketing entity:**
|
|
35
|
+
- `listingType` — `sale` or `let`
|
|
36
|
+
- `status` — `for-sale` / `under-offer` / `sold` / `withdrawn` / `off-market`
|
|
37
|
+
- `price` — integer in pence (no currency symbol, no commas)
|
|
38
|
+
- `priceQualifier` — `guide` / `offers-over` / `offers-in-excess` / `poa` / `fixed-price` / `auction` (null when not stated)
|
|
39
|
+
- `bedrooms`, `bathrooms`, `receptionRooms` — integers (null when unknown)
|
|
40
|
+
- `floorAreaSqft` — integer square feet (null when unknown)
|
|
41
|
+
|
|
42
|
+
**Address (carried directly on the Listing rather than via a separate PostalAddress when only the formatted address is known — addresses upgrade to a linked `:PostalAddress` once structured):**
|
|
43
|
+
- `postcode` — UK postcode, upper-case, single-space-separated outward/inward (`NP16 5EX`)
|
|
44
|
+
- `addressLine` — first line of the address
|
|
45
|
+
- `town`
|
|
46
|
+
|
|
47
|
+
**Structured detail (optional):**
|
|
48
|
+
- `propertyType` — `cottage` / `detached` / `semi-detached` / `terraced` / `flat` / `bungalow` / etc.
|
|
49
|
+
- `tenure` — `freehold` / `leasehold` / `share-of-freehold` / `commonhold`
|
|
50
|
+
- `description` — the full descriptive copy from the source (the `body` of any legacy KnowledgeDocument; the description block of the source listing)
|
|
51
|
+
- `imageUrls` — string array of all image URLs (`heroImageUrl` is always also present in this array, at index 0)
|
|
52
|
+
- `floorplanUrls` — string array
|
|
53
|
+
- `epcUrl` — the EPC document URL
|
|
54
|
+
|
|
55
|
+
**Provenance + search:**
|
|
56
|
+
- `sourceSystem` — `loop-crm` / `zip-upload` / `manual`
|
|
57
|
+
- `sourceId` — natural key in the source system (for Loop, the `loopPropertyId`)
|
|
58
|
+
- `ingestedAt`, `lastVerifiedAt` — ISO timestamps
|
|
59
|
+
- `scope` — `public` for listings that should be returned to anonymous visitors via the public memory-search; `shared` for staff-only listings (e.g. pre-marketing pipeline)
|
|
60
|
+
- `embedding` — 768-dim vector (written automatically by `memory-write`)
|
|
61
|
+
|
|
62
|
+
### Listing — natural-key contract
|
|
63
|
+
|
|
64
|
+
Idempotency key: **`(accountId, sourceSystem, sourceId)`**. The curator MERGEs on this triple. Re-running the curator over the same source record updates the existing Listing in place — fields refresh (status drift over the listing's lifecycle is expected and desired: `for-sale` → `under-offer` → `sold`); no duplicate Listing is ever created.
|
|
65
|
+
|
|
66
|
+
If the source emits multiple distinct listing events tied to a single underlying property (e.g. relisted after withdrawal, then again let separately), each listing event carries its own `sourceId` in the source system and becomes its own `:Listing` node. The two listings share a `:Property` parent via separate `[:FOR_PROPERTY]` edges. The curator never collapses distinct listing events into one node.
|
|
67
|
+
|
|
21
68
|
### Applicant vs base Person
|
|
22
69
|
|
|
23
70
|
`Applicant` extends the base `Person` type with property-search-specific properties. Use `Applicant` as an additional label on the `Person` node — the applicant is still a `Person` for base queries, but the extra label carries estate-agent-specific fields like `budget` and `requirements`.
|
|
@@ -27,9 +74,12 @@ When loading this reference, confirm: "Using schema-base + schema-estate-agent".
|
|
|
27
74
|
## Relationship Patterns
|
|
28
75
|
|
|
29
76
|
```
|
|
77
|
+
(:Listing)-[:LISTED_BY]->(:LocalBusiness)
|
|
30
78
|
(:Listing)-[:FOR_PROPERTY]->(:Property)
|
|
31
79
|
(:Viewing)-[:FOR_LISTING]->(:Listing)
|
|
32
80
|
(:Viewing)-[:BY_APPLICANT]->(:Person)
|
|
33
81
|
(:Offer)-[:ON_LISTING]->(:Listing)
|
|
34
82
|
(:Offer)-[:FROM_APPLICANT]->(:Person)
|
|
35
83
|
```
|
|
84
|
+
|
|
85
|
+
`(:Listing)-[:LISTED_BY]->(:LocalBusiness)` is the mandatory parent edge that every Listing carries — it satisfies the ≥1-adjacency write-gate doctrine ([[feedback_graph_hierarchy_doctrine]]) and names the estate agency that owns the listing. `[:FOR_PROPERTY]` is composed additionally when the underlying physical `:Property` node is known (full structural data captured); it is optional because Listings frequently land before Property structural data has been collected.
|
|
@@ -4,6 +4,7 @@ description: "Founding-a-business agent. Drives an operator from raw idea to fun
|
|
|
4
4
|
requires:
|
|
5
5
|
- projects
|
|
6
6
|
- work
|
|
7
|
+
- deep-research
|
|
7
8
|
metadata: {"platform":{"always":false,"embed":["admin"],"pluginKey":"venture-studio","optional":true,"recommended":true}}
|
|
8
9
|
---
|
|
9
10
|
|
|
@@ -62,8 +63,8 @@ The script's three effects:
|
|
|
62
63
|
2. **Creates the `Project` node.** Tier `full` (data-room work is multi-phase). Project name is the business's working name; description references the data-room root path.
|
|
63
64
|
3. **Enumerates the eight artefact Tasks** in section order — one transaction, atomic with the Project. The work-item list the script pre-seeds:
|
|
64
65
|
- **Stage 1 — Office-hours design doc** → produces `01-narrative/office-hours-design.md` (skill: `office-hours`)
|
|
65
|
-
- **Brand pack** → produces brand identity files into `06-product-ip/brand/` (skill: `brand-pack`)
|
|
66
66
|
- **Stage 2 — Wedge validation + landing page + PRD** → produces `01-narrative/{PMF, LANDING, PRD}.md` (skill: `zero-to-prototype`)
|
|
67
|
+
- **Brand pack** → produces brand guidelines + summary + color palette + typography system + tone-of-voice (voice/messaging/copy) + logo guidelines into `06-product-ip/brand/` (skill: `brand-pack`)
|
|
67
68
|
- **Stage 3 — Business plan** → produces `01-narrative/business-plan.md` (skill: `investor-data-room` Stage 3)
|
|
68
69
|
- **Stage 3b — Term sheet** → produces `html/prospectus/term_sheet.html` (skill: `investor-data-room` Stage 3b)
|
|
69
70
|
- **Stage 4 — Deck blueprint** → produces `01-narrative/deck-blueprint.md` (skill: `investor-data-room` Stage 4)
|
|
@@ -96,6 +97,10 @@ When the operator's intent matches a row but the scaffold does not yet exist, ru
|
|
|
96
97
|
- If a section reveals a new artefact the operator wants (e.g. a competitor-claims-rebuttal in `08-market/`), `work-create` a new Task under the same Project, then proceed.
|
|
97
98
|
- The Project's health signal (green/amber/red) is computed from Task state. Use `project-get` at the start of each turn to surface what's outstanding.
|
|
98
99
|
|
|
100
|
+
## Research routing
|
|
101
|
+
|
|
102
|
+
Every structured-research task — market sizing (TAM/SAM/SOM + CAGR), compliance research (DMCC / ICO ADM / EU AI Act), competitor scans, comparable rounds and exit comparables, named-acquirer enumeration — routes through the `research-assistant` specialist with the five `deep-research` skills (`deep-research`, `book-mirror`, `strategic-reading`, `academic-verify`, `data-research`). Dispatch the specialist; do not call `WebSearch` or `WebFetch` directly from a venture-studio skill. The specialist returns structured findings with citations the data-room artefacts can quote verbatim.
|
|
103
|
+
|
|
99
104
|
## Tone
|
|
100
105
|
|
|
101
106
|
Founder-facing. Direct, evidence-based, no flattery. You are the chief of staff for a one-person founding team — your job is to keep every artefact tracked and every deadline visible, while the operator focuses on the parts only they can do (customer conversations, founder signal, vision).
|
|
@@ -64,8 +64,8 @@ PAYLOAD=$(cat <<JSON
|
|
|
64
64
|
"tier": "full",
|
|
65
65
|
"workItems": [
|
|
66
66
|
{"name": "Stage 1 — Office-hours design doc", "description": "Produces 01-narrative/office-hours-design.md via the office-hours skill."},
|
|
67
|
-
{"name": "Brand pack", "description": "Produces brand identity (palette, typography, logo) into 06-product-ip/brand/ via the brand-pack skill."},
|
|
68
67
|
{"name": "Stage 2 — Wedge validation + landing page + PRD", "description": "Produces 01-narrative/{PMF,LANDING,PRD}.md via the zero-to-prototype skill."},
|
|
68
|
+
{"name": "Brand pack", "description": "Produces brand guidelines + summary + color palette + typography system + tone-of-voice (voice/messaging/copy) + logo guidelines into 06-product-ip/brand/ via the brand-pack skill."},
|
|
69
69
|
{"name": "Stage 3 — Business plan", "description": "Produces 01-narrative/business-plan.md via investor-data-room Stage 3."},
|
|
70
70
|
{"name": "Stage 3b — Term sheet", "description": "Produces html/prospectus/term_sheet.html via investor-data-room Stage 3b."},
|
|
71
71
|
{"name": "Stage 4 — Deck blueprint", "description": "Produces 01-narrative/deck-blueprint.md via investor-data-room Stage 4."},
|
|
@@ -39,7 +39,7 @@ Before generating anything, gather the following. Ask all questions in a single
|
|
|
39
39
|
- Website URL (fetch it if provided — extract existing colors, fonts, tone)
|
|
40
40
|
- Inspiration brands (brands they admire aesthetically)
|
|
41
41
|
|
|
42
|
-
If the user provides a URL,
|
|
42
|
+
If the user provides a URL — their own site, a competitor brand, or an inspiration brand — dispatch the `research-assistant` specialist (with `deep-research` for site copy + visual scan, `WebFetch` available through the specialist) rather than calling `fetch` or `WebFetch` directly from this skill. The specialist returns: dominant colors (CSS or visual description), font choices, tone of copy, and any existing brand signals. Pre-fill your recommendations from the specialist's structured findings.
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: investor-data-room
|
|
3
|
-
description: Use when a UK-domiciled founder needs to produce a full seed-raise pack from idea to deliverables: graph-structured data room,
|
|
3
|
+
description: Use when a UK-domiciled founder needs to produce a full seed-raise pack from idea to deliverables: graph-structured data room, 16-section business plan, persuasive prospectus + formal term sheet (with FCA self-certification appendices), 13-slide deck blueprint, print-ready HTML+PDF for each. Trigger phrases include "build me a data room", "draft a business plan", "deck from the business plan", "draft an investment prospectus", "generate a term sheet", "from office hours to investor pack", "set up the fundraise repo". The skill never speculates on financial figures or cap-table values: every number traces to a Companies House filing, a financial model worksheet, or a source citation. Public-facing artefacts contain zero internal workings (no "reconciliation pending", no "open Q" markers, no comparison-to-baseline commentary). Design tokens are harmonised across business plan, prospectus, term sheet, and deck via the operator's project design-tokens spec.
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -25,13 +25,15 @@ Complete when the data room contains:
|
|
|
25
25
|
README.md # data-room index, status snapshot, doctrine
|
|
26
26
|
01-narrative/
|
|
27
27
|
office-hours-design.md # ideation working scratchpad
|
|
28
|
-
business-plan.md #
|
|
29
|
-
deck-blueprint.md #
|
|
28
|
+
business-plan.md # 16-section business plan
|
|
29
|
+
deck-blueprint.md # 13-slide blueprint
|
|
30
|
+
exit-thesis.md # named acquirers + recent exit comparables
|
|
30
31
|
02-corporate-legal/
|
|
31
32
|
README.md # incorporation filings, articles, board minutes
|
|
32
33
|
incorporation-<co-house-no>-<date>.pdf # IN01 + statement of capital + cap table
|
|
33
34
|
03-cap-table/
|
|
34
35
|
README.md # pre/post-investment cap table with PSC notes
|
|
36
|
+
comparables.md # recent comparable rounds (company / pre-money / post-money / multiple / source) cited by the term-sheet valuation
|
|
35
37
|
04-financials/
|
|
36
38
|
README.md
|
|
37
39
|
model_worksheet.md # opening cash, capex, burn, MRR ramp, two-round
|
|
@@ -78,7 +80,9 @@ Skip stages that are already complete; do not regenerate stale artefacts blindly
|
|
|
78
80
|
|
|
79
81
|
## Stage 1 — Office-hours ideation
|
|
80
82
|
|
|
81
|
-
Drive a conversational discovery session using the sibling `office-hours` skill.
|
|
83
|
+
Drive a conversational discovery session using the sibling `office-hours` skill. Market sizing and competitor recon during discovery dispatch the `research-assistant` specialist with `deep-research` + `data-research` rather than calling `WebSearch` directly — every market figure that ends up in `08-market/sources.md` must trace to a structured-research citation.
|
|
84
|
+
|
|
85
|
+
Output a single `office-hours-design.md` capturing:
|
|
82
86
|
|
|
83
87
|
- Problem statement
|
|
84
88
|
- Demand evidence (with numbers and dates)
|
|
@@ -113,22 +117,23 @@ References: `references/data-room-structure.md` for the section-by-section purpo
|
|
|
113
117
|
|
|
114
118
|
## Stage 3 — Business plan synthesis
|
|
115
119
|
|
|
116
|
-
Generate `01-narrative/business-plan.md` with **
|
|
120
|
+
Generate `01-narrative/business-plan.md` with **16 sections** following the canonical structure:
|
|
117
121
|
|
|
118
122
|
1. Executive Summary
|
|
119
123
|
2. Vision and Mission (Vision / Mission / Doctrine triad)
|
|
120
124
|
3. The Company (legal entity table + pre-investment cap table)
|
|
121
|
-
4. The Market (TAM/SAM/SOM + structural tailwind + self-employed wedge + domestic adjacency + international upside + pricing)
|
|
125
|
+
4. The Market (TAM/SAM/SOM bottoms-up with geography-tier floor + CAGR with citation + 3-yr market-expansion thesis + market-share trajectory to 3–8% SAM in 5 yrs + structural tailwind + self-employed wedge + domestic adjacency + international upside + pricing)
|
|
122
126
|
5. The Product (what it is + wedge product + upsell path + substrate moat + conversation ingestion + network + Anthropic asymmetric capture + human-services layer)
|
|
123
|
-
6. The Business Model (revenue streams + unit economics)
|
|
127
|
+
6. The Business Model (revenue streams + unit economics — ACV, CAC, LTV, **LTV:CAC**, gross margin, **burn multiple**, churn — each a named line)
|
|
124
128
|
7. Go-to-Market (Wedge → Beachhead → Blitzscale framework + demand evidence + GTM partners + horse-before-cart logic + geography)
|
|
125
129
|
8. Competition (three failing categories + RANL differentiation + most-direct-competitor counter)
|
|
126
130
|
9. Operations (technology stack + data sovereignty + IP ownership chain + compliance posture summary)
|
|
127
131
|
10. Compliance and regulatory positioning (UK consumer protection + UK data/AI regime + EU AI Act + adjacent UK obligations + moat-not-tax close)
|
|
128
132
|
11. Team (founders + strategic shareholders + hiring plan)
|
|
129
|
-
12. Financial Plan (12.1 opening balance sheet through 12.7 use of funds)
|
|
133
|
+
12. Financial Plan (12.1 opening balance sheet through 12.7 use of funds; valuation per round cites `03-cap-table/comparables.md`)
|
|
130
134
|
13. Risks and Mitigations
|
|
131
135
|
14. Milestones (the N-month thesis)
|
|
136
|
+
14b. Exit thesis (target exit value + 5–8-year horizon + exit routes — strategic / PE / IPO — + 3–5 named acquirers with one-line rationale each)
|
|
132
137
|
15. The bottom line (summary table + close)
|
|
133
138
|
+ Appendices (titled documents only; no internal-only file pointers)
|
|
134
139
|
|
|
@@ -140,7 +145,14 @@ Generate `01-narrative/business-plan.md` with **15 sections** following the cano
|
|
|
140
145
|
- **Financial figures derive from the model worksheet.** Cite "Appendix A" by title.
|
|
141
146
|
- **No em-dashes between alphabetic words** in user-facing prose (recurring style violation in this project's history; see `references/internal-workings-scrub.md`).
|
|
142
147
|
|
|
143
|
-
|
|
148
|
+
**Research routing across Stage 3.** Every figure sourced from the wider world routes through the `research-assistant` specialist — never raw `WebSearch` / `WebFetch` from this skill:
|
|
149
|
+
|
|
150
|
+
- **Section 4 (Market)** — TAM/SAM/SOM citations, CAGR sourcing, market-share trajectory baselines, competitor rebuttal facts: dispatch `research-assistant` with `data-research`.
|
|
151
|
+
- **Section 10 (Compliance)** — DMCC Act (UK consumer protection for estate-agency), ICO ADM framework (Articles 22A–22D under UK GDPR + ICO 2025 strategy), EU AI Act (force date, high-risk classification for property-financing decisions): dispatch `research-assistant` with `academic-verify` to retrieve the primary regulatory texts. Cite each in the body.
|
|
152
|
+
- **Section 12 (Financial — valuation comparables)** — recent comparable rounds that feed `03-cap-table/comparables.md`: dispatch `research-assistant` with `data-research`.
|
|
153
|
+
- **Section 14b (Exit thesis)** — 3–5 named acquirers (strategic / PE / IPO) with one-line rationale each, plus recent comparable exits (company / acquirer / multiple / year / source) that feed the exit section of `03-cap-table/comparables.md`: dispatch `research-assistant` with `data-research`.
|
|
154
|
+
|
|
155
|
+
The specialist returns structured findings; the skill quotes those findings verbatim into the relevant section and into `08-market/sources.md` / `03-cap-table/comparables.md`.
|
|
144
156
|
|
|
145
157
|
References: `references/business-plan-template.md` for the section-by-section template; `references/compliance-research-checklist.md` for the UK + EU regulatory regimes to verify.
|
|
146
158
|
|
|
@@ -172,20 +184,21 @@ References: `references/termsheet-template.md`.
|
|
|
172
184
|
|
|
173
185
|
## Stage 4 — Deck blueprint synthesis
|
|
174
186
|
|
|
175
|
-
Generate `01-narrative/deck-blueprint.md` as a **
|
|
187
|
+
Generate `01-narrative/deck-blueprint.md` as a **13-slide brief** the deck designer can execute. Each slide has Purpose, Headline (one-line message), Body (bullets + figures pulled from the business plan), Visual suggestion, and Source reference. The 13 slides:
|
|
176
188
|
|
|
177
189
|
1. Cover (raise headline + founders)
|
|
178
190
|
2. Vision (Vision / Mission / Doctrine)
|
|
179
|
-
3. The Market (TAM + tailwind + wedge)
|
|
191
|
+
3. The Market (TAM + tailwind + wedge + **CAGR with citation**)
|
|
180
192
|
4. Business Model (subscription + service layer + unit economics)
|
|
181
193
|
5. Go-to-Market (Wedge → Beachhead → Blitzscale + named partners)
|
|
182
194
|
6. The Product (substrate + wedge + network + asymmetric capture + services layer)
|
|
183
195
|
7. Competition (three failing categories + most-direct counter)
|
|
184
196
|
8. The Team (founders + strategic shareholders)
|
|
185
|
-
9. Economics (P&L summary + cash flow + break-even)
|
|
197
|
+
9. Economics (P&L summary + cash flow + break-even + **LTV:CAC and burn multiple**)
|
|
186
198
|
10. The Raise (size, valuation, dilution, instrument, use of funds, IP transfer, follow-on round)
|
|
187
|
-
11.
|
|
188
|
-
12.
|
|
199
|
+
11. Exit (target exit value + 5–8-year horizon + routes — strategic / PE / IPO — + 3–5 named acquirers with one-line rationale)
|
|
200
|
+
12. Milestones (M0 to M-final timeline)
|
|
201
|
+
13. Other Information (compliance + platform dependency + contact)
|
|
189
202
|
|
|
190
203
|
Production notes attached: format (16:9 landscape, PDF + source deck), design tokens reference (the operator's project design-tokens spec, path supplied at Stage 5 invocation), chart-source consistency with the financial model, speaker-note attribution.
|
|
191
204
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Business plan template —
|
|
1
|
+
# Business plan template — 16-section structure
|
|
2
2
|
|
|
3
3
|
The canonical structure used by `01-narrative/business-plan.md`. Every public-facing artefact (deck, prospectus, term sheet) derives from this file. Apply the internal-workings scrub (see `internal-workings-scrub.md`) on every revision.
|
|
4
4
|
|
|
@@ -14,13 +14,13 @@ Three blocks. **Vision.** Where the company ends up at full execution. **Mission
|
|
|
14
14
|
Legal entity table (legal name, Companies House number, incorporation date, registered office, SIC, PSC status, sole proposed director on IN01) + pre-investment cap table (sourced from the IN01 verbatim) + post-investment dilution pointer.
|
|
15
15
|
|
|
16
16
|
### 4. The Market
|
|
17
|
-
Subsections: Size of the addressable market (TAM with citation per figure); Structural tailwind (margin squeeze, regulatory tailwind, or equivalent); Self-employed wedge or analogous high-growth segment; Domestic adjacency (next-vertical expansion); International upside (channel partner enabling it); Pricing and TAM (per-customer ACV × addressable count = TAM number).
|
|
17
|
+
Subsections: Size of the addressable market (TAM with citation per figure, bottoms-up construction; geography-tier floor — **late pre-seed TAM is expected to clear $1B US / $500M UK / $500M EU**, flag if the named geography sits below its floor); Market growth rate (single CAGR figure with citation + a one-line 3-year market-expansion thesis stating why the market gets bigger and why this company captures more share as it does); Market-share trajectory (path to 3-8% of SAM within 5 years, reconciled line-by-line against the ARR target in Section 12); Structural tailwind (margin squeeze, regulatory tailwind, or equivalent); Self-employed wedge or analogous high-growth segment; Domestic adjacency (next-vertical expansion); International upside (channel partner enabling it); Pricing and TAM (per-customer ACV × addressable count = TAM number).
|
|
18
18
|
|
|
19
19
|
### 5. The Product
|
|
20
20
|
Subsections: What it is (substrate description, CRM-agnostic / data-sovereign positioning); The wedge product (narrowest unit of value, public-by-default if applicable); The upsell path (wedge → high-value output → full substrate); The substrate moat (operator-data + ontological graph + flywheel); Conversation ingestion (or equivalent lock-in mechanic); The network (federation thesis); Asymmetric-capture position (the LLM-binary wrap argument, with commercial-practice insurance); Human-services layer (training, support, white-glove, anti-fragile-against-frontier-AI).
|
|
21
21
|
|
|
22
22
|
### 6. The Business Model
|
|
23
|
-
Revenue streams (subscription tiers + future network-effect revenue)
|
|
23
|
+
Revenue streams (subscription tiers + future network-effect revenue). Unit economics — each metric is a named line: **ACV**, **CAC**, **LTV**, **LTV:CAC ratio** (target ≥ 3:1 by Month 12), **gross margin** (target ≥ 70% steady-state), **burn multiple** (net burn ÷ net new ARR; target ≤ 2× during wedge, ≤ 1× post-PMF), **churn** (logo + revenue). Compute-mark-up doctrine ("never mark up the LLM compute; customer pays the LLM provider directly").
|
|
24
24
|
|
|
25
25
|
### 7. Go-to-Market
|
|
26
26
|
Wedge → Beachhead → Blitzscale framework (with months and funding source per phase), demand evidence (40+ EOIs, paid intents, founder dogfood, partnership status — every number cited), GTM partners (one row per named partner with role and source), horse-before-cart logic (public-first wedge that earns trust for the private high-value upsell), geography.
|
|
@@ -38,7 +38,7 @@ Three regulatory regimes: UK consumer protection (DMCC Act for estate agency / e
|
|
|
38
38
|
Founders (foregrounded) with role + concise career summary + key credentials + pre-investment shareholding. Strategic shareholders from incorporation (advisors, family, JV partners on the cap table from day one). Hiring plan table with month-triggered roles + salary + trigger condition.
|
|
39
39
|
|
|
40
40
|
### 12. Financial Plan
|
|
41
|
-
12.1 Opening balance sheet (M0 after capex). 12.2 Year-1 Income Statement (revenue + COGS + every opex line + depreciation + EBIT + corp tax + net loss). 12.3 Year-1 cash flow summary table (period-by-period opening, net flow, closing cash). 12.4 Closing balance sheet (M12). 12.5 Two-round funding strategy (timing, size, pre-money, purpose, gating evidence per round). 12.6 Contingency levers. 12.7 Use of funds (this round) by bucket.
|
|
41
|
+
12.1 Opening balance sheet (M0 after capex). 12.2 Year-1 Income Statement (revenue + COGS + every opex line + depreciation + EBIT + corp tax + net loss). 12.3 Year-1 cash flow summary table (period-by-period opening, net flow, closing cash). 12.4 Closing balance sheet (M12). 12.5 Two-round funding strategy (timing, size, pre-money, purpose, gating evidence per round) — **valuation per round cites `03-cap-table/comparables.md`** (recent comparable rounds: company / pre-money / post-money / multiple / source). 12.6 Contingency levers. 12.7 Use of funds (this round) by bucket.
|
|
42
42
|
|
|
43
43
|
### 13. Risks and Mitigations
|
|
44
44
|
Two-column table: risk + mitigation. Cover Loop / Anthropic / competitor-ships-earlier / wedge-fails-to-convert / founder-transition / counsel-delays / Round-2-market / investor-structure.
|
|
@@ -46,6 +46,9 @@ Two-column table: risk + mitigation. Cover Loop / Anthropic / competitor-ships-e
|
|
|
46
46
|
### 14. Milestones (the N-month thesis)
|
|
47
47
|
Month-by-month table: M0 close + closing conditions; M1 first paying customer; M3 product-engineer hire + ~10 customers; M6 wedge phase complete; M7 Round 2 raise opens; M9 Round 2 closes; M12 break-even.
|
|
48
48
|
|
|
49
|
+
### 14b. Exit thesis
|
|
50
|
+
Target exit value (£m), horizon (5–8 years), exit routes considered (strategic acquisition, PE rollup, IPO) with a one-line view on which route is most likely and why. **3–5 named acquirers**, each with a one-line rationale (why they would buy: distribution gap, technology gap, defensive play, vertical entry). Sourced from `08-market/sources.md` and `03-cap-table/comparables.md` (recent exit comparables: company / acquirer / multiple / year / source). Body references "Appendix B" by title.
|
|
51
|
+
|
|
49
52
|
### 15. The bottom line
|
|
50
53
|
Summary table of headline numbers (raise size, pre-money, post-money, dilution, runway, Y1 revenue/loss/cash-burn/closing-cash/ARR, break-even month, Round 2 timing/size). Closing paragraph.
|
|
51
54
|
|
|
@@ -9,8 +9,9 @@ Standard ten numbered sections plus root README, internal-narrative subdirectory
|
|
|
9
9
|
|
|
10
10
|
**Currently present.**
|
|
11
11
|
- `office-hours-design.md` — APPROVED office-hours output (internal).
|
|
12
|
-
- `business-plan.md` —
|
|
13
|
-
- `deck-blueprint.md` —
|
|
12
|
+
- `business-plan.md` — 16-section public business plan.
|
|
13
|
+
- `deck-blueprint.md` — 13-slide brief.
|
|
14
|
+
- `exit-thesis.md` — target exit value, 5–8-year horizon, exit routes (strategic / PE / IPO), 3–5 named acquirers with one-line rationale each.
|
|
14
15
|
|
|
15
16
|
### 02-corporate-legal
|
|
16
17
|
**Purpose.** Statutory documentation. First section any investor's lawyer asks for.
|
|
@@ -20,12 +21,12 @@ Standard ten numbered sections plus root README, internal-narrative subdirectory
|
|
|
20
21
|
### 03-cap-table
|
|
21
22
|
**Purpose.** Who owns what, before and after the round. Most-scrutinised number in seed-stage diligence.
|
|
22
23
|
|
|
23
|
-
**Standard contents.** Pre-investment cap table (per IN01), post-investment cap table (with dilution math), fully-diluted including option pool, founder vesting schedule (if any), share register, subscription letters.
|
|
24
|
+
**Standard contents.** Pre-investment cap table (per IN01), post-investment cap table (with dilution math), fully-diluted including option pool, founder vesting schedule (if any), share register, subscription letters, `comparables.md` (recent comparable rounds — company / pre-money / post-money / multiple / source — that the term sheet's valuation cites).
|
|
24
25
|
|
|
25
26
|
### 04-financials
|
|
26
27
|
**Purpose.** The investability of the raise: runway, burn, revenue ramp, break-even, contingency.
|
|
27
28
|
|
|
28
|
-
**Standard contents.** `model_worksheet.md` (opening cash, capex, monthly burn, MRR ramp, two-round funding strategy, contingency levers), historical accounts (if any), bank statements, unit economics, VAT status.
|
|
29
|
+
**Standard contents.** `model_worksheet.md` (opening cash, capex, monthly burn, MRR ramp, two-round funding strategy, contingency levers), historical accounts (if any), bank statements, unit economics (must include **LTV:CAC ratio** and **burn multiple** as named lines alongside ACV / CAC / LTV / gross margin / churn), VAT status.
|
|
29
30
|
|
|
30
31
|
### 05-commercial
|
|
31
32
|
**Purpose.** Customer pipeline, demand evidence, GTM partners, route-to-revenue.
|
|
@@ -45,7 +46,7 @@ Standard ten numbered sections plus root README, internal-narrative subdirectory
|
|
|
45
46
|
### 08-market
|
|
46
47
|
**Purpose.** Size of the prize, shape of demand, competitive landscape. Every market figure in the business plan must trace to a row in this section.
|
|
47
48
|
|
|
48
|
-
**Standard contents.** `sources.md` (every figure with citation), `competitor-value-claims-rebuttal.md` (vendor-by-vendor rebuttal framework), TAM/SAM/SOM file, customer-segmentation analysis, regulatory landscape, international-expansion potential.
|
|
49
|
+
**Standard contents.** `sources.md` (every figure with citation), `competitor-value-claims-rebuttal.md` (vendor-by-vendor rebuttal framework), TAM/SAM/SOM file (bottoms-up; **geography-tier floor** — late pre-seed TAM is expected to clear $1B US / $500M UK / $500M EU; flag any named geography that sits below its floor), `market-growth-rate.md` (single CAGR figure with citation + one-line 3-year market-expansion thesis), `market-share-trajectory.md` (path to 3–8% SAM within 5 years, reconciled to the ARR target in the business plan), customer-segmentation analysis, regulatory landscape, international-expansion potential.
|
|
49
50
|
|
|
50
51
|
### 09-operations
|
|
51
52
|
**Purpose.** Day-to-day regulatory, compliance, and operational infrastructure.
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
# Deck blueprint template —
|
|
1
|
+
# Deck blueprint template — 13 slides
|
|
2
2
|
|
|
3
3
|
Each slide is specified by Purpose, Headline (one-line message), Body (bullets + figures pulled from the business plan), Visual suggestion, and Source reference. The deck is the presentation surface; the business plan is the source of truth.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 13-slide layout
|
|
6
6
|
|
|
7
7
|
| # | Slide | What it lands |
|
|
8
8
|
|---|---|---|
|
|
9
9
|
| 1 | Cover | Company name, raise headline, three foregrounded founders, Companies House identifier. |
|
|
10
10
|
| 2 | Vision | Vision / Mission / Doctrine triad. |
|
|
11
|
-
| 3 | The Market | TAM with citation, structural tailwind (margin-squeeze / regulatory / equivalent), self-employed or analogous wedge, domestic adjacency, international upside, pricing band
|
|
11
|
+
| 3 | The Market | TAM with citation, structural tailwind (margin-squeeze / regulatory / equivalent), self-employed or analogous wedge, domestic adjacency, international upside, pricing band, **CAGR with citation**. |
|
|
12
12
|
| 4 | Business Model | Subscription tiers + hardware + service layer + future network-effect revenue + unit economics + compute-no-markup doctrine. |
|
|
13
13
|
| 5 | Go-to-Market | Wedge → Beachhead → Blitzscale framework, demand evidence numbers, named GTM partners, horse-before-cart logic. |
|
|
14
14
|
| 6 | The Product | Substrate description, wedge, upsell path, substrate moat, conversation ingestion, network, asymmetric capture, services layer. |
|
|
15
15
|
| 7 | Competition | Three failing categories + most-direct-competitor counter (CRM-agnostic vs migration-required). |
|
|
16
16
|
| 8 | The Team | Founders + strategic shareholders, with one-line credential per person and shareholding %. |
|
|
17
|
-
| 9 | Economics | Y1 revenue, P&L loss, cash burn, M11 cash low, M12 closing cash, closing ARR, break-even month
|
|
17
|
+
| 9 | Economics | Y1 revenue, P&L loss, cash burn, M11 cash low, M12 closing cash, closing ARR, break-even month, **LTV:CAC and burn multiple**. Two-panel chart: MRR ramp with burn overlay + monthly cash balance. |
|
|
18
18
|
| 10 | The Raise | Size, pre-money, post-money, dilution, instrument, use of funds, IP transfer at close, Round 2 size + timing, pre-emption. Pie chart of post-investment cap table. |
|
|
19
|
-
| 11 |
|
|
20
|
-
| 12 |
|
|
19
|
+
| 11 | Exit | Target exit value, 5–8-year horizon, exit routes (strategic / PE / IPO), 3–5 named acquirers with one-line rationale each. Sourced from `01-narrative/exit-thesis.md`. |
|
|
20
|
+
| 12 | Milestones | M0 to M-final timeline with MRR curve and Round-1 / Round-2 close markers. |
|
|
21
|
+
| 13 | Other Information | Compliance (DMCC + UK ICO + EU AI Act), platform-dependency disclosure with the commercial-practice-insurance answer, contact card (founders + email + web). |
|
|
21
22
|
|
|
22
23
|
## Production notes attached to the blueprint
|
|
23
24
|
|
|
@@ -32,14 +32,13 @@ You are a **YC office hours partner**. Your job is to ensure the problem is unde
|
|
|
32
32
|
|
|
33
33
|
## Phase 1: Context Gathering
|
|
34
34
|
|
|
35
|
-
Understand the
|
|
35
|
+
Understand the operator's business and the area they want to change.
|
|
36
36
|
|
|
37
|
-
1. Read
|
|
38
|
-
2.
|
|
39
|
-
3.
|
|
40
|
-
4. **List any prior office-hours design docs on disk** under the operator's project (e.g. the data-room `01-narrative/` directory when invoked from `venture-studio`, or the operator-supplied path otherwise). If prior designs exist, list them: "Prior designs for this project: [titles + dates]"
|
|
37
|
+
1. Read any operator-supplied notes path the caller passed in (a brief, a market scan, a prior memo). If no path was passed, skip.
|
|
38
|
+
2. **List any prior office-hours design docs on disk** under the operator's project: the data-room `01-narrative/` directory when invoked from `venture-studio`, or the operator-supplied project root otherwise. If prior designs exist, list them: "Prior designs for this project: [titles + dates]"
|
|
39
|
+
3. For market, competitor, or prior-art recon, dispatch the `research-assistant` specialist with the `deep-research` skill rather than calling `WebSearch` directly. The specialist returns structured findings the design doc can cite.
|
|
41
40
|
|
|
42
|
-
|
|
41
|
+
4. **Ask: what's your goal with this?** This is a real question, not a formality. The answer determines everything about how the session runs.
|
|
43
42
|
|
|
44
43
|
Via AskUserQuestion, ask:
|
|
45
44
|
|
|
@@ -56,7 +55,7 @@ Understand the project and the area the user wants to change.
|
|
|
56
55
|
- Startup, intrapreneurship → **Startup mode** (Phase 2A)
|
|
57
56
|
- Hackathon, open source, research, learning, having fun → **Builder mode** (Phase 2B)
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
5. **Assess product stage** (only for startup/intrapreneurship modes):
|
|
60
59
|
- Pre-product (idea stage, no users yet)
|
|
61
60
|
- Has users (people using it, not yet paying)
|
|
62
61
|
- Has paying customers
|
|
@@ -275,7 +274,7 @@ If no matches found, proceed silently.
|
|
|
275
274
|
|
|
276
275
|
## Phase 2.75: Landscape Awareness
|
|
277
276
|
|
|
278
|
-
|
|
277
|
+
**Search Before Building — three layers, eureka moments.** Before proposing solutions, you check what the world already thinks about this space, so you can spot where conventional wisdom is wrong. The three layers are: (1) **existing solutions** — what people already use to solve this exact problem; (2) **adjacent solutions** — what they use to solve neighbouring problems that hint at the same job-to-be-done; (3) **eureka moments** — places where layers 1 and 2 reveal a shared assumption everyone is making that this session's evidence shows is wrong. A eureka moment is a single sentence: "Everyone does X because they assume Y, but the evidence we have suggests Y is wrong here." Layer 3 is the only layer that justifies building something different.
|
|
279
278
|
|
|
280
279
|
After understanding the problem through questioning, search for what the world thinks. This is NOT competitive research (that's /design-consultation's job). This is understanding conventional wisdom so you can evaluate where it's wrong.
|
|
281
280
|
|
|
@@ -302,7 +301,7 @@ Read the top 2-3 results. Run the three-layer synthesis:
|
|
|
302
301
|
- **[Layer 2]** What are the search results and current discourse saying?
|
|
303
302
|
- **[Layer 3]** Given what WE learned in Phase 2A/2B — is there a reason the conventional approach is wrong?
|
|
304
303
|
|
|
305
|
-
**Eureka check:** If Layer 3 reasoning reveals a genuine insight, name it: "EUREKA: Everyone does X because they assume [assumption]. But [evidence from our conversation] suggests that's wrong here. This means [implication]."
|
|
304
|
+
**Eureka check:** If Layer 3 reasoning reveals a genuine insight, name it: "EUREKA: Everyone does X because they assume [assumption]. But [evidence from our conversation] suggests that's wrong here. This means [implication]." Record the eureka moment in the design doc's Premises section so it travels with the artefact.
|
|
306
305
|
|
|
307
306
|
If no eureka moment exists, say: "The conventional wisdom seems sound here. Let's build on it." Proceed to Phase 3.
|
|
308
307
|
|
|
@@ -284,6 +284,10 @@ For go-to-market planning:
|
|
|
284
284
|
4. **Progress over perfection** — Ship, measure, iterate
|
|
285
285
|
5. **Synthesis over summary** — Connect dots, don't just list facts
|
|
286
286
|
|
|
287
|
+
## Research routing
|
|
288
|
+
|
|
289
|
+
Customer-discovery prior-art lookups, prospect-finding (`references/boolean-search.md` invocations, Earlyvangelist identification), citation-backed claims (PMF benchmarks, market signal precedents), and academic-grade evidence all route through the `research-assistant` specialist with the `deep-research`, `data-research`, and `academic-verify` skills. Dispatch the specialist; do not call `WebSearch` or `WebFetch` directly from this skill. The specialist returns structured findings with citations the PMF, Landing, and PRD artefacts can quote.
|
|
290
|
+
|
|
287
291
|
## Framework Reference Files
|
|
288
292
|
|
|
289
293
|
All frameworks are in `references/` directory:
|
|
@@ -23,7 +23,7 @@ These three rules win when anything else in this prompt conflicts with them.
|
|
|
23
23
|
Each domain has a small set of tools and, where it exists, a skill that drives the multi-step flow. Match the brief to the domain, load the skill if one is named, and run the tools the skill prescribes.
|
|
24
24
|
|
|
25
25
|
- **WhatsApp setup or config:** load `skill-load skillName=connect-whatsapp` for QR pairing and admin-phone setup; load `skill-load skillName=manage-whatsapp-config` for DM/group policies and admin-phone management. The skills carry the per-phase flow.
|
|
26
|
-
- **Cloudflare tunnel:** load `skill-load skillName=setup-tunnel`. The skill
|
|
26
|
+
- **Cloudflare tunnel:** load `skill-load skillName=setup-tunnel`. The skill drives `cloudflared` directly via Bash following `references/manual-setup.md`, `references/reset-guide.md`, and `references/dashboard-guide.md`. There is no shell-script wrapper; PTY stdout is the only surface.
|
|
27
27
|
- **Every other domain** (scheduling, Telegram, email, Outlook, contacts, browser, platform admin) runs through the tool descriptions injected into your system prompt. The rules below apply across these domains regardless of which tool is invoked.
|
|
28
28
|
|
|
29
29
|
## Cross-domain rules
|