Agent skill

Story Maintenance

by danjdewhurst in danjdewhurst/story-skills

This skill should be used when the user asks to "validate", "reindex", "repair registries", "check links", "run the continuity, pacing, clue, voice, or name checks", "count words", "summarize a…

MITAuto-check: notesWriting & Content

Install Story Maintenance

skills CLI
$ npx skills add danjdewhurst/story-skills --skill story-maintenance -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install danjdewhurst/story-skills story-maintenance --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/story-maintenance .claude/skills/story-maintenance && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
story-maintenance
GitHub stars
286
Used in
1 other repo
Token cost
~5.4k tokens
SKILL.md length
2,965 words
Files
8 (incl. scripts, references)
Skills in repo
24
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when the user asks to "validate", "reindex", "repair registries", "check links", "run the continuity, pacing, clue, voice, or name checks", "count words", "summarize a…

  • Works in 3 steps: story - when the package bin is installed → node scripts/story.js - bundled… → node /bin/story.js - only when the user…
  • Asks to validate
  • SKILL.md covers Overview, CLI Access, Commands and Project CLI Configuration, plus 2 more sections
  • Runs JavaScript scripts from its folder; calls node

What it does

Story Maintenance is an agent skill from danjdewhurst/story-skills. This skill should be used when the user asks to "validate", "reindex", "repair registries", "check links", "run the continuity, pacing, clue, voice, or name checks", "count words", "summarize a story project", "import an existing manuscript", "export a manuscript", "run a build", "generate a diagram", "record revision-pass status with story passes", "run the story CLI", or wants deterministic maintenance on a Story Skills markdown project. It runs the CLI and reads its output; NOT for judging a finding or…

Its SKILL.md is about 5.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `references/builds.md`, `references/commands.md` and `references/continuity-checks.md`).

It sits in Writing & Content, covering Creative writing and fiction. The repository describes itself as: Agent Skills for end-to-end story writing in markdown, packaged as Codex and Claude Code plugins. The licence is MIT.

When your agent uses it

  • Asks to validate
  • Repair registries
  • Run the continuity
  • Summarize a story project

Example prompts

  • “validate”
  • “reindex”
  • “repair registries”
  • “/story-maintenance”

Requirements

  • Node.js

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. story - when the package bin is installed
  2. node scripts/story.js - bundled fallback, resolving scripts/story.js relative to this skill folder
  3. node /bin/story.js - only when the user names a Story Skills repository checkout or you are working in one, where is its path

What it can do on your machine

Read from SKILL.md and the folder at commit 9a54e04. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Story Maintenance loads about 5.4k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 198 tokens; SKILL.md has 2,965 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~198
When it runs · the whole SKILL.md, loaded when a task matches
~5.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~18k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:20
    `bunfig.toml` (which can run code) and `.env`, and a package script runs from the checkout's root, so `.` would be the

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from danjdewhurst/story-skills at commit 9a54e04, republished under its MIT licence (© danjdewhurst). 2,965 words, ~5,434 tokens.

Download SKILL.mdSave it as .claude/skills/story-maintenance/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
story-maintenance
description
This skill should be used when the user asks to "validate", "reindex", "repair registries", "check links", "run the continuity, pacing, clue, voice, or name checks", "count words", "summarize a story project", "import an existing manuscript", "export a manuscript", "run a build", "generate a diagram", "record revision-pass status with `story passes`", "run the story CLI", or wants deterministic maintenance on a Story Skills markdown project. It runs the CLI and reads its output; NOT for judging a finding or revising the story to fix it (use revision-continuity for continuity errors and revision passes, plot-structure for pacing, voice-style for voices and prose, genre-craft for clues and fair play), or for sharing a review copy with readers (use feedback-triage).

Story Maintenance

Overview

