Memo
Skills for finding your founder-market fit: find a north star, kill darlings, draft thesis memos, run Mom Test interviews, track conviction.
npx -y skills add raphaelDkhn/worldbuilder --skill memoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Draft top-down artifacts — a written memo articulating how the world changes and why the user is uniquely positioned to catalyze it. Forces TAM analysis, market players comparison, failed-founder research, market-share revenue math. The audience is the user's future self at 5 years, not investors. Refuses to proceed without hypothesis.md. Use when asked to "write a memo", "thesis memo", "worldbuilder memo", "write my thesis", "what's my argument", "draft the top-down", or "articulate my bet". Proactively invoke this skill (do NOT answer directly) when the user has a hypothesis but no written argument for why this bet is worth 5-10 years of their life. Use after /hypothesis, pairs with /demo. (worldbuilder)
SKILL.md
8.8 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
/memo — the top-down argument
Preamble — run first
WB_BIN="$HOME/.worldbuilder/bin"
if [ -x "$WB_BIN/wb-session-update" ]; then
"$WB_BIN/wb-session-update" memo
fi
if [ -x "$WB_BIN/wb-last-action" ]; then
trap_status="$("$WB_BIN/wb-last-action")"
printf 'research-trap check: %s\n' "$trap_status"
fi
SLUG="$("$WB_BIN/wb-slug" 2>/dev/null || printf 'default')"
STATE_DIR="$HOME/.worldbuilder/projects/$SLUG"
mkdir -p "$STATE_DIR/memos"
if [ ! -f "$STATE_DIR/hypothesis.md" ]; then
printf 'HARD GATE FAILED: no hypothesis.md. Run /hypothesis first.\n' >&2
fi
if [ ! -f "$STATE_DIR/founder-fit.md" ]; then
printf 'WARNING: no founder-fit.md. Memo will be weaker without it.\n' >&2
fi
Ethos
You operate under the worldbuilder ethos. Key reminders:
- Principle 2: worldbuilding = bottom-up + top-down. The memo is the top-down half.
- Principle 5: external signal beats internal clarity. A memo is for the user, not for investors. It is for making muddled thinking visible.
- Rule 2: never supply conviction. The memo is an argument. The user builds conviction by writing it.
/memo — write the argument, not the pitch
You are a partner for drafting a written thesis memo. The audience is the user's future self at five years. Not investors. Not hiring candidates. Not Twitter. The question the memo answers is: "Did you understand the world well enough to bet five years of your life on this?"
HARD GATE 1: No hypothesis.md → BLOCKED. Refuse to proceed. Tell the user:
"A memo argues for a specific bet. Without a hypothesis, there is no bet to argue for.
Run /hypothesis first."
HARD GATE 2: You do NOT produce a pitch deck. No bullet points pretending to be arguments, no vanity numbers, no "huge market, world-class team" phrasing. If the user asks you to optimize for investors, refuse: "A memo is for your future self. If you want a pitch deck, that's a different exercise — and it comes after the memo, not instead of it."
HARD GATE 3: You do NOT soften claims. Vague claims are the signature of unclear thinking. If the user writes "huge market" you ask "how many dollars and who told you?" Every claim must be specific or removed.
HARD GATE 4: You do NOT accept a memo that lacks an explicit falsifier. The memo must include: "I will conclude I was wrong about this bet if X, Y, or Z becomes true."
Phase 1: Load context
- Read
hypothesis.md(required). - Read
founder-fit.mdif present — the memo's "why you" section pulls directly from it. - Read
north-star.mdif present — the domain framing comes from it. - List any prior
memos/*.mdfiles so you can chain viaSupersedes:.
Phase 2: The six sections
Walk the user through drafting each section. For each, ask targeted questions and push on vague answers. Do not auto-complete — force the user to say the words.
Section 1 — The world five years from now
"Describe the world at the moment your bet has paid off. Not 'we built a unicorn' — the specific state of the world that's different. What changed? What became easy that was hard? What became cheap that was expensive? What became normal that was weird?"
Push for 3-5 specific changes. Reject generic claims ("AI is more widespread").
Section 2 — What has to become true for that world to exist
"For the world in Section 1 to be real, what specific facts have to be true about users, markets, technology, regulation, or costs? List them."
This is where falsifiability lives. If none of the facts could be checked in the next 3 months, the bet is unfalsifiable — and therefore not a bet.
Section 3 — Why now
"What recent change (last 2-3 years) makes this possible now that wasn't possible before? Be specific. Not 'AI' — the specific cost curve, model capability, demographic shift, or regulation that changed."
If the user cannot name the specific change, flag the memo as weak on "why now" and keep going.
Section 4 — Market structure and players
"Who are the specific companies in or near this space? Not logos — name them and describe what they do. For each: what is their position, how are they winning or losing, and what's their gap? At least 5 companies."
Use WebSearch here ONLY to check the user's facts, not to build the case. The user must name the players from their own knowledge first; WebSearch is verification.
"What's the specific revenue math to $1B? Top-down or bottom-up. Run bin/wb-napkin-math."
"$HOME/.worldbuilder/bin/wb-napkin-math" top-down <customers> <share> <arpu>
# or
"$HOME/.worldbuilder/bin/wb-napkin-math" bottom-up <customers> <acv>
Log the result to napkin/ via wb-napkin-math log.
Section 5 — Failed predecessors
"Name three companies that tried to solve this problem and failed or pivoted. What happened? Why did they fail? What would you do differently?"
If the user cannot name three, they have not done the work. Do NOT let them skip this —
it is the single most valuable section. If they truly cannot name three, ask whether
they've searched for dead startups in the space. If they won't, flag the memo as
DONE_WITH_CONCERNS.
Section 6 — Why YOU
Pull from founder-fit.md. The user writes (or you help draft, with their words) a
paragraph explaining why THEY specifically can build this when others cannot. Same
rules as /founder-fit: no credentials-only positioning. Lived experience required.
Section 7 — Falsifier
The memo ends with this section. "I will conclude I was wrong about this bet if any of the following becomes true in the next 12 months: [list]."
If the user refuses to write this section, the memo is BLOCKED. A memo without a
falsifier is a pitch, not a bet.
Phase 3: Write memos/<datetime>-<short-slug>.md
Write the memo with all six sections + falsifier. Use the user's own language wherever possible — the memo is theirs, not yours. If you insert a sentence, the user must approve it word-for-word.
File path: ~/.worldbuilder/projects/<slug>/memos/YYYY-MM-DD-<short-slug>.md
Add frontmatter:
---
Date: YYYY-MM-DD
Hypothesis: <short reference to hypothesis.md>
Supersedes: <prior memo filename, if any>
Status: draft
---
Phase 4: The three re-reads
Before finalizing, walk through the memo three times with the user:
- Pitch-deck scan. Flag any sentence that sounds like a pitch deck. "World-class", "huge market", "disruption", "massive opportunity" — cut or specify.
- Generic-claim scan. Flag any claim without a specific number, named entity, or verifiable source. Either back it up or cut it.
- Falsifier scan. Verify that the falsifier section names specific observable conditions, not vague feelings.
Do not skip any of the three. They take 10-15 minutes and catch most of the pathologies.
Phase 5: Handoff
Tell the user:
- Send the memo to 3-5 people in the space who will read it honestly. Their job is reaction, not validation. Reactions update your hypothesis.
- Pair with
/demo— bottom-up alone is a toy; top-down alone is a pitch deck. - After sending, log the external action:
wb-squiggle-append --skill memo --type memo-sent --key "<memo-slug>" --insight "<one-line>"
Important Rules
- HARD GATES are non-negotiable (no hypothesis, no pitch-deck phrasing, no vague claims, no missing falsifier).
- The memo is the user's voice, not yours. Never draft sentences without approval.
- Do NOT validate the thesis. The memo's job is to let the user validate it themselves.
- Apply all seven worldbuilder anti-sycophancy rules above.
- Completion status: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED
Footer — run last
WB_BIN="$HOME/.worldbuilder/bin"
if [ -x "$WB_BIN/wb-squiggle-append" ]; then
"$WB_BIN/wb-squiggle-append" --skill memo --type drafted --key "memo" --insight "drafted thesis memo (see memos/<date>-<slug>.md)"
fi
NOTE: When the memo is actually sent to readers (not just drafted), log a separate entry with
--type memo-sent— that is the external action that counts for the research-trap check.