voice-style
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseVoice & Style
语声与文风
Overview
概述
Record the book's voice and surface conventions in , 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 counts violations
and prose tics in every chapter. Use this skill so voice stays the same
across chapters, drafting sessions, and agents.
style-sheet.mdstory prose先在 中记录本书的语声与表层规范,然后执行这些规范。样式表是文字编辑的记录:包括方言与拼写选择、大小写、连字符用法、数字格式、对话标点、每个主要说话者的一行语声摘要,以及需要关注的词语清单。其 frontmatter 可由机器读取, 会统计每章中违反规范的内容和行文癖习。使用此 skill 可确保各章节、不同写作场次及不同 Agent 之间保持相同的语声。
style-sheet.mdstory prosePrerequisites
前置条件
A story project with in the root. scaffolds
; older projects can add it with , which only adds missing files, or by copying
's frontmatter block by hand.
story.mdstory initstyle-sheet.mdstory init '<title>' --dir . --forcereferences/style-sheet-guide.md准备一个根目录中包含 的故事项目。 会创建 ;旧项目可以使用 添加该文件,此命令只会补充缺失文件,也可以手动复制 中的 frontmatter 区块。
story.mdstory initstyle-sheet.mdstory init '<title>' --dir . --forcereferences/style-sheet-guide.mdLanguage
语言
Read in (a BCP 47 tag; a missing field means ).
The style sheet records the conventions of that language, and the voice
description is written about prose in it. and
and the built-in word lists behind filter words, -ly adverbs,
and said-bookisms are English. For another language, set
, record spelling variants as entries,
and settle dialogue and punctuation with
. When
or reports a check skipped for the book's language, do that
pass by reading (see , Other languages).
languagestory.mdendialect: britishamericandialect: unspecifiedpreferred../line-editing/references/language-conventions.mdstory prosestory voicesreferences/prose-checks.md读取 中的 (一个 BCP 47 标签;缺少该字段意味着 )。样式表记录该语言的约定,而语声描述针对的是使用该语言写成的文字。 和 以及 filter words、-ly adverbs 和 said-bookisms 背后的内置词表均适用于英语。对于其他语言,请设置 ,将拼写变体记录为 条目,并根据 确定对白和标点约定。如果 或 报告因本书所用语言而跳过某项检查,请通过阅读完成该检查(参见 中的“其他语言”)。
story.mdlanguageendialect: britishamericandialect: unspecifiedpreferred../line-editing/references/language-conventions.mdstory prosestory voicesreferences/prose-checks.mdWhen 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 skill, which reads this file)
line-editing - 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) and checking it withvoice-avoidstory 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 skill, which reads this style sheet and runs these checks
line-editing - NOT for rewriting dialogue so the voices sound distinct when everyone sounds the same: use the skill's voice differentiation pass, which follows the voices recorded here
line-editing
- 项目启动时,在第一章或写作样本已经存在后
- 起草前,如果章节或写作场次之间发生了语声漂移
- 当一次文字编辑需要记录样式决定时(实际文字编辑属于 skill,该 skill 会读取此文件)
line-editing - 当用户希望在分享草稿前进行机械化行文检查时
- 记录每个角色的声音(样式表中的 Character Voices 行、、
voice-words),并使用voice-avoid检查story voices - 不适用于角色性格或成长弧(请使用 )
character-management - 不适用于深层 POV、潜台词等场景级写作技巧(请使用 )
scene-craft - 不适用于逐行行文处理本身(行文编辑、文字编辑、朗读、校样):请使用 skill,该 skill 会读取此样式表并运行这些检查
line-editing - 不适用于重写对白以使各角色的声音彼此有别:当所有角色听起来都相同时,请使用 skill 的角色声音区分流程,该流程遵循此处记录的声音规范
line-editing
Workflow
工作流
1. Build or update the style sheet
1. 构建或更新样式表
- Read (genre, POV, tense, Tone & Style),
story.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.style-sheet.md - Fill the sections in following
style-sheet.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.references/style-sheet-guide.md - Set the frontmatter:
- (
dialect: british | american | unspecifiedfor a book not in English)unspecified - one entry per variant:
preferredis the house form,usethe form to flag. Repeat entries for several variants of one word.avoid - : words or phrases this book overuses
watch-words - : built-in filter words, adverbs, or dialect spellings this book uses on purpose (a proper noun like Harbor Street in a British book)
allow-words - : files or folders of the author's own prose that sound right, relative to the project folder: an earlier book (
samples) or chapters the author has approved, each file named on its own (../book-one, neverchapters/chapter-01.md, which warnschapters/). A listed chapter is the measure, sostyle-sample-own-chaptersdoes 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 prosecompares each chapter with the samples instead of fixed limitsstory prose
- 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 list and words they would never say in
voice-words, sovoice-avoidcan check them. The character file is canon; if the two disagree, fix the style sheet, or ask the user before changing the character.story voices
- 读取 (
story.md、genre、POV、tense)、Tone & Style,以及两三个已起草的章节或用户提供的样本。如果尚无正文,请用户提供一段听起来符合预期的文字,或三本语声接近的已出版图书。style-sheet.md - 按照 填写
references/style-sheet-guide.md中的各个部分。记录正文已经做出的决定;不要在未说明的情况下自行制定新决定。如果草稿前后不一致,同时出现 grey 和 gray,请询问用户采用哪一种形式。style-sheet.md - 设置 frontmatter:
- (对于非英语图书使用
dialect: british | american | unspecified)unspecified - 每个变体设置一条 条目:
preferred是项目采用的统一形式,use是需要标记的形式。同一个词存在多个变体时,重复添加条目avoid - :本书过度使用的词或短语
watch-words - :本书有意使用的内置 filter words、副词或方言拼写(例如英式图书中的专有名词 Harbor Street)
allow-words - :相对于项目文件夹、听起来符合作者风格的作者本人文字文件或文件夹,例如作者之前的图书(
samples)或作者认可的章节;每个文件都必须单独列出(../book-one,绝不能列出chapters/chapter-01.md,否则会触发chapters/警告)。被列出的章节就是衡量基准,因此style-sample-own-chapters不会将该章节与样本进行比较。询问用户要使用哪些样本;绝不要列入 Agent 起草且作者尚未认可的文字,否则风格画像衡量的将是 Agent 的语声。当样本叙述文字至少达到 2,000 词时,story prose会将每个章节与样本进行比较,而不是使用固定阈值story prose
- Character Voices 条目用一行概括每个角色文件中的 Voice & Speech Patterns 部分,并链接到该文件。在角色文件的 列表中记录该说话者惯用的词,在
voice-words中记录其绝不会说的词,以便voice-avoid进行检查。角色文件是权威内容(canon);如果二者不一致,请修正样式表,或在修改角色之前询问用户。story voices
2. Draft and revise against it
2. 依据样式表起草和修改
- and
chapter-writingreaddiscovery-draftingbefore drafting. Write in the recorded voice, use the house spellings, and give each speaker the recorded patterns.style-sheet.md - When a new convention appears mid-draft (a new invented term, a number style), add it to the style sheet in the same change.
- 和
chapter-writing会在起草前读取discovery-drafting。按照记录的语声进行写作,使用项目统一拼写,并让每个说话者遵循已记录的表达模式。style-sheet.md - 如果起草过程中出现新的约定(例如新造术语或数字格式),请在同一次修改中将它添加到样式表。
3. Run the prose check
3. 运行行文检查
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 entry promotes a warning to an
error, or the command line is wrong, such as with no
(exit 2). See for what each count means and how
to respond.
story.mdseverity--baselinesamplesreferences/prose-checks.mdWhen the style sheet lists , the report opens with a profile of
the author's own prose, and chapters that drift from it warn
(, , , ,
) 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.
samplesprose-baseline-sentences-paragraphs-dialogue-filter-words-adverbsTo 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:
. Run it from the project folder, or add
, so the style sheet applies. does the
same for dialogue.
-story prose - < draft-scene.md--path <project>story voices -shell
story prose .报告按章节列出:句子数量、平均句长、最长句长及其分布;每 1,000 个叙述词中的 filter words 和 -ly 副词数量(不包括对白);普通型与 said-bookism 型对话标签;在 30 词范围内重复出现的词;watch-word 计数;以及应避免的拼写。整部手稿中还会列出重复出现的 4 词短语,以及读者可能混淆的角色名。警告仅供参考。除非文件无法读取、 的 条目将警告提升为错误,或命令行有误(例如在没有 的情况下使用 ,退出码为 2),否则命令退出码为 0。有关每项计数的含义及处理方式,请参阅 。
story.mdseveritysamples--baselinereferences/prose-checks.md当样式表列出 时,报告开头会显示作者本人文字的风格画像;偏离样本的章节会触发警告(、、、、),以替代固定的 filter words 和副词阈值。应将偏离视为重读章节的提示,而不是硬性规则。指出偏离发生的位置,并询问这是否是有意为之,例如打斗场景的句子较短,而安静章节的句子较长。绝不要仅为了让数值回到容差范围内而重写章节。
samplesprose-baseline-sentences-paragraphs-dialogue-filter-words-adverbs要对尚未写入章节文件的段落(草稿场景、拟议的改写版本)执行 lint,请用 代替路径并通过管道传入:
。从项目文件夹运行该命令,或添加 ,以便应用样式表。 对对白执行相同操作。
-story prose - < draft-scene.md--path <project>story voices -4. Run the dialogue voice check
4. 运行对白声音检查
shell
story voices .story voicesvoice-avoidvoice-wordsshe saidstory voices --helpstory-maintenance../story-maintenance/references/continuity-checks.mdWhen two voices blur, differentiate them on more than one axis (sentence
length, contractions, vocabulary, what they ask about) and see
in the skill for the tag-swap test.
dialogue-subtext.mdscene-craftAttribution 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).
shell
story voices .story voicesvoice-avoidvoice-wordsshe saidstory voices --helpstory-maintenance../story-maintenance/references/continuity-checks.md当两种声音难以区分时,应在多个维度上进行区分,例如句子长度、缩写、词汇以及人物关注的问题;有关标签互换测试,请参阅 skill 中的 。
scene-craftdialogue-subtext.md归属率和缩写率规则是围绕英语引号、言语动词和缩写形式构建的。如果图书使用其他语言,而报告只能归属少量甚至无法归属任何对白,或者因语言原因跳过检查,请通过阅读来比较各角色的声音。可调用的维度仍然相同,包括句子长度、词汇、称谓方式,以及每个角色避免表达的内容。
5. Act on the findings
5. 根据检查结果采取行动
- Fix avoided spellings everywhere; they are always errors of consistency.
- 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 when the book uses it deliberately.
allow-words - For uniform-rhythm warnings, revise sentence length by intent (short for impact, long for flow), not by formula.
- For similar names, ask the user before renaming; check replacements with
. Preview the rename with
story names '<Candidate>', show the user the replacements, then run it withoutstory rename character <id> '<New Name>' --prose --dry-run, so the chapter text follows as well as the references. Without--dry-runthe prose keeps the old name. Check the matches it leaves as written as the--proseskill's rename steps describe.character-management - For warnings, revise the dialogue or update the character's
story voices/voice-wordswhen the draft has found a better voice; ask the user before changing canon.voice-avoid - 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 skill.
line-editing
- 在所有位置修正应避免的拼写;这些始终属于一致性错误。
- 将比率、重复回响和重复短语视为重读段落的提示,而不是指令。如果被标记的词正是合适的词,应予以保留;如果本书有意使用该词,则将其添加到 。
allow-words - 对于节奏过于一致的警告,应根据意图调整句子长度(短句用于强调,长句用于流畅表达),而不是套用固定公式。
- 对于相似的角色名,请在重命名前询问用户;使用 检查替换候选。使用
story names '<Candidate>'预览重命名,向用户展示替换结果,然后移除story rename character <id> '<New Name>' --prose --dry-run再运行一次,使章节正文和引用都同步更新。如果未使用--dry-run,正文仍会保留旧名。按照--proseskill 的重命名步骤,检查命令保留且未作改动的匹配项。character-management - 对于 的警告,如果草稿呈现出了更合适的角色声音,可以修改对白或更新角色的
story voices/voice-words;修改 canon 之前请询问用户。voice-avoid - 提供总结:进行了哪些修改、哪些内容是有意保留的,以及样式表有哪些更新。如需进行完整的逐行编辑、文字编辑或校样,请移交给 skill。
line-editing
CLI Maintenance
CLI 维护
Use the Story CLI when it is available. If is not installed, use the
bundled fallback with the same
arguments. Use 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 from, so and
other relative paths keep their meaning. Use Node, not Bun or a package
script: Bun would load that folder's (which can run code) and
, and a package script runs from the checkout's root. If no CLI is
available, apply the checks in by reading.
storynode ../story-maintenance/scripts/story.jsnode <checkout>/bin/story.jsstory.bunfig.toml.envreferences/prose-checks.mdAfter editing the style sheet or revising prose:
shell
story reindex .
story wordcount . --write
story check .
story prose .
story voices .Story CLI 可用时,请使用 Story CLI。如果未安装 ,则使用随附的回退脚本 ,并传入相同参数。只有当用户明确指定 Story Skills 仓库检出目录,或你正在该目录中工作时,才改用 。以绝对路径指定脚本(相对于此 skill 文件夹解析回退脚本),并从原本运行 的文件夹执行它,从而保持 和其他相对路径的含义。请使用 Node,不要使用 Bun 或 package script:Bun 会加载该文件夹中的 (其中可以运行代码)和 ,而 package script 会从检出目录的根目录运行。如果没有任何可用 CLI,则通过阅读 手动执行其中的检查。
storynode ../story-maintenance/scripts/story.jsnode <checkout>/bin/story.jsstory.bunfig.toml.envreferences/prose-checks.md修改样式表或修订文字后:
shell
story reindex .
story wordcount . --write
story check .
story prose .
story voices .Reference Files
参考文件
- - What goes in each style-sheet section, the frontmatter format, and how to extract a voice description from sample prose
references/style-sheet-guide.md - - What each
references/prose-checks.mdcount measures, its threshold, when to keep the flagged text, and what to do for a book not in Englishstory prose - - Dialogue and punctuation conventions by language, for the style sheet's Dialogue And Punctuation section
../line-editing/references/language-conventions.md
- - 样式表各部分应包含的内容、frontmatter 格式,以及如何从样本文字中提取语声描述
references/style-sheet-guide.md - -
references/prose-checks.md中每项计数的含义、对应阈值、何时保留被标记的文字,以及如何处理非英语图书story prose - - 按语言划分的对白和标点约定,用于样式表的 Dialogue And Punctuation 部分
../line-editing/references/language-conventions.md
Shared Conventions
共享约定
Every story skill follows the shared conventions in , 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 , the essentials are: kebab-case ids and filenames, YAML frontmatter on every story-project file, registry tables that rebuilds (never edit them by hand), bidirectional links between entities, for who is on the page and for who is only referred to, plus for deaths, and no project-local generator or build scripts (run only the installed or bundled Story CLI).
../story-maintenance/references/conventions.mdstory-maintenance_index.mdstory reindexcharactersmentionsstatus: deceaseddied-in: chapter-{NN}每个 story skill 都遵循 中的共享约定,其路径相对于此 skill 文件夹解析。在创建、重命名或链接故事文件之前,请先阅读该文件。如果安装此 skill 时未同时安装 ,导致该文件缺失,则需要了解以下要点:ID 和文件名使用 kebab-case;每个故事项目文件都包含 YAML frontmatter; 注册表由 重新构建(绝不要手动编辑);实体之间使用双向链接; 用于页面上实际出现的角色, 用于仅被提及的角色;角色死亡时使用 ,并配合 ;项目内不得包含本地生成器或构建脚本(只运行已安装或随附的 Story CLI)。
../story-maintenance/references/conventions.mdstory-maintenance_index.mdstory reindexcharactersmentionsstatus: deceaseddied-in: chapter-{NN}