Run deterministic maintenance for Story Skills projects. Use the CLI for structure validation, registry rebuilds, word counts, link checks, continuity checks, project reports, next-action reports, pacing, clue, voice, and name checks, revision-pass tracking, Mermaid diagrams, schema migration, entity helpers, manuscript import, and manuscript export and builds. The creative skills still own story decisions; this skill handles mechanical consistency. It runs a check and reports what it found, and fixes mechanical problems such as broken references and stale registries; deciding what a finding means for the story, and revising the story to fix it, belongs to revision-continuity, plot-structure, voice-style, or genre-craft.

CLI Access

Prefer the first available command:

  1. story <command> - when the package bin is installed
  2. node scripts/story.js <command> - bundled fallback, resolving scripts/story.js relative to this skill folder
  3. node <checkout>/bin/story.js <command> - only when the user names a Story Skills repository checkout or you are working in one, where <checkout> is its path

Write the script in forms 2 and 3 as an absolute path and run the command from the folder you would run story from, so . and other relative paths keep their meaning. Use Node, not Bun or the story script in the checkout's package.json: Bun would load that folder's bunfig.toml (which can run code) and .env, and a package script runs from the checkout's root, so . would be the checkout, not the story project.

If none of these are available, perform the requested maintenance manually using the shared conventions in references/conventions.md.

Run the installed or bundled CLI in place. Do not copy scripts/story.js into the user's story project, and do not create project-local build scripts, generator scripts, or bulk writer scripts to generate story content. Story projects should remain markdown-first, plus explicitly requested exports such as dist/manuscript.md.

Commands

Run commands from the story project root, or pass the story path explicitly.

After any change to story files, run the maintenance block, in this order:

shell
story reindex .
story wordcount . --write
story check .

reindex rebuilds the registries, wordcount --write updates chapter counts (and reindexes again), and check then runs validate, links, and continuity over the settled files. check exits 1 only on errors; warnings print but do not fail it (--strict makes them fail). Every skill ends its edits with this block, followed by any skill-specific checks such as story clues . or story pacing ..

For the full command set, run story --help (every command) or story <command> --help (its flags), or read references/commands.md, which gives an example of each.

The check commands' detailed rules live in references/continuity-checks.md, one section per command. Read the matching section before explaining or acting on a finding. The editing commands' detail (add, rename, move, remove, split, merge, import) lives in references/editing-commands.md, and each build format's in references/builds.md.

