Agent skill

Voice Style

by danjdewhurst in danjdewhurst/story-skills

This skill should be used when the user asks to "create a style sheet", "style guide", "house style", "keep the voice consistent", "voice drift", "British or American spelling", "character voices"…

MITAuto-check: notesWriting & Content

Install Voice Style

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

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

GitHub CLI
$ gh skill install danjdewhurst/story-skills voice-style --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/voice-style .claude/skills/voice-style && 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
voice-style
GitHub stars
283
Used in
1 other repo
Token cost
~3k tokens
SKILL.md length
1,647 words
Files
3 (incl. references)
Skills in repo
24
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when the user asks to "create a style sheet", "style guide", "house style", "keep the voice consistent", "voice drift", "British or American spelling", "character voices"…

  • Works in 5 steps: Build or update the style sheet → Draft and revise against it → Run the prose check → …
  • Asks to create a style sheet
  • SKILL.md covers Overview, Prerequisites, Language and When to Use, plus 4 more sections
  • Calls node

What it does

Voice Style is an agent skill from danjdewhurst/story-skills. This skill should be used when the user asks to "create a style sheet", "style guide", "house style", "keep the voice consistent", "voice drift", "British or American spelling", "character voices", "lint the prose", "prose check", "filter words", "said-bookisms", "overused words", "repeated phrases", "similar character names", "voice fingerprints", or wants to record and enforce the voice and surface conventions of a story project. NOT for rewriting dialogue to make the voices distinct when everyone sounds the…

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/prose-checks.md` and `references/style-sheet-guide.md`).

It sits in Writing & Content, covering Copy editing and proofreading and 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 create a style sheet
  • Keep the voice consistent
  • American spelling
  • Character voices

Example prompts

  • “create a style sheet”
  • “style guide”
  • “house style”
  • “/voice-style”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Build or update the style sheet
  2. Draft and revise against it
  3. Run the prose check
  4. Run the dialogue voice check
  5. Act on the findings

What it can do on your machine

Read from SKILL.md and the folder at commit c46163b. 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

    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

Voice Style loads about 3k tokens when it runs, and up to ~5.8k if it reads all its reference files. Until then it costs about 153 tokens; SKILL.md has 1,647 words of instructions outside code blocks.

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

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:189
    `.env`, and a package script runs from the checkout's root. If no CLI is

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from danjdewhurst/story-skills at commit c46163b, republished under its MIT licence (© danjdewhurst). 1,647 words, ~3,019 tokens.

Download SKILL.mdSave it as .claude/skills/voice-style/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
voice-style
description
This skill should be used when the user asks to "create a style sheet", "style guide", "house style", "keep the voice consistent", "voice drift", "British or American spelling", "character voices", "lint the prose", "prose check", "filter words", "said-bookisms", "overused words", "repeated phrases", "similar character names", "voice fingerprints", or wants to record and enforce the voice and surface conventions of a story project. NOT for rewriting dialogue to make the voices distinct when everyone sounds the same (use line-editing), or a character's profile or arc (use character-management).

Voice & Style

Overview

Record the book's voice and surface conventions in style-sheet.md, then enforce them. The style sheet is the copyeditor's record: dialect and spelling choices, capitalisation, hyphenation, numbers, dialogue punctuation, a one-line voice summary per major speaker, and a watch list. Its frontmatter is machine-readable, and story prose counts violations and prose tics in every chapter. Use this skill so voice stays the same across chapters, drafting sessions, and agents.

Prerequisites

A story project with story.md in the root. story init scaffolds style-sheet.md; older projects can add it with story init '<title>' --dir . --force, which only adds missing files, or by copying references/style-sheet-guide.md's frontmatter block by hand.

Language

Read language in story.md (a BCP 47 tag; a missing field means en). The style sheet records the conventions of that language, and the voice description is written about prose in it. dialect: british and american and the built-in word lists behind filter words, -ly adverbs, and said-bookisms are English. For another language, set dialect: unspecified, record spelling variants as preferred entries, and settle dialogue and punctuation with ../line-editing/references/language-conventions.md. When story prose or story voices reports a check skipped for the book's language, do that pass by reading (see references/prose-checks.md, Other languages).

When to Use

  • Starting a project, once the first chapter or a writing sample exists
  • Before drafting when voice has drifted between chapters or sessions
  • When a copyedit pass needs a style decision recorded (the copyedit itself belongs to the line-editing skill, which reads this file)
  • When the user wants a mechanical prose check before sharing a draft
  • Recording each character's voice (the style sheet's Character Voices line, voice-words, voice-avoid) and checking it with story voices
  • NOT for character personality or arc (use character-management)
  • NOT for scene-level craft such as deep POV or subtext (use scene-craft)
  • NOT for the line-by-line prose pass itself (line edit, copyedit, read-aloud, proof): use the line-editing skill, which reads this style sheet and runs these checks
  • NOT for rewriting dialogue so the voices sound distinct when everyone sounds the same: use the line-editing skill's voice differentiation pass, which follows the voices recorded here

Workflow

1. Build or update the style sheet
  1. Read story.md (genre, POV, tense, Tone & Style), style-sheet.md, and two or three drafted chapters or a sample the user supplies. If there is no prose yet, ask the user for a paragraph that sounds right or three published books whose voice is close.
  2. Fill the sections in style-sheet.md following references/style-sheet-guide.md. Record decisions the prose already makes; do not invent new ones silently. When the draft is inconsistent (both grey and gray), ask the user which form wins.
  3. Set the frontmatter:
    • dialect: british | american | unspecified (unspecified for a book not in English)
    • one preferred entry per variant: use is the house form, avoid the form to flag. Repeat entries for several variants of one word.
    • watch-words: words or phrases this book overuses
    • allow-words: built-in filter words, adverbs, or dialect spellings this book uses on purpose (a proper noun like Harbor Street in a British book)
    • samples: files or folders of the author's own prose that sound right, relative to the project folder: an earlier book (../book-one) or chapters the author has approved, each file named on its own (chapters/chapter-01.md, never chapters/, which warns style-sample-own-chapters). A listed chapter is the measure, so story prose does not compare it. Ask the user which; never list prose the agent drafted and the author has not approved, or the profile measures the agent's voice. With at least 2,000 words of narration, story prose compares each chapter with the samples instead of fixed limits
  4. Character Voices entries summarise each character file's Voice & Speech Patterns section in one line and link to it. Record words a speaker reaches for in the character file's voice-words list and words they would never say in voice-avoid, so story voices can check them. The character file is canon; if the two disagree, fix the style sheet, or ask the user before changing the character.
2. Draft and revise against it
  • chapter-writing and discovery-drafting read style-sheet.md before drafting. Write in the recorded voice, use the house spellings, and give each speaker the recorded patterns.
  • When a new convention appears mid-draft (a new invented term, a number style), add it to the style sheet in the same change.
3. Run the prose check
shell
story prose .

The report lists, per chapter: sentence count, average and longest length, and spread; filter words and -ly adverbs per 1,000 narration words (dialogue is excluded); plain and said-bookism dialogue tags; words echoed within 30 words; watch-word counts; and avoided spellings. Across the manuscript it lists repeated 4-word phrases and character first names that readers could confuse. Warnings are advisory. The command exits 0 unless a file cannot be read, a story.md severity entry promotes a warning to an error, or the command line is wrong, such as --baseline with no samples (exit 2). See references/prose-checks.md for what each count means and how to respond.

When the style sheet lists samples, the report opens with a profile of the author's own prose, and chapters that drift from it warn (prose-baseline-sentences, -paragraphs, -dialogue, -filter-words, -adverbs) in place of the fixed filter-word and adverb limits. Treat a drift as a prompt to reread the chapter, not a rule. Tell the user where it drifts and ask whether it is deliberate: a fight scene runs short, a quiet chapter long. Never rewrite a chapter just to move a number back inside its tolerance.

To lint a passage that is not in a chapter file yet (a draft scene, a proposed rewrite), pipe it in with - in place of the path: story prose - < draft-scene.md. Run it from the project folder, or add --path <project>, so the style sheet applies. story voices - does the same for dialogue.

Show full SKILL.md (685 more words)Show less
4. Run the dialogue voice check
shell
story voices .

story voices fingerprints each character's attributed dialogue and warns about a voice-avoid word said, a voice-words entry never said, and two characters who may sound alike. A line counts only when the narration names its speaker by a speech verb, or names one character in the paragraph. Pronoun tags (she said) are never attributed, so in close third person the POV character is often under-counted; when that matters, name the tags in a sample chapter and rerun. story voices --help describes the command and, when story-maintenance is installed, the voices section of ../story-maintenance/references/continuity-checks.md gives the full attribution rules and thresholds.

When two voices blur, differentiate them on more than one axis (sentence length, contractions, vocabulary, what they ask about) and see dialogue-subtext.md in the scene-craft skill for the tag-swap test.

Attribution and contraction rates are built around English quote marks, speech verbs, and contractions. For a book in another language, if the report attributes few or none of the lines the book has, or skips the check for the language, compare the voices by reading: the levers are the same (sentence length, vocabulary, forms of address, what each avoids saying).

5. Act on the findings
  1. Fix avoided spellings everywhere; they are always errors of consistency.
  2. Treat rates, echoes, and repeated phrases as prompts to reread the passage, not orders. Keep a flagged word when it is the right word, and add it to allow-words when the book uses it deliberately.
  3. For uniform-rhythm warnings, revise sentence length by intent (short for impact, long for flow), not by formula.
  4. For similar names, ask the user before renaming; check replacements with story names '<Candidate>'. Preview the rename with story rename character <id> '<New Name>' --prose --dry-run, show the user the replacements, then run it without --dry-run, so the chapter text follows as well as the references. Without --prose the prose keeps the old name. Check the matches it leaves as written as the character-management skill's rename steps describe.
  5. For story voices warnings, revise the dialogue or update the character's voice-words/voice-avoid when the draft has found a better voice; ask the user before changing canon.
  6. Present a summary: what changed, what was kept on purpose, and any style-sheet updates. For a full line edit, copyedit, or proof, hand off to the line-editing skill.

CLI Maintenance

Use the Story CLI when it is available. If story is not installed, use the bundled fallback node ../story-maintenance/scripts/story.js with the same arguments. Use node <checkout>/bin/story.js instead only when the user names a Story Skills repository checkout or you are working in one. Write the script as an absolute path (resolve the fallback relative to this skill folder) and run it from the folder you would run story from, so . and other relative paths keep their meaning. Use Node, not Bun or a package script: Bun would load that folder's bunfig.toml (which can run code) and .env, and a package script runs from the checkout's root. If no CLI is available, apply the checks in references/prose-checks.md by reading.

After editing the style sheet or revising prose:

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

Reference Files

  • references/style-sheet-guide.md - What goes in each style-sheet section, the frontmatter format, and how to extract a voice description from sample prose
  • references/prose-checks.md - What each story prose count measures, its threshold, when to keep the flagged text, and what to do for a book not in English
  • ../line-editing/references/language-conventions.md - Dialogue and punctuation conventions by language, for the style sheet's Dialogue And Punctuation section

Shared Conventions

Every story skill follows the shared conventions in ../story-maintenance/references/conventions.md, resolved relative to this skill folder. Read it before creating, renaming, or linking story files. If that file is missing because this skill was installed without story-maintenance, the essentials are: 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).

© 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 2 other files (references) in skills/voice-style of danjdewhurst/story-skills.

  • SKILL.md
  • references/prose-checks.md
  • references/style-sheet-guide.md

Open the folder on GitHubat commit c46163b

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

Voice Style 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.

Voice Style compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Voice Style this skilldanjdewhurst/story-skills2831 repos~3kAutomated safety check: NotesMIT
Story Multi-Perspective Reviewzenstory-ai/oh-story-claudecode7.4k3 repos~3kAutomated safety check: PassMIT
Web Novel AI-Trace Removerzenstory-ai/oh-story-claudecode7.4k1 repos~2.6kAutomated safety check: PassMIT
InkOS Story ReviewNarcooo/inkos10k—~450Automated safety check: PassAGPL-3.0
Web Novel AI-Flavor Removeruu201/character-arc581—~2.3kAutomated safety check: PassMIT
Web Novel Polishing and De-AIuu201/character-arc5811 repos~508Automated 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
  • Web Novel AI-Trace Remover

    zenstory-ai/oh-story-claudecode

    Rewrites AI-sounding Chinese web novel text so it reads naturally, changing as little as possible and keeping plot, names and numbers intact.

    7.4k GitHub starsUsed in 1 repo~2.6k tokens
    Writing & ContentAuto-check passed
  • InkOS Story Review

    Narcooo/inkos

    Reviews chapters or manuscripts against the standard that fits their genre, audience and your own criteria, showing concrete issues and revising only when asked.

    10k GitHub stars~450 tokensUpdated today
    Writing & ContentAuto-check passed
  • Web Novel AI-Flavor Remover

    uu201/character-arc

    Finds and rewrites AI-sounding passages in Chinese web novel text, changing as few words as possible while keeping plot, characters and names intact.

    581 GitHub stars~2.3k tokensUpdated today
    Writing & ContentAuto-check passed
  • Polishes AI-generated web novel text to remove machine-sounding patterns, with rewriting strategies, instruction templates, style techniques and before-and-after examples.

    581 GitHub starsUsed in 1 repo~508 tokens
    Writing & ContentAuto-check passed
  • Exemplar Prose Calibration

    BingHanOfUESTC/open_agent_team

    Calibrate Chinese genre-fiction prose against Boss-provided high-quality novel examples without copying source text, names, settings, or plot chains.

    106 GitHub stars~675 tokensUpdated 3 mo ago
    Writing & ContentAuto-check passed

More from danjdewhurst/story-skills

All 24 skills in this repo
  • Story Maintenance

    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…

    283 GitHub starsUsed in 1 repo~5.4k tokens
    Auto-check: notes
  • 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"…

    283 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…

    283 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…

    283 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…

    283 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…

    283 GitHub starsUsed in 1 repo~3.6k tokens
    Auto-check: notes

Questions about Voice Style

What does Voice Style do?

This skill should be used when the user asks to "create a style sheet", "style guide", "house style", "keep the voice consistent", "voice drift", "British or American spelling", "character voices"…. Voice Style is an agent skill from danjdewhurst/story-skills. This skill should be used when the user asks to "create a style sheet", "style guide", "house style", "keep the voice consistent", "voice drift", "British or American spelling", "character voices", "lint the prose", "prose check", "filter words", "said-bookisms", "overused words", "repeated phrases", "similar character names", "voice fingerprints", or wants to record and enforce the voice and surface conventions of a story project.

When should I use Voice Style?

Voice Style fits situations like: asks to create a style sheet; keep the voice consistent; american spelling; character voices.

How do I install Voice Style in Claude Code?

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

How do I install Voice Style in Codex?

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

Can I use Voice Style 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 voice-style -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/voice-style, .gemini/skills/voice-style, .github/skills/voice-style and .opencode/skills/voice-style in your project.

What does Voice Style need to run?

Going by SKILL.md and its folder, Voice Style needs the command-line tools its instructions call (node).

Does Voice Style 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 Voice Style 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. Review the folder before installing.

What licence does Voice Style use?

Voice Style 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 Voice Style use?

About 3k tokens (SKILL.md is roughly 12k 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 2.8k tokens, read only when the agent opens those files.

What are the alternatives to Voice Style?

Skills that share tags, products or a category with Voice Style: Story Multi-Perspective Review (zenstory-ai/oh-story-claudecode, 7.4k stars), Web Novel AI-Trace Remover (zenstory-ai/oh-story-claudecode, 7.4k stars), InkOS Story Review (Narcooo/inkos, 10k stars) and Web Novel AI-Flavor Remover (uu201/character-arc, 581 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Voice Style?

danjdewhurst (a GitHub user) maintains it in danjdewhurst/story-skills, which has 283 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 8, 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.