story-init

story-init is a skill for Claude Code from danjdewhurst/story-skills. It costs 52 tokens per session (1,992 once invoked), scanned A, original, MIT.

A setup process for starting a new fiction project with organized files for the story bible, characters, plot, world, scenes, continuity, and chapters. A story bible is the central reference for a book's established facts.

In plain words
What is it for?
Use it to initialize a new story, book, or fiction idea with its title, genre, synopsis, setting, themes, viewpoint, and tense.
Why use it?
It gives a new story a consistent structure from the beginning and makes related details easier to find. It is intended for starting a project, not for adding material to an existing one.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is node ../story-maintenance/scripts/story.js init "{Title}".

Part of the story-skills plugin — 7 skills shipped together

Good fit Use it to initialize a new story, book, or fiction idea with its title, genre, synopsis, setting, themes, viewpoint, and tense.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/danjdewhurst/story-skills
agentmods
npx agentmods add skills/danjdewhurst/story-skills/story-init

Made for: Claude Code.

Or install story-skills, the plugin that ships this one along with the rest of its 7 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for story-init

README.md
[![agentmods](https://agentmods.dev/badge/skills/danjdewhurst/story-skills/story-init/github.svg)](https://agentmods.dev/skills/danjdewhurst/story-skills/story-init)
Your own site
<a href="https://agentmods.dev/skills/danjdewhurst/story-skills/story-init"><img src="https://agentmods.dev/badge/skills/danjdewhurst/story-skills/story-init/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for story-init

Your own site · 80×15
<a href="https://agentmods.dev/skills/danjdewhurst/story-skills/story-init"><img src="https://agentmods.dev/badge/skills/danjdewhurst/story-skills/story-init.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 52 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,992 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Socket pass 9 Mar 2026
  • Snyk pass 9 Mar 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00052 $0.01992
Opus 5 $0.00026 $0.00996
Sonnet 5 $0.00010 $0.00398
Haiku 4.5 $0.00005 $0.00199

Measured 12d ago against content hash 9ace3dec9fd2, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

story-init scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/story-init/SKILL.md · 263 lines

How it starts

The opening of the file, as written. The whole thing — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Story Initialization

Overview

Initialize a new story project with a structured markdown folder layout. Creates the story bible, registries, scene tracking, continuity state, glossary, worldbuilding folders, plot structure, and chapter tracker - all as cross-referenced markdown files with YAML frontmatter.

When to Use

  • Starting a new story, book, or fiction project
  • Setting up the folder structure for an existing story idea
  • NOT for adding to an existing story project (use the domain-specific skills instead)
  • NOT for converting an existing manuscript or chapter drafts: run story import <source> --title "{Title}" instead, then build out the bible from the entity candidates it prints

Workflow

  1. Ask for basic story information:
    • Title
    • Genre and sub-genre
    • Brief synopsis (2-3 sentences)
    • Setting era/time period
    • Key themes (2-4)
    • POV style (first-person, third-person-limited, third-person-omniscient)
    • Tense (past, present)

If the Story CLI is available, prefer using it to create the starter project, then inspect and refine the generated files as needed:

story init "{Title}" --genre "{genre}" --sub-genre "{sub-genre}" --setting-era "{era}" --pov "{pov-style}" --tense "{tense}" --synopsis "{synopsis}" --theme "{theme-1}" --theme "{theme-2}"

If story is not installed, use the bundled maintenance fallback when available, resolving the script path relative to the story-maintenance skill:

node ../story-maintenance/scripts/story.js init "{Title}"

If neither command is available, create the files manually using the steps below.

  1. Create the folder structure at the current working directory:
{story-title-kebab}/
├── story.md
├── characters/
│   └── _index.md
├── worldbuilding/
│   ├── _index.md
│   ├── locations/
│   ├── systems/
│   ├── factions/
│   └── artifacts/
├── plot/
│   ├── _index.md
│   ├── arcs/
│   └── timeline.md
├── scenes/
│   └── _index.md
├── continuity/
│   ├── state.md
│   ├── questions/
│   │   └── _index.md
│   └── promises/
│       └── _index.md
├── glossary/
│   ├── _index.md
│   └── terms/
└── chapters/
    └── _index.md

Read the full file on GitHub · 263 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 263 lines · 52 tokens per session scan A 9ace3dec9fd2

Subscribe to this mod's changes

story-init is a skill published in the GitHub repository danjdewhurst/story-skills (217 stars, last pushed yesterday), licensed MIT. It adds 52 tokens to every session and 1,992 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

alive:demo

Generate a believable, lived-in ALIVE world from a free-text persona description (custom path) or a deterministic sandbox preset. Routes the create/list/activate/deactivate/delete/status surface and orchestrates the 5-stage subagent generation pipeline.

alivecontext/alive · 52 tokens

alive:system-upgrade

Upgrade ALIVE to the current version. Handles v1/v2/v3.x source states, multi-surface aware (alive-mcp / Hermes / Codex), retroactive version detection, partial-failure resume, dry-run previews, and rollback inspection.

alivecontext/alive · 57 tokens

alive:save

The human wants to checkpoint. Or: the stash has grown heavy — 5+ items, 30+ minutes, a natural pause in the work. The squirrel doesn't decide when to save. It surfaces the need and lets the human pull the trigger. Runs the full save protocol: confirms stash, writes log, updates state, generates projections…

alivecontext/alive · 78 tokens

alive:system-cleanup

The world feels messy. Stale tasks, orphan folders, v2 remnants, unsaved sessions — entropy is accumulating and needs to be addressed before it compounds. Scans across all walnuts, then surfaces issues one at a time.

alivecontext/alive · 52 tokens

alive:create-walnut

Something new is emerging. A venture, an experiment, a person entering the orbit, a life area getting serious. It needs its own walnut — its own identity, history, and future. Scaffolds the full structure, maps existing context sources, and optionally migrates files across.

alivecontext/alive · 63 tokens

alive:capture-context

Use when external content arrives in the session — emails, transcripts, screenshots, documents, files, or in-session research worth keeping. Also use when there's nothing obvious to capture — the skill checks 03Inbox/ for unrouted files and enters inbox scan mode. Stores raw content, routes to bundles, extracts tasks…

alivecontext/alive · 74 tokens