Use:

  • check at the end of an editing session, after reindex and wordcount --write, and before reporting the project clean: it runs validate, links, and continuity over one scan, lists each finding once, and exits 1 if any of them has an error (--strict also fails on warnings). Run the three separately when you want one check's findings
  • validate after initialization and at the end of any multi-file edit
  • reindex after adding, removing, renaming, or moving any entity file. It rebuilds the character, location, system, faction, artifact, arc, chapter, scene, question, promise, clue, and glossary registries. story add reindexes itself; a hand-written file does not
  • wordcount --write after writing or revising chapters
  • links after changing character relationships, notable locations, arc participants, or chapter references
  • continuity after drafting or revising a chapter, and whenever the user asks about contradictions, dead characters appearing, unfired setups, or stale state. It checks deaths and revivals, promise, question, and clue ordering, Chekhov gaps, casts and status: cut characters, continuity/state.md, prop custody, and clock and route plausibility; intentional exceptions go in continuity/exemptions.md. In a book whose chapters carry choices, read Branching books there too. Rules: references/continuity-checks.md (continuity).
  • compare after a revision pass, or when the user asks what changed since a draft: it needs exactly one of --ref (a git ref), --against (another copy of the project), or --snapshot (a snapshot saved with story snapshot <name>, for a project without git; --list shows them), and --anchor <label> maps review-copy paragraph labels to the current text. Rules: references/continuity-checks.md (compare).
  • snapshot --restore <name> only when the user asks to go back to a snapshot. It deletes every project markdown file the snapshot lacks, and removes (rmdir) the folders that leaves empty, so show them the --dry-run first and restore only with their approval. It saves the project as before-restore-<id>-<n> before changing anything and reindexes after; pass on the undo command it prints, then run story validate.
  • similarity when the user asks whether a passage echoes another text too closely; it is advisory, so report what it found, never a verdict. --against takes a file, folder, or git ref, and --snapshot a saved snapshot. Rules: references/continuity-checks.md (similarity).
  • progress when the user asks how far along the book is, whether they will make a deadline, or after a writing session: it reports words against story.md target-words, days left to deadline and words a day needed, chapter target-words, pace from progress.md, and, once a session is logged, today's words against daily-target-words, the current and longest streak (days outside writing-days never break it), and the words of the last four weeks (--weeks <n>, 1 to 52, for a longer or shorter history). For a serial with release-every (days, or months such as 1 month) and release-start in story.md (or a chapter release-date), progress and next print the next episode due, and warn release-undrafted when an episode due within release-warn-days days (default three), or past due, has no prose or no chapter yet; draft that episode first. Once story.md has status: complete, the cadence stops at the last chapter, so no episode past it is scheduled or warned about. --log records today's total there (--date YYYY-MM-DD to backfill); only log when the user keeps a log (the project has a progress.md) or asks for it
  • pacing when the user asks about pacing, sagging middles, or chapter endings, and after drafting or restructuring chapters: per-chapter words, scene outcomes, sequels, and hooks, with warnings for runs and outliers. Rules: references/continuity-checks.md (pacing).
  • clues for mysteries and any story with a clue ledger: a clue-by-chapter matrix with fair-play warnings. Rules: references/continuity-checks.md (clues).
  • voices when dialogue voices may blur or during a line pass: per-character dialogue fingerprints, with warnings for look-alike voices and voice-avoid/voice-words misses. Rules: references/continuity-checks.md (voices).
  • list <kind> when you need the files that match some frontmatter (the draft chapters, the scenes a character is in, the open questions) instead of reading every file: story list chapters --where status=draft --where pov=ilse --path '<project>'. key=value also matches a list that contains the value, key!=value is the opposite, key means set, and '!key' unset; repeated filters must all match. story list --query '<name>' --path '<project>' runs a query saved in story.md queries (a name, a kind, and where: [status=draft, pov=ilse]), and any --where adds to its filters. Add --json and read data.items[].file
  • --json when you need to read a result rather than show it to the user: validate, links, continuity, check, series, report, next, doctor, knowledge, context, list, progress, timeline, prose, pacing, clues, voices, similarity, names, mentions, compare, passes, diagram, synopsis, export, build, init, import, and the commands that change the project then print one JSON object on stdout (apiVersion, command, ok, data, diagnostics, writes). ok is true exactly when the exit code is 0; each diagnostic has severity, file, message, code (the finding's rule, such as stale-word-count, the name a story.md severity entry takes), and check (the check that raised it). report, next, and doctor always have ok: true, so read their data.checks or error diagnostics instead (doctor --fix is the exception: its ok is false while a check still has an error, and data.fix lists the repairs it made). writes lists the files a command wrote, such as the file build made, whose path is also data.outFile
  • passes to track named revision passes in story.md revision-passes: --init writes the default ladder, --start/--done <pass> update one, and no flag prints the checklist. Rules: references/continuity-checks.md (passes).
  • names before naming a character, place, faction, artifact, system, or glossary term: story names '<name>' ... reports exact clashes as errors and look-alikes as warnings. Rules: references/continuity-checks.md (names).
  • mentions before removing an entity or renaming it without --prose, since neither changes prose: story mentions <kind> <id> --path '<project>' lists each place the chapter prose names it, with file and line, so you can update the text. With no entity it warns named-not-listed (prose names a character the chapter's pov, characters, and mentions leave out; continuity reports this too) and mention-not-named (a mentions entry the prose never names). Fix a true omission in the chapter frontmatter; when the chapter uses a name the bible lacks, add it to the entity's aliases; ask the user before dropping a mention. Rules: references/continuity-checks.md (mentions).
  • diagram when the user wants a picture of the story's structure: story diagram <kind> prints Mermaid source generated from frontmatter, or writes it with --out <file> (--path <project> sets the project). Kinds: relationships (character graph, family edges styled distinctly: the family tree), locations (map-graph from location routes, edges labelled with hours), timeline (dated scenes and chapters in story-time order), clues (clue plant to reveal flow per chapter), and arcs (arcs to the chapters that advance them). GitHub, many editors, and mermaid.live render it; regenerate rather than hand-edit
  • timeline when the user asks what happens when, how flashbacks sit against the main line, whose POV dominates, or where a character drops out. It is read-only; continuity owns clock errors. Rules: references/continuity-checks.md (timeline).
  • prose when the user asks for a prose check or before sharing a draft: advisory per-chapter and manuscript-wide prose metrics against style-sheet.md. Rules: references/continuity-checks.md (prose).
  • series when story.md has follows or precedes links to other books; it orders the linked sequels and prequels by chronology and checks shared canon. Use init --follows <path> or init --precedes <path> to start a linked book, and see the series-continuity skill for carrying canon across. Rules: references/continuity-checks.md (series).
  • import when the user has an existing manuscript or chapter drafts and wants a Story Skills project built from them. import --force deletes every chapter-NN.md in chapters/ first, so confirm with the user before forcing an import over drafted chapters. Rules: references/editing-commands.md (import).
  • report when the user asks for project status, inventory, progress, or a quick health summary
  • next before a drafting session to identify the next deterministic action
  • doctor when the user asks what is stale, broken, or inconsistent. doctor --fix applies only the mechanical repairs the checks call for (putting back a split, merge, move, rename, or remove that stopped part way, migrate for missing registries or an old schema-version, wordcount --write for stale counts, reindex for stale registries), never touches prose, then reports what remains; it exits 1 while any check still has an error. Use it to clear mechanical findings in one step, then work through the remaining actions yourself or with the user
  • migrate when a project has an older schema version or missing v2 paths
  • --dry-run on add, rename, move, split, merge, remove, reindex, migrate, wordcount --write, doctor --fix, snapshot, passes, progress --log, diagram --out, synopsis --out, export, build, init, or import before a change that touches many files, or when the user wants to see what a command will change first: it lists each file it would create, update, or delete and changes nothing (--json gives the list as data.changes). Show the user the list, then run the command without --dry-run
  • add, rename, move, and remove for deterministic entity file operations when they fit the requested change. add takes ids, not names, for reference options, and ids stay ASCII kebab-case (--id sets one by hand). Rules: references/editing-commands.md (add, rename, and remove).
  • move whenever a chapter's number or a scene's chapter or position changes, never a hand rename: chapter and scene ids encode their numbers. Rules: references/editing-commands.md (move).
  • split and merge to split a chapter in two or join two neighbouring chapters, instead of moving prose and renumbering by hand. Run --dry-run first and show the user the list. Rules: references/editing-commands.md (split and merge).
  • init --form <form> records form in story.md (novel, novella, novelette, short-story, flash, serial, picture-book, chapter-book) and sets a default target-words when none is given; validate warns when target-words is outside the form's usual range and report shows the form
  • add matter when the user wants a dedication, epigraph, copyright page, acknowledgments, author's note, about-the-author, or also-by page. Never invent acknowledgments, biographical facts, or copyright details: ask the user for them. Rules: references/editing-commands.md (add matter).
  • add research when the story relies on a real-world fact. Rules: references/editing-commands.md (add research).
  • export only when the user asks for a combined manuscript at a specific path; it includes front and back matter
  • build when the user asks to build the book artifact: markdown, EPUB, DOCX, Shunn, HTML, print, narration, metadata, Fountain, Twee, and ink outputs in dist/, and a codex site in dist/codex/, with front and back matter. Rules: references/builds.md (build).
  • build --format html when the user wants a review or reading copy for people who never open a terminal. Rules: references/builds.md (html).
  • build --format print for a print-ready interior; --pdf renders a PDF with an engine the user has installed. Rules: references/builds.md (print).
  • build --format narration for an audiobook narration script, and build --format metadata for a retailer metadata sheet. Rules: references/builds.md (narration, metadata).
  • build --format twee and build --format ink for a branching book. Rules: references/builds.md (twee, ink).
  • build --format codex when the user wants a browsable story bible; add --spoilers only for the author's own copy. Rules: references/builds.md (codex).
  • build --format epub and build --format shunn for an ebook or a Shunn manuscript. Rules: references/builds.md (epub, shunn).
  • knowledge when the user asks what a character knew at a given chapter: story knowledge <character-id> --at <chapter-id>, marking each fact reader-knowledge or character-knowledge with do not reveal. Rules: references/continuity-checks.md (knowledge).
  • context before drafting a chapter or scene: story context <chapter-or-scene-id> [--budget <tokens>] [--scenes <n>] prints what the target needs in priority order, leaving out later chapters. Rules: references/continuity-checks.md (context).
  • add clue when the user plants a new clue: story add clue 'Name' --planted chapter-02 --payoff chapter-05; omit --payoff when it is not yet known, and pass --red-herring for a clue meant to mislead. Rules: references/continuity-checks.md (add clue).
  • synopsis when the user wants a mechanical synopsis: the first sentence of story.md's ## Synopsis section, then each arc's Setup, Rising Action, Climax, and Resolution. One page is 500 words and three pages is 1500. story synopsis [--pages 1|3] [--out file]. The output is a scaffold; the submission skill rewrites it into an agent-ready synopsis
Show full SKILL.md (525 more words)Show less

Project CLI Configuration

story.md may carry cli-defaults (default flags per command, such as - command: build with format: html) and severity (named warnings promoted with level: error or silenced with level: off, such as - warning: todo-markers). A flag on the command line always wins. Edit these fields only when the user asks for project-wide defaults or stricter checks, then run story validate: it rejects unknown commands, flags, warning codes, and levels, and while either field is invalid the other commands refuse to run. Every warning line ends with its code in brackets, such as [todo-markers], which is the name a severity entry takes; an error: line ending in a code is a warning the project has promoted. Errors cannot be overridden. docs/cli-reference.md lists every code under Finding codes.

Failure Handling

  • Treat CLI errors as actionable maintenance findings.
  • Read the exit code to decide what to do next: 1 means the check found error: findings to fix in the project; 2 means the command line was wrong (fix the command, not the project); 3 means the path is not a usable story project or a file it needs does not parse (repair that file, or point at the folder with story.md); 4 means a write was refused (the target exists, is project source, is locked by another story command, or is not writable), so resolve the conflict rather than forcing it.
  • Fix broken references, missing required files, stale registries, or incorrect word counts when the requested task implies doing so.
  • Do not overwrite creative prose or story content merely to satisfy a mechanical check.
  • If a validation warning reflects intentional user data, report it rather than silently changing it.
  • If a command stops with Cannot reindex: fix these files first (or Cannot count words: ..., Cannot build: ...), repair the frontmatter of each listed file, then rerun it. rename, move, and remove report <file>: <error>; nothing was changed for the same cause, and <file> is missing YAML frontmatter; nothing was changed when an entity file, a CLI registry (the _index.md in an entity folder, matter/, or research/), or fixed project file (story.md, style-sheet.md, progress.md, plot/timeline.md, continuity/state.md, continuity/exemptions.md) has none; plain skill notes such as continuity/motifs.md, or an _index.md in a folder of the user's own such as notes/, do not block them.
  • A file-system failure reads Cannot <open|list|check|replace|delete|write to> <path>: <reason> (such as permission denied); fix the file or folder permissions, or the path, rather than the story content.
  • If story reindex fails on a corrupt plot/_index.md, do not hand-edit story content to work around it: restore the index frontmatter from git, or delete plot/_index.md so reindex rebuilds it, then rerun.

Shared Conventions

Every story skill follows the shared conventions in references/conventions.md: kebab-case ids and filenames, YAML frontmatter on every story-project file, _index.md registry tables that story reindex rebuilds (never edit them by hand), bidirectional links between entities, characters for who is on the page and mentions for who is only referred to, status: deceased plus died-in: chapter-{NN} for deaths, and no project-local generator or build scripts (run only the installed or bundled Story CLI). Other skills link to that file and repeat this summary, so update both together.

© danjdewhurst, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references) in skills/story-maintenance of danjdewhurst/story-skills.

  • SKILL.md
  • references/builds.md
  • references/commands.md
  • references/continuity-checks.md
  • references/conventions.md
  • references/editing-commands.md
  • scripts/package.json
  • scripts/story.js

Open the folder on GitHubat commit 9a54e04

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in danjdewhurst/story-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Story Maintenance next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Story Maintenance compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Story Maintenance this skilldanjdewhurst/story-skills2861 repos~5.4kAutomated safety check: NotesMIT
Story Multi-Perspective Reviewzenstory-ai/oh-story-claudecode7.4k3 repos~3kAutomated safety check: PassMIT
Short Web Fiction Trend Scanzenstory-ai/oh-story-claudecode7.4k2 repos~1.2kAutomated safety check: PassMIT
InkOS Creative HarnessNarcooo/inkos10k1 repos~1.1kAutomated safety check: PassAGPL-3.0
Novel Arteternityspring/shuohao-skills4.3k—~1.1kAutomated safety check: NotesApache-2.0
SepiaNanako0129/sepia3.1k—~3.6kAutomated safety check: PassMIT

Similar skills

  • Story Multi-Perspective Review

    zenstory-ai/oh-story-claudecode

    Reviews Chinese web-novel text with several reviewer agents in parallel, falling back to a single-agent pass, and reports structure, character, prose and setting problems with fixes.

    7.4k GitHub starsUsed in 3 repos~3k tokens
    Writing & ContentAuto-check passed
  • Short Web Fiction Trend Scan

    zenstory-ai/oh-story-claudecode

    Scans popular short web-fiction rankings on Chinese platforms such as Dianzhong and Heiyan to surface trending emotional hooks, themes and topic candidates with an expiry warning.

    7.4k GitHub starsUsed in 2 repos~1.2k tokens
    Writing & ContentAuto-check passed
  • Drives long-form fiction, scripts, storyboards, interactive films and long-document translation through InkOS, with every change made by a typed action.

    10k GitHub starsUsed in 1 repo~1.1k tokens
    Writing & ContentAuto-check passed
  • Novel Art

    eternityspring/shuohao-skills

    给 AI 短剧出美术设定集(场景 + 叙事道具):场景的设计意图、一致性锚点、光照时段变体、 空景提示词;道具的戏剧功能、状态变体、尺度参照、白底无手提示词。

    4.3k GitHub stars~1.1k tokensUpdated 2 days ago
    Writing & ContentAuto-check: notes
  • Sepia

    Nanako0129/sepia

    Make AI-generated writing read as human-written, in fiction and in professional prose.

    3.1k GitHub stars~3.6k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Story Toolbox Router

    zenstory-ai/oh-story-claudecode

    Routes a Chinese web-novel writing request to the matching tool in a 13-skill toolbox, covers author habit memory, and can launch a local dashboard for browsing a project.

    7.4k GitHub stars~1.7k tokensUpdated today
    Writing & ContentAuto-check passed

More from danjdewhurst/story-skills

All 24 skills in this repo
  • Adaptation

    danjdewhurst/story-skills

    This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway", "pronunciation guide", "how long is the audiobook", "adapt to a screenplay"…

    286 GitHub starsUsed in 1 repo~3.5k tokens
    Auto-check: notes
  • Chapter Writing

    danjdewhurst/story-skills

    This skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue the story", "write a scene", "outline a chapter", or wants to write…

    286 GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check: notes
  • Character Management

    danjdewhurst/story-skills

    This skill should be used when the user asks to "create a character", "update a character", "add a character", "build a family tree", "character relationships", "character timeline", "character…

    286 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check: notes
  • Discovery Drafting

    danjdewhurst/story-skills

    This skill should be used when the user asks about "pantsing", "discovery write", "write without an outline", "discovery draft", "write into the dark", "story kernel", "reconcile a chapter", "dead…

    286 GitHub starsUsed in 1 repo~2k tokens
    Auto-check: notes
  • Editorial Review

    danjdewhurst/story-skills

    This skill should be used when the user asks for a "sensitivity reader", "authenticity reader", "cultural review", "is this portrayal okay", "real people in my novel", "defamation", "can I use song…

    286 GitHub starsUsed in 1 repo~3.6k tokens
    Auto-check: notes
  • Feedback Triage

    danjdewhurst/story-skills

    This skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round", "synthesize reader feedback", "reader notes", "beta feedback", "reader…

    286 GitHub starsUsed in 1 repo~4k tokens
    Auto-check: notes

Questions about Story Maintenance

What does Story Maintenance do?

This skill should be used when the user asks to "validate", "reindex", "repair registries", "check links", "run the continuity, pacing, clue, voice, or name checks", "count words", "summarize a…. Story Maintenance is an agent skill from danjdewhurst/story-skills. This skill should be used when the user asks to "validate", "reindex", "repair registries", "check links", "run the continuity, pacing, clue, voice, or name checks", "count words", "summarize a story project", "import an existing manuscript", "export a manuscript", "run a build", "generate a diagram", "record revision-pass status with story passes", "run the story CLI", or wants deterministic maintenance on a Story Skills markdown project.

When should I use Story Maintenance?

Story Maintenance fits situations like: asks to validate; repair registries; run the continuity; summarize a story project.

How do I install Story Maintenance in Claude Code?

Run `npx skills add danjdewhurst/story-skills --skill story-maintenance -a claude-code`. Or copy the skill folder (skills/story-maintenance in danjdewhurst/story-skills) into .claude/skills/story-maintenance in your project. Claude Code loads it when a task matches its description.

How do I install Story Maintenance in Codex?

Run `npx skills add danjdewhurst/story-skills --skill story-maintenance -a codex`. Or copy the skill folder (skills/story-maintenance in danjdewhurst/story-skills) into .agents/skills/story-maintenance in your project. Codex loads it when a task matches its description.

Can I use Story Maintenance in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add danjdewhurst/story-skills --skill story-maintenance -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/story-maintenance, .gemini/skills/story-maintenance, .github/skills/story-maintenance and .opencode/skills/story-maintenance in your project.

What does Story Maintenance need to run?

Going by SKILL.md and its folder, Story Maintenance needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js.

Does Story Maintenance access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Story Maintenance safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Story Maintenance use?

Story Maintenance is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Story Maintenance use?

About 5.4k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 13k tokens, read only when the agent opens those files.

What are the alternatives to Story Maintenance?

Skills that share tags, products or a category with Story Maintenance: Story Multi-Perspective Review (zenstory-ai/oh-story-claudecode, 7.4k stars), Short Web Fiction Trend Scan (zenstory-ai/oh-story-claudecode, 7.4k stars), InkOS Creative Harness (Narcooo/inkos, 10k stars) and Novel Art (eternityspring/shuohao-skills, 4.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Story Maintenance?

danjdewhurst (a GitHub user) maintains it in danjdewhurst/story-skills, which has 286 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 9, 2026.

Source: danjdewhurst/story-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.