🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)
You MUST send this notification BEFORE doing anything else when this skill is invoked.
Send voice notification:
curl -s -X POST http://localhost:31337/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running the WORKFLOWNAME workflow in the WriteStory skill to ACTION"}' \
> /dev/null 2>&1 &
Output text notification:
Running the **WorkflowName** workflow in the **WriteStory** skill to ACTION...
This is not optional. Execute this curl command immediately upon skill invocation.
WriteStory
What It Does
WriteStory is scaffolding for writing fiction. It takes what you already have — a sentence, a folder of notes, a half-drafted chapter — and helps you build the rest of the story one layer at a time, using the systems professional storytellers use on purpose. You bring the creativity; it fills in the pieces you're missing. It never writes the story for you.
The Problem
Most people who want to write a story never finish one. The spark is there — a character who won't leave you alone, a world you can picture but can't map, an ending that gives you chills — but between that spark and a finished draft are the hard parts: structure, the character's hidden wound, the theme you can feel but can't name, the sentences that should land but don't. The usual tools either leave you alone with those gaps, or they write the story for you and hand back something that isn't yours. WriteStory fills the gaps without taking the story away from you.
How It Works
The work happens across seven narrative layers, and each book you write is a stateful project the system can come back to and keep building.
The Seven Layers
Every story here is built across seven layers at once:
- Meaning — Theme, the argument the story makes, the question it asks
- Character Change — Sacred flaw / misbelief → transformation (Storr, Cron)
- Plot — The cause-and-effect chain of events
- Mystery — What the reader knows vs. doesn't, and when
- World — Setting, politics, rules, the pressure the world puts on people
- Relationships — How the key bonds evolve and squeeze the characters
- Prose — Rhetorical figures, voice, aesthetic, style
The layers are the destination. The order you reach them in is the writer's, not the system's — see the Layering Interview.
Workflow Routing
| Workflow |
Trigger |
File |
| Interview |
"interview me", "I have notes/an idea for a story", "help me plan a story", "layer my story" |
Workflows/Interview.md |
| BuildBible |
"build story bible", "create story plan", "map the story" |
Workflows/BuildBible.md |
| Explore |
"explore ideas", "brainstorm", "I'm stuck", "what if" |
Workflows/Explore.md |
| WriteChapter |
"write chapter", "write scene", "draft this" |
Workflows/WriteChapter.md |
| Revise |
"revise", "edit", "improve", "polish" |
Workflows/Revise.md |
The usual path: Interview reads what you have and builds the spine with you → BuildBible turns it into a Story Bible (a project ISA) → WriteChapter drafts off that bible → Revise layers and polishes. Explore is the idea engine you reach for when a layer is genuinely blank.
Projects and State
Each book is a project under LIFEOS/USER/CUSTOMIZATIONS/SKILLS/WriteStory/projects/<book-slug>/:
interview.md — the saved interview results (the spine, the layers, what's confirmed)
ISA.md — the Story Bible as a project ISA: the living plan that tracks what's done and what's left, growing across sessions
You can stop mid-book and come back. The Interview re-reads the saved state and picks up where you left off, instead of starting over.
Frameworks Behind It
| Reference |
File |
Purpose |
| Layer Architecture |
StoryLayers.md |
The seven-layer system |
| Storr Framework |
StorrFramework.md |
Sacred flaw, theory of control, the dramatic question, status games |
| Pressfield Framework |
PressfieldFramework.md |
Concept, Hook, theme, the Foolscap one-page method |
| Derivation Lenses |
DerivationLenses.md |
The lens-plural spine engine (Storr, Cron, Pressfield/Truby, Egri) |
| Phases and Events |
PhasesAndEvents.md |
Three-act structure, beats, mandatory events |
| Rhetorical Figures |
RhetoricalFigures.md |
The figures toolbelt (Forsyth) |
| Anti-Cliche System |
AntiCliche.md |
Freshness enforcement, banned patterns |
| Story Structures |
StoryStructures.md |
Dramatica, Story Grid, Sanderson, Hero's Journey |
| Aesthetic Profiles |
AestheticProfiles.md |
Genre and style configuration |
| Critic Profiles |
Critics.md |
Multi-pass review for prose |
The Stance
WriteStory augments a creator. It never substitutes for one. This is the rule the whole skill is built on:
- Never invent the spine — elaborate the writer's. Start from what they brought.
- Every derived element is a proposal the writer ratifies, not a fact the system asserts. Label where each one came from: "inferred from your seed" vs. "a new option I'm offering."
- Options, not answers. Offer a few directions to choose among, not one rewrite to approve.
- Suggest at the sentence/beat level. Never take over a chapter.
- Anchor to the writer's own voice — their favorites, their samples, their cadence.
- The writer's word always wins. If they redirect, the redirect is the truth.
- Only WriteChapter emits prose, and only off the writer's confirmed bible, framed as a revisable draft they own.
Customization
Before executing, check for user customizations at:
~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/WriteStory/
If this directory exists, load and apply:
PREFERENCES.md — default genre, aesthetic, voice
projects/<book-slug>/ — saved interviews and the Story Bible ISA for each book in progress
Examples
Example 1: A writer who already has a lot
User: "I've got a folder of notes for a novel — a few character sketches,
a rough world, and two draft scenes. Help me build it out."
→ Interview workflow points at the folder and reads ALL of it first
→ Reflects back the story it sees, asks what excites them most
→ Picks a derivation lens that fits what they brought
→ Derives the spine (flaw, dramatic question, theme) as proposals they confirm or redirect
→ Layers outward one dimension at a time, only where they're blank
→ Saves it as a project; hands off to BuildBible
Example 2: Building the full story plan
User: "Build the story bible for my novel"
→ BuildBible workflow turns the interview spine into a project ISA
→ Maps all seven layers start to finish, tracks done-vs-remaining
→ Outputs a living bible that guides every chapter
Example 3: Writing actual prose
User: "Write chapter 3 based on the story bible"
→ WriteChapter reads the bible ISA for chapter 3's beats across all layers
→ Deploys rhetorical figures at key moments, in the writer's aesthetic
→ Produces a fresh, anti-cliche draft the writer owns and revises
Gotchas
- Augment, never substitute. Never invent the spine — elaborate the writer's. Every derived element is a proposal they ratify, with its source labeled. This is the whole point of the skill; if you find yourself generating the story instead of building it with them, stop.
- Don't force one theory of story. Sacred-flaw-first is one lens, not the law. Literary, plot-driven genre, ensemble, and mood pieces need different spines — pick the lens that fits what the writer brought (see
DerivationLenses.md).
- Thin or vibe-only seeds need elicitation, not derivation. If the writer brings only a mood or an image, pull material out of them before deriving any causal structure — don't fabricate a flaw and call it ratification.
- Read the writer's material before asking anything. A generic questionnaire that ignores what they already gave you is the failure mode this redesign exists to kill.
- Story bibles are the source of truth for series continuity. Always read the project ISA before writing new content.
- Rhetorical figures are specific devices — use them precisely at high-impact moments, not as decoration.
- Character arcs follow the flaw → crisis → transformation model (Storr), not "character grows."
Execution Log
After completing any workflow, append a single JSONL entry:
echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"WriteStory","workflow":"WORKFLOW_USED","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/LIFEOS/MEMORY/SKILLS/execution.jsonl
Replace WORKFLOW_USED with the workflow executed, 8_WORD_SUMMARY with a brief input description, and SECONDS with approximate wall-clock time. Log status: "error" if the workflow failed.
1---
2name: writestory
3version: 1.1.10
4description: "Scaffolding that helps a writer build a story they already want to tell — fills in structure, hidden wound, theme, and prose from the writer's own material across seven narrative layers, deriving the spine from their notes as proposals they ratify. Bans generic AI patterns; scales short story to multi-book series. USE WHEN write story, fiction, novel, chapter, story bible, character arc, plot outline, creative writing, worldbuilding, draft story, help me write my story, develop my novel, layer my story, build out my book, I have notes for a story. NOT FOR narrative summaries of real content."
5---
6
7## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)
8
9**You MUST send this notification BEFORE doing anything else when this skill is invoked.**
10
111. **Send voice notification**:
12 ```bash
13 curl -s -X POST http://localhost:31337/notify \
14 -H "Content-Type: application/json" \
15 -d '{"message": "Running the WORKFLOWNAME workflow in the WriteStory skill to ACTION"}' \
16 > /dev/null 2>&1 &
17 ```
18
192. **Output text notification**:
20 ```
21 Running the **WorkflowName** workflow in the **WriteStory** skill to ACTION...
22 ```
23
24**This is not optional. Execute this curl command immediately upon skill invocation.**
25
26# WriteStory
27
28## What It Does
29
30WriteStory is scaffolding for writing fiction. It takes what you already have — a sentence, a folder of notes, a half-drafted chapter — and helps you build the rest of the story one layer at a time, using the systems professional storytellers use on purpose. You bring the creativity; it fills in the pieces you're missing. It never writes the story for you.
31
32## The Problem
33
34Most people who want to write a story never finish one. The spark is there — a character who won't leave you alone, a world you can picture but can't map, an ending that gives you chills — but between that spark and a finished draft are the hard parts: structure, the character's hidden wound, the theme you can feel but can't name, the sentences that should land but don't. The usual tools either leave you alone with those gaps, or they write the story for you and hand back something that isn't yours. WriteStory fills the gaps without taking the story away from you.
35
36## How It Works
37
38The work happens across **seven narrative layers**, and each book you write is a **stateful project** the system can come back to and keep building.
39
40### The Seven Layers
41
42Every story here is built across seven layers at once:
43
441. **Meaning** — Theme, the argument the story makes, the question it asks
452. **Character Change** — Sacred flaw / misbelief → transformation (Storr, Cron)
463. **Plot** — The cause-and-effect chain of events
474. **Mystery** — What the reader knows vs. doesn't, and when
485. **World** — Setting, politics, rules, the pressure the world puts on people
496. **Relationships** — How the key bonds evolve and squeeze the characters
507. **Prose** — Rhetorical figures, voice, aesthetic, style
51
52The layers are the destination. The **order** you reach them in is the writer's, not the system's — see the Layering Interview.
53
54## Workflow Routing
55
56| Workflow | Trigger | File |
57|----------|---------|------|
58| **Interview** | "interview me", "I have notes/an idea for a story", "help me plan a story", "layer my story" | `Workflows/Interview.md` |
59| **BuildBible** | "build story bible", "create story plan", "map the story" | `Workflows/BuildBible.md` |
60| **Explore** | "explore ideas", "brainstorm", "I'm stuck", "what if" | `Workflows/Explore.md` |
61| **WriteChapter** | "write chapter", "write scene", "draft this" | `Workflows/WriteChapter.md` |
62| **Revise** | "revise", "edit", "improve", "polish" | `Workflows/Revise.md` |
63
64The usual path: **Interview** reads what you have and builds the spine with you → **BuildBible** turns it into a Story Bible (a project ISA) → **WriteChapter** drafts off that bible → **Revise** layers and polishes. **Explore** is the idea engine you reach for when a layer is genuinely blank.
65
66## Projects and State
67
68Each book is a project under `LIFEOS/USER/CUSTOMIZATIONS/SKILLS/WriteStory/projects/<book-slug>/`:
69
70- `interview.md` — the saved interview results (the spine, the layers, what's confirmed)
71- `ISA.md` — the Story Bible as a project ISA: the living plan that tracks what's done and what's left, growing across sessions
72
73You can stop mid-book and come back. The Interview re-reads the saved state and picks up where you left off, instead of starting over.
74
75## Frameworks Behind It
76
77| Reference | File | Purpose |
78|-----------|------|---------|
79| Layer Architecture | `StoryLayers.md` | The seven-layer system |
80| Storr Framework | `StorrFramework.md` | Sacred flaw, theory of control, the dramatic question, status games |
81| Pressfield Framework | `PressfieldFramework.md` | Concept, Hook, theme, the Foolscap one-page method |
82| Derivation Lenses | `DerivationLenses.md` | The lens-plural spine engine (Storr, Cron, Pressfield/Truby, Egri) |
83| Phases and Events | `PhasesAndEvents.md` | Three-act structure, beats, mandatory events |
84| Rhetorical Figures | `RhetoricalFigures.md` | The figures toolbelt (Forsyth) |
85| Anti-Cliche System | `AntiCliche.md` | Freshness enforcement, banned patterns |
86| Story Structures | `StoryStructures.md` | Dramatica, Story Grid, Sanderson, Hero's Journey |
87| Aesthetic Profiles | `AestheticProfiles.md` | Genre and style configuration |
88| Critic Profiles | `Critics.md` | Multi-pass review for prose |
89
90## The Stance
91
92WriteStory augments a creator. It never substitutes for one. This is the rule the whole skill is built on:
93
94- **Never invent the spine — elaborate the writer's.** Start from what they brought.
95- **Every derived element is a proposal the writer ratifies**, not a fact the system asserts. Label where each one came from: "inferred from your seed" vs. "a new option I'm offering."
96- **Options, not answers.** Offer a few directions to choose among, not one rewrite to approve.
97- **Suggest at the sentence/beat level. Never take over a chapter.**
98- **Anchor to the writer's own voice** — their favorites, their samples, their cadence.
99- **The writer's word always wins.** If they redirect, the redirect is the truth.
100- **Only WriteChapter emits prose**, and only off the writer's confirmed bible, framed as a revisable draft they own.
101
102## Customization
103
104**Before executing, check for user customizations at:**
105`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/WriteStory/`
106
107If this directory exists, load and apply:
108- `PREFERENCES.md` — default genre, aesthetic, voice
109- `projects/<book-slug>/` — saved interviews and the Story Bible ISA for each book in progress
110
111## Examples
112
113**Example 1: A writer who already has a lot**
114```
115User: "I've got a folder of notes for a novel — a few character sketches,
116 a rough world, and two draft scenes. Help me build it out."
117→ Interview workflow points at the folder and reads ALL of it first
118→ Reflects back the story it sees, asks what excites them most
119→ Picks a derivation lens that fits what they brought
120→ Derives the spine (flaw, dramatic question, theme) as proposals they confirm or redirect
121→ Layers outward one dimension at a time, only where they're blank
122→ Saves it as a project; hands off to BuildBible
123```
124
125**Example 2: Building the full story plan**
126```
127User: "Build the story bible for my novel"
128→ BuildBible workflow turns the interview spine into a project ISA
129→ Maps all seven layers start to finish, tracks done-vs-remaining
130→ Outputs a living bible that guides every chapter
131```
132
133**Example 3: Writing actual prose**
134```
135User: "Write chapter 3 based on the story bible"
136→ WriteChapter reads the bible ISA for chapter 3's beats across all layers
137→ Deploys rhetorical figures at key moments, in the writer's aesthetic
138→ Produces a fresh, anti-cliche draft the writer owns and revises
139```
140
141## Gotchas
142
143- **Augment, never substitute.** Never invent the spine — elaborate the writer's. Every derived element is a proposal they ratify, with its source labeled. This is the whole point of the skill; if you find yourself generating the story instead of building it with them, stop.
144- **Don't force one theory of story.** Sacred-flaw-first is one lens, not the law. Literary, plot-driven genre, ensemble, and mood pieces need different spines — pick the lens that fits what the writer brought (see `DerivationLenses.md`).
145- **Thin or vibe-only seeds need elicitation, not derivation.** If the writer brings only a mood or an image, pull material out of them before deriving any causal structure — don't fabricate a flaw and call it ratification.
146- **Read the writer's material before asking anything.** A generic questionnaire that ignores what they already gave you is the failure mode this redesign exists to kill.
147- **Story bibles are the source of truth for series continuity.** Always read the project ISA before writing new content.
148- **Rhetorical figures are specific devices** — use them precisely at high-impact moments, not as decoration.
149- **Character arcs follow the flaw → crisis → transformation model** (Storr), not "character grows."
150
151## Execution Log
152
153After completing any workflow, append a single JSONL entry:
154
155```bash
156echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"WriteStory","workflow":"WORKFLOW_USED","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/LIFEOS/MEMORY/SKILLS/execution.jsonl
157```
158
159Replace `WORKFLOW_USED` with the workflow executed, `8_WORD_SUMMARY` with a brief input description, and `SECONDS` with approximate wall-clock time. Log `status: "error"` if the workflow failed.