writestory
danielmiessler/LifeOS · Agent Skill
Assists writers in creating fiction by developing their ideas, notes, and drafts into complete stories, from short stories to multi-book series.
Jump to install ↓Overview
| Publisher | |
|---|---|
| Repository | danielmiessler/LifeOS ↗ |
| Skill folder | WriteStory |
| Stars | 18,911 |
| Bundled files | 1 |
| License | MIT |
| Last updated | August 13, 2026 |
| Links | Skill source ↗ · Repository ↗ |
Mozgi check
What we found in the skill files. Details come with a subscription.
Installation
A skill is a folder with a SKILL.md file. Pick your agent and run the commands in a terminal (macOS, Linux or Git Bash on Windows) from your project root.
Copy the prompt into Claude, Codex or another assistant: it will review the skill and install it for you.
Install the “writestory” skill from mozgi.io (https://mozgi.io/skills/writestory/) for me. 1. Download the archive: https://mozgi.io/skills/writestory/download If it fails, take the skill folder from the source: https://github.com/danielmiessler/LifeOS/tree/main/LifeOS/install/skills/WriteStory 2. Read SKILL.md and the other files. Check the skill is safe: no hidden commands, no sending data elsewhere, no scripts doing something other than described. If anything looks suspicious, stop and tell me. 3. Put the “writestory” folder into your agent's skills folder: .claude/skills/ for Claude Code, .agents/skills/ for Codex, .cursor/skills/ for Cursor, .gemini/skills/ for Gemini CLI. Inside the project if we are in one, otherwise in the home folder (~/.claude/skills/ etc.). 4. Make sure <skills folder>/writestory/SKILL.md exists. 5. Briefly tell me what this skill does and offer to try it on my task. If you cannot do a step yourself, tell me what to click or type.
git clone --depth 1 --branch main https://github.com/danielmiessler/LifeOS.git /tmp/LifeOS mkdir -p .claude/skills cp -r /tmp/LifeOS/LifeOS/install/skills/WriteStory .claude/skills/WriteStory
Restart Claude Code — the skill appears in the list; call it manually with /writestory. For all projects use ~/.claude/skills.
git clone --depth 1 --branch main https://github.com/danielmiessler/LifeOS.git /tmp/LifeOS mkdir -p .agents/skills cp -r /tmp/LifeOS/LifeOS/install/skills/WriteStory .agents/skills/WriteStory
Codex looks for skills in .agents/skills from the current folder up to the repo root; call one with /skills or $writestory. For all projects use ~/.agents/skills.
git clone --depth 1 --branch main https://github.com/danielmiessler/LifeOS.git /tmp/LifeOS mkdir -p .cursor/skills cp -r /tmp/LifeOS/LifeOS/install/skills/WriteStory .cursor/skills/WriteStory
Cursor picks the skill up on start; call it with “/” in Agent chat. Cursor also reads .claude/skills and .agents/skills. For all projects use ~/.cursor/skills.
git clone --depth 1 --branch main https://github.com/danielmiessler/LifeOS.git /tmp/LifeOS mkdir -p .gemini/skills cp -r /tmp/LifeOS/LifeOS/install/skills/WriteStory .gemini/skills/WriteStory
Gemini CLI offers to activate the skill when a task matches — you approve it. For all projects use ~/.gemini/skills.
Read SKILL.md and any companion files before deciding whether to install. Click a file to preview it.
SKILL.md contents
Original author text · read-only🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)
You MUST send this notification BEFORE doing anything else when this skill is invoked.
1. Send voice notification:
```bash
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 &
```
2. 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:
1. Meaning — Theme, the argument the story makes, the question it asks
2. Character Change — Sacred flaw / misbelief → transformation (Storr, Cron)
3. Plot — The cause-and-effect chain of events
4. Mystery — What the reader knows vs. doesn't, and when
5. World — Setting, politics, rules, the pressure the world puts on people
6. Relationships — How the key bonds evolve and squeeze the characters
7. 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, voiceprojects/<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.
Frequently asked questions
What does the writestory skill do?
Assists writers in creating fiction by developing their ideas, notes, and drafts into complete stories, from short stories to multi-book series.
How do I install writestory?
Open the “Installation” block on this page and pick your agent — Claude Code, Codex, Cursor or Gemini CLI — for ready-made commands that copy the skill folder to the right place. Or copy the prompt from the “Via assistant” tab and let the assistant review and install the skill.
Which AI models work with writestory?
Skills are plain Markdown instructions (the Agent Skills format), so writestory works with any agent that reads SKILL.md: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and more. The model loads the instructions only when a task matches the skill's description.
Is writestory free?
The skill is published openly by danielmiessler under the MIT license. The skill itself costs nothing — you only pay your AI provider for the tokens you use.
Is it safe to install skills?
A skill is a set of instructions your agent will follow, so read SKILL.md and its companion files before installing. Scripts in the skill folder only run if your agent runs them — keep an eye on what it does and do not grant unnecessary permissions.
How is a skill different from an MCP server or a plugin?
An MCP server or plugin gives the model new tools — code that runs and returns a result. A skill gives it knowledge and process: how to approach a task, which steps to follow and what good output looks like. It needs no server or API key.