storytelling.anlakstudio.com
The site you are reading. Decks, slides, insights, learn. Built with Astro + Astro Actions; Drizzle queries run inside the action handlers.
The storytelling skill is a vetted body of method, canon, craft, and applied work — 110 resources across 6 areas, plus 10.3k documents and 483 canon abstractions in Postgres. Web and MCP read the same thing through the same SDK. This page shows you how.
The web does not call the MCP server. Both read directly from packages/core/queries and the modules SDK. That's the rule, not a quirk — it's how the canon stays consistent across surfaces while each can ship at its own cadence.
The site you are reading. Decks, slides, insights, learn. Built with Astro + Astro Actions; Drizzle queries run inside the action handlers.
Same canon, exposed as MCP tools, resources, and prompts. Claude / Cursor / Codex install once and ground every answer in this material.
Live counts read off Postgres + the markdown corpus at request time. The page introspects itself; nothing here is a static brochure number.
Six lenses on the same skill tree. Areas are role, not folder.
How the Storytelling skill asks for canon, resources, deck evidence and output contracts.
Storymakers operating guidance: process, agents, checklists, storytelling moves and playbook examples.
Reusable abstractions: arcs, loops and application patterns that should converge with Postgres canon.
Slide, prose, rhythm and composition techniques for making the canon visible on the page.
Consulting, activist, valuation, campaign and research-note use cases built from the shared canon.
Reference specimens and playbooks worth studying when matching, reviewing or generating decks.
storytelling:// namespace
MCP resources are addressed by URI, not file path. The agent never sees the folder shape — it sees the role tree. The same paths drive the web routes you visit at /skill/<domain>/<category>/<slug>.
storytelling:// storytelling://the canon rootmethod/operating guidance · agents · checklists10-step-process.mdagents.mdcanon/arcs · loops · patternsstory-arcs.mdloop-examples.mdcraft/prose · rhythm · compositiontextures/composition-patterns.mdapplications/consulting · activist · campaignforms/activist-deck.mdThe MCP surface is what your agent actually receives. Tools are the entry points (search the canon, fetch a resource, count documents by kind). Resources are the addressable corpus. Prompts are server-suggested workflows. Each tool reads from one of three sources, marked below.
Postgres-backed. Always reflects the current state of the canon — slides, decks, components, observed matches.
list_storymakers_canon_filtersdocuments_count_by_kindget_deck_playbooksearch_slidesget_slideCurated long-form text — method, agents, checklists, arcs. Loaded from disk at boot, served via storytelling:// URIs.
search_storytelling_corpusget_storytelling_resourcelist_storytelling_corpusget_storymakers_method_packsearch_patternsget_patternlist_categoriesConverged. Postgres canon (arcs, loops, tools) joined with their markdown companions for a single answer.
get_storymakers_canonWorkflows the MCP server proposes when an agent asks "what would you have me do here?"
Given a thesis and audience, suggest a Storymakers arc, primary beat sequence and one supporting loop, grounded in concepts.arcs and concepts.loops.
Walk a deck draft through Storymakers checklists: action titles, narrative arc adherence, pattern coverage, slide function balance.
Bootstraps a session with the 10-step process, Creative Trio agents and quality checklists pre-loaded — for sustained authoring work.
Build a short or activist thesis using the corpus patterns: peer-gap, sum-of-parts, CEO-quote contradiction, governance, named villain.
When your AI installs the storytelling skill via MCP, it gets one connection and three capability slots — tools (functions), resources (addressable content), prompts (workflow templates). No nesting, no hidden orchestration on the server side. The diagram names every slot, every tool family, every URI prefix, and every prompt.
flowchart TB
classDef ext fill:#FFF7D9,stroke:#b08800,color:#1A1713
classDef entry fill:#1F4E79,stroke:#0d2c4d,color:#fff
classDef slot fill:#DAEFEE,stroke:#1D6967,color:#1A1713
classDef item fill:#fafafa,stroke:#8C8577,color:#1A1713
CC["Claude Code"]:::ext
CUR_AI["Cursor"]:::ext
CDX["Codex · GPT"]:::ext
CONT["Continue · etc"]:::ext
CC --> MCP
CUR_AI --> MCP
CDX --> MCP
CONT --> MCP
MCP{{"storytelling MCP server<br/>:8787/mcp · one bearer token per agent"}}:::entry
MCP --> TOOLS["20 TOOLS · functions the agent calls"]:::slot
MCP --> RES["121 RESOURCES · canon by URI"]:::slot
MCP --> PR["4 PROMPTS · workflow templates"]:::slot
TOOLS --> TI["search_storytelling_corpus<br/>get_storytelling_resource<br/>search_slides · get_slide<br/>get_storymakers_canon<br/>get_pattern · search_patterns<br/>+ 12 more — counts · filters · method-pack · ping"]:::item
RES --> RI["storytelling://method/ — 10-step-process · agents · checklists<br/>storytelling://canon/ — story-arcs · loops · patterns<br/>storytelling://craft/ — textures · composition-patterns<br/>storytelling://applications/ — activist · valuation · campaign"]:::item
PR --> PI["draft-arc — walks through drafting a story arc<br/>review-deck — walks through reviewing a deck<br/>contrarian-thesis — walks through building a thesis<br/>storymakers-method — walks through the 10-step method"]:::item
10.3k documents · 320k slide images · 1.7M components · 483 canon abstractions. Decks live as pages with extracted components; canonical arcs/loops/tools sit alongside.
corpus.* schema · packages/core/db Reusable queries that present the corpus as canonical operations: search the canon, fetch a resource, get a method pack, list filter facets, count by kind. The same SDK both the web and MCP server consume.
packages/core/queries · packages/modules/* One package declares every tool, resource, and prompt the agent surface advertises. Both apps/server (real /mcp HTTP transport) and apps/web (in-process introspector) call the same createStorytellingMcpServer with the same deps shape — capabilities cannot drift.
packages/mcp-manifest report-orchestrator · all 10 phases · grounded in the MCP
The bundle that authors Anlak Strategic Intelligence reports lives at packages/skills/ in this same repo — sibling to apps/server. One orchestrator, ten phases. Phases that need canon grounding consume the storytelling MCP at https://storytelling.anlakstudio.com/mcp (dev: http://localhost:8787/mcp). The diagram below names every phase, every delegate, and which MCP tools it calls.
flowchart TB
classDef orch fill:#1F4E79,stroke:#0d2c4d,color:#fff
classDef sub fill:#DAEFEE,stroke:#1D6967,color:#1A1713
classDef meth fill:#FFF7D9,stroke:#b08800,color:#1A1713
classDef self fill:#fff,stroke:#8C8577,color:#5C5448
classDef mcp fill:#1F4E79,stroke:#0d2c4d,color:#fff
classDef todo fill:#fff,stroke:#b08800,stroke-width:2px,color:#5C5448
RO["report-orchestrator<br/>scaffold → build · 10 phases"]:::orch
RO --> P1["1 · SCAFFOLD<br/>create-new-report skill"]:::sub
P1 --> P2["2 · RESEARCH<br/>research-discoverer → research-curator"]:::sub
P2 --> P3["3 · ANALYSIS<br/>research-quant"]:::sub
P3 --> P4["4 · NARRATIVE<br/>storymakers method"]:::meth
P4 --> P5["5 · CHAPTER WRITING<br/>chapter-writer"]:::sub
P5 --> P6["6 · IMAGE STRATEGY<br/>orchestrator-owned"]:::self
P6 --> P7["7 · VALIDATION<br/>typst-validator method"]:::meth
P7 --> P8["8 · IMAGE GENERATION<br/>image-runner"]:::sub
P8 --> P9["9 · COHERENCE & QA<br/>orchestrator-owned"]:::self
P9 --> P10["10 · BUILD<br/>./build.sh"]:::self
P2 -.search canon · cite resources.-> MCP[("storytelling MCP<br/>:8787/mcp · same repo")]:::mcp
P3 -.canon counts · filters.-> MCP
P4 -.method-pack · canon arcs.-> MCP
P5 -.cite slides · canon patterns.-> MCP
P8 -->|"chart slots"| VC["visx-chart<br/>OLD · being upgraded<br/>after the charts-2000 analysis"]:::todo
P8 -->|"sketchnote slots"| HF["higgsfield MCP<br/>slide gen in Anlak brand style<br/>(to wire)"]:::mcp
P8 -->|"product UI slots"| SCR["screenshot-capture method"]:::meth
visx-chart is on the upgrade path after the ongoing charts-2000 analysis. higgsfield MCP is wired for slide generation in Anlak brand style (currently disabled — to wire).
For every phase: who runs it, which directory it owns, and which storytelling MCP tools it calls. Read top-to-bottom and you have the full pipeline.
| Phase | Delegate | Writes | MCP tools called |
|---|
A concrete walk-through. The agent receives a request from its user, fetches a prompt for guidance, then sequences tool calls itself. Below: the full sequence, then three flow examples grouped by where the data lives — live data, markdown, or both.
sequenceDiagram participant AG as Your AI<br/>(Claude · Cursor · Codex) participant SK as storytelling MCP participant CN as the canon Note over AG: User asks: "Help me draft a chapter on<br/>why CEOs need Loop Logic."<br/>Agent picks the storymakers-method prompt for guidance. AG->>SK: GetPrompt: storymakers-method SK-->>AG: 10-step process template · which tools to call when Note over AG: Agent reads the template,<br/>plans the calls. AG->>SK: get_storymakers_canon<br/>kind: "loop" · slug: "logic-chain" SK->>CN: concepts.loops + canon/loop-examples.md CN-->>SK: 4-step Logic Chain + 3 annotated examples SK-->>AG: structured object · ready to cite AG->>SK: search_slides<br/>q: "competitive matrix" · limit: 5 SK->>CN: rank corpus.document_pages CN-->>SK: 5 slide IDs by tsvector score SK-->>AG: 5 slide briefs Note over AG: Drafts the chapter. Cites the loop,<br/>quotes 2 slides. 6 footnotes. Lessonbox at end.
search_slidessearch_slides({q: "wave chart", limit: 5})POST /mcp · MCP SDK dispatchessearchSlides(db, args)tsvector ranking on corpus.document_pagescontent[] · agent receivesget_storytelling_resourceget_storytelling_resource({uri: "storytelling://method/agents.md"})tools/corpus.tscorpus/storymakers/method/agents.mdget_storymakers_canonget_storymakers_canon({kind: "loop", slug: "logic-chain"})canon-converge.tsconcepts.loopscanon/loop-examples.md
The same shape repeats for every request: agent picks the call, MCP server resolves it against Postgres or markdown (or both), result comes back. Sequencing happens in the agent. If you want a fixed workflow with named stop-gates and per-step validation, that's not what MCP gives you — that's what an agent-side bundle (like packages/skills/) gives you.