genre-craft
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGenre Craft
类型创作
Overview
概述
Genre-specific structural packs: the codified craft each genre expects, as
checkable rules, ledgers, and audits. Packs cover mystery (fair play + clue
ledger), romance (beats + HEA contract), thriller (ticking clock, power
imbalance, set pieces), horror (dread/terror ordering, monster rules),
MG/YA (category constraints), science fiction (load-bearing speculative
elements), fantasy (quest structure, magic paid off by its rules and costs),
historical fiction (period voice, anachronisms, real people), comedy
(escalation, comic set-ups and payoffs, tone), and serial/episodic
structure. Use at story-init (pick the pack, set the constraints) and in
revision (run the pack's audit).
特定类型的结构包:将每种类型所期待的规范化创作手法编码为可核查的规则、台账和审校项。结构包涵盖推理小说(公平推理 + 线索台账)、爱情小说(节拍 + HEA 契约)、惊悚小说(倒计时、权力失衡、重头戏)、恐怖小说(恐惧感/惊骇感的排序、怪物规则)、MG/YA(类别约束)、科幻小说(承载关键情节的推想元素)、奇幻小说(任务结构,魔法必须依照自身规则和代价得到兑现)、历史小说(时代语体、时代错置、真实人物)、喜剧(升级递进、喜剧铺垫与回收、基调)以及连载/剧集式结构。在 story-init(选择结构包并设置约束)阶段使用,也可在修订阶段使用(运行该结构包的审校)。
Prerequisites
前置条件
A story project must already exist (created via the story-init skill) with
its genre recorded in . A plot structure (plot-structure) should
exist or be in progress.
story.md故事项目必须已经存在(通过 story-init skill 创建),且其类型已记录在 中。情节结构(plot-structure)应当已经存在或正在构建。
story.mdWhen to Use
适用场景
- Starting or re-categorizing a story in one of the covered genres
- Planning genre load-bearing elements (clues, clocks, season goals)
- Auditing a draft against its genre's contract
- NOT for line-level genre voice (that belongs to the skill's genre work); these packs are structural
better-writing - NOT for literary fiction as a pack — its conventions resist deterministic encoding by design
- 启动故事,或将故事重新归入所涵盖的某一类型
- 规划对类型结构起关键支撑作用的元素(线索、倒计时、季目标)
- 根据类型契约审校草稿
- 不用于句子层面的类型语感(属于 better-writing skill 的类型创作工作);这些结构包只处理结构层面
- 不提供文学小说结构包——其惯例按设计就难以进行确定性编码
Workflow
工作流
- Pick the pack. Read for genre/sub-genre and load the matching reference:
story.md- Mystery / crime / detective →
references/mystery-fair-play.md - Romance →
references/romance-beats.md - Thriller / action / suspense →
references/thriller.md - Horror →
references/horror.md - Middle grade / young adult →
references/mg-ya.md - Science fiction →
references/scifi-pipeline.md - Fantasy (epic, quest, secondary-world) →
references/fantasy.md - Historical fiction →
references/historical.md - Comedy (romantic comedy, farce, satire, cosy comedy) →
; a cosy mystery not played for laughs needs only the mystery pack
references/comedy.md - Serial / episodic / web serial →
references/serial-episodic.md - Multi-genre stories: load each applicable pack; where packs conflict
(e.g. horror's slow dread vs. thriller's cliffhangers), decide with
the user which genre's contract dominates per section and record the
decision in notes.
story.md
- Mystery / crime / detective →
- Set the constraints up front. Apply the pack's structural
requirements during planning:
- Mystery: create and ledger every clue and red herring via
continuity/clues/, withstory add clue '...' --planted chapter-NN --payoff chapter-NNfrontmatter where the reader sees the clue before understanding it andsignificance-delayedon misleading clues (red-herring: true; theirstory add clue '...' --red-herringis the chapter that debunks them). Runpayofffor the fair-play matrix andstory clues .for the plant-to-reveal flow.story diagram clues - Thriller: log every promised deadline in and give every scene a
continuity/promises/anddate, sotimeshows the story clock.story timeline . - Serial: record in
season-goal:andstory.mdin each installment's frontmatter, and the release cadence asepisode-question:(days, or months such asrelease-every:) and1 month(YYYY-MM-DD) inrelease-start:, orstory.mdon a chapter.release-date:shows the next episode due and warns when one due withinstory next .(default 3) has no prose.release-warn-days: - MG/YA: record in
target-words:and check the category constraints (protagonist age, minimized adult involvement).story.md - Sci-fi: write the speculative element's rules, costs, and limits in
before the climax exploits them.
worldbuilding/systems/ - Fantasy: write the magic's rules, costs, and limits in
(the
worldbuilding/systems/skill designs them) and log the quest goal and any prophecy inworldbuilding.continuity/promises/ - Historical: record in
setting-era, the chosen period register in the style sheet, and astory.mdnote (theresearch/skill) for every fact the plot leans on and every real person; run theresearchreal-people pass for anyone living or recently dead.editorial-review - Comedy: record the comic sub-genre in , the tone line (where comedy stops) in its
story.mdsection, each comic lead's flaw in their character file, and each running gag or call-back the reader is owed a payoff on as one promise in## Tone & Style. Sentence-level comic timing belongs to thecontinuity/promises/skill.line-editing
- Mystery: create
- Draft against the pack. Use the pack's beat concepts and rules
alongside the workflow and the
chapter-writingscene-grain tools. Cross-link thriller pacing to the Fichtean curve note inscene-craft, and check thriller and serial chapter endings withreferences/thriller.md(chapterstory pacing .values, and runs ofhookendings); cross-link serial book-level canon to theresolutionskill.series-continuity - Run the pack audit in revision. Each reference ends with an audit
checklist. Run it as part of a developmental revision pass (see the
skill) and record findings in the revision plan.
revision-continuity - Record genre decisions. Any deliberate deviation from the pack (a
romance without a black moment, a mystery that withholds) is a story
decision: note it in with the reason, so later audits don't "fix" it.
story.md
- 选择结构包。 读取 中的类型/子类型,并加载对应的参考文件:
story.md- 推理/犯罪/侦探小说 →
references/mystery-fair-play.md - 爱情小说 →
references/romance-beats.md - 惊悚/动作/悬疑小说 →
references/thriller.md - 恐怖小说 →
references/horror.md - 中年级/青少年文学 →
references/mg-ya.md - 科幻小说 →
references/scifi-pipeline.md - 奇幻小说(史诗、求索任务、次世界)→
references/fantasy.md - 历史小说 →
references/historical.md - 喜剧(爱情喜剧、闹剧、讽刺、温馨喜剧)→ ;不以制造笑点为目的的温馨推理作品只需要推理结构包
references/comedy.md - 连载/剧集式/网络连载 →
references/serial-episodic.md - 多类型故事:加载每个适用的结构包;若结构包发生冲突(例如恐怖小说的渐进式恐惧感与惊悚小说的悬崖式结尾),请与用户决定每部分以哪种类型的契约为主导,并将决定记录在 的备注中。
story.md
- 推理/犯罪/侦探小说 →
- 预先设置约束。 在规划阶段应用该结构包的结构要求:
- 推理小说:创建 ,并通过
continuity/clues/在台账中记录每条线索和红鲱鱼;对于读者会先看到线索、但要到之后才理解其含义的情况,使用story add clue '...' --planted chapter-NN --payoff chapter-NNfrontmatter;对误导性线索设置significance-delayed(red-herring: true;其story add clue '...' --red-herring是揭穿它的章节)。运行payoff生成公平推理矩阵,并运行story clues .查看从埋设到揭示的流程。story diagram clues - 惊悚小说:将每一个承诺的截止期限记录在 中,并为每个场景设置
continuity/promises/和date,使time能显示故事时钟。story timeline . - 连载作品:在 中记录
story.md,在每期的 frontmatter 中记录season-goal:,并在episode-question:中将发布节奏记录为story.md(天数,或release-every:这样的月数)和1 month(YYYY-MM-DD),也可在章节上记录release-start:。release-date:会显示下一期到期时间,并警告story next .(默认 3)内将到期但尚无正文的剧集。release-warn-days: - MG/YA:在 中记录
story.md,并检查类别约束(主角年龄、尽量减少成年人参与)。target-words: - 科幻小说:在高潮利用这些推想元素之前,先在 中写明其规则、代价和限制。
worldbuilding/systems/ - 奇幻小说:在 中写明魔法的规则、代价和限制(由
worldbuilding/systems/skill 设计),并将任务目标和任何预言记录在worldbuilding中。continuity/promises/ - 历史小说:在 中记录
story.md,在样式表中选定时代语域,并为情节所依赖的每项事实和每位真实人物建立setting-era笔记(由research/skill 负责);对情节涉及的任何在世或近期去世者运行research的真实人物审查。editorial-review - 喜剧:在 中记录喜剧子类型,在其
story.md部分记录基调界线(喜剧在哪里停止),在角色文件中记录每位喜剧主角的缺陷,并将读者期待看到回收的每个反复出现的笑点(running gag)或回扣作为一条承诺记录在## Tone & Style中。句子层面的喜剧节奏属于continuity/promises/skill。line-editing
- 推理小说:创建
- 依据结构包起草。 将结构包的节拍概念和规则与 工作流以及
chapter-writing的场景粒度工具结合使用。将惊悚小说的节奏与scene-craft中的 Fichtean curve 说明交叉关联,并使用references/thriller.md检查惊悚小说和连载作品的章节结尾(章节story pacing .值,以及连续出现hook结尾的情况);将连载作品的书级正典与resolutionskill 交叉关联。series-continuity - 在修订阶段运行结构包审校。 每份参考文件末尾都有一份审校清单。作为发展性修订流程的一部分运行该清单(参见 revision-continuity skill),并将发现记录在修订计划中。
- 记录类型决策。 对结构包有意作出的任何偏离(例如没有黑色时刻的爱情小说、有所保留的推理小说)都属于故事决策:在 中注明原因,以免后续审校将其“修正”。
story.md
Conventions
惯例
- Pack-specific entities use the project conventions: kebab-case ids,
YAML frontmatter, registries where a collection exists (
_index.mdfollows thecontinuity/clues/pattern).continuity/promises/ - Clue must precede
planted(payoffflags payoff-before- plant as an error); deadline promises follow the same ordering logic as promise/question ordering.story continuity - Clues carry the links: each clue names its and
plantedchapters and, underpayoff, the suspects it implicates or clears, andcharacterschecks those ids. Character files have no clue field; to list a suspect's clues, runstory links.story list clues --where characters={character-id} - Genre audits live in the revision plan or audit files — never only in chat.
continuity/
- 结构包特定实体遵循项目惯例:kebab-case id、YAML frontmatter,以及在存在集合时使用 注册表(
_index.md遵循continuity/clues/的模式)。continuity/promises/ - 线索的 必须早于
planted(payoff会将 payoff-before-plant 标记为错误);截止期限承诺遵循与承诺/问题排序相同的逻辑。story continuity - 线索携带链接:每条线索都指定其 和
planted章节,并在payoff下指定其指向或排除的嫌疑人,characters会检查这些 id。角色文件没有线索字段;要列出某位嫌疑人的线索,请运行story links。story list clues --where characters={character-id} - 类型审校结果应存放在修订计划或 审校文件中——绝不能只存在于聊天中。
continuity/
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, perform the registry, backlink, and word-count checks manually.
storynode ../story-maintenance/scripts/story.jsnode <checkout>/bin/story.jsstory.bunfig.toml.envAfter adding or changing genre entities (clues, deadlines, comic set-ups,
season goals, episode questions):
shell
story reindex .
story wordcount . --write
story check .
story clues . # mystery: fair-play matrix and warnings如果 Story CLI 可用,则使用它。如果未安装 ,使用随附的 fallback 并传入相同参数。仅当用户指定了 Story Skills 仓库检出目录,或者你正在该目录中工作时,才改用 。将脚本路径写为绝对路径(fallback 相对于此 skill 文件夹解析),并从你原本会运行 时所用的文件夹中执行它,这样 和其他相对路径的含义得以保留。使用 Node,而不是 Bun 或 package script:Bun 会加载该文件夹的 (其中可以运行代码)和 ,而 package script 会从检出目录的根目录运行。如果没有可用的 CLI,则手动执行注册表、反向链接和字数统计检查。
storynode ../story-maintenance/scripts/story.jsnode <checkout>/bin/story.jsstory.bunfig.toml.env添加或更改类型实体(线索、截止期限、喜剧铺垫、季目标、剧集问题)后:
shell
story reindex .
story wordcount . --write
story check .
story clues . # mystery: fair-play matrix and warningsReference Files
参考文件
- - Fair-play doctrine, clue-planting techniques, red-herring discipline (
references/mystery-fair-play.md), gather-suspects reveal, clue ledger convention, thered-herring: truefair-play matrix andstory cluesstory diagram clues - - Widely-published romance beat concepts (paraphrased), HEA/HFN reader contract, the black moment
references/romance-beats.md - - Ticking clock honored once promised, power imbalance, set pieces, mini-cliffhanger endings, Fichtean curve pairing
references/thriller.md - - Dread vs. terror vs. gross-out ordering, the uncanny, monster rules stated early, recovery periods
references/horror.md - - Word-count norms, age-appropriate voice/stakes, minimized adult involvement, content boundaries
references/mg-ya.md - - Speculative element must be load-bearing, rules stated before exploited, worldbuilding→plot pipeline
references/scifi-pipeline.md - - Quest and journey structure, magic rules stated before the climax relies on them, cost and limits, secondary-world exposition, chosen-one pitfalls
references/fantasy.md - - Period voice vs. readability, anachronism checks (things, words, ideas), invented vs. real people, ethics of the real past, the author's note
references/historical.md - - Escalation, reversals, comic set-ups and payoffs (call-backs, rule of three, running gags), character-driven humour (comic flaw, straight man and funny man, want vs. need), tone management and comic sub-genres; sentence-level timing handed to
references/comedy.mdline-editing - - Season/volume goal, per-episode dramatic question, a reward in every installment, recap discipline
references/serial-episodic.md
- - 公平推理原则、线索埋设技巧、红鲱鱼规范(
references/mystery-fair-play.md)、嫌疑人集合揭示、线索台账约定、red-herring: true公平推理矩阵与story cluesstory diagram clues - - 广泛出版的爱情小说节拍概念(经转述)、HEA/HFN 读者契约、黑色时刻
references/romance-beats.md - - 倒计时一经承诺即须兑现、权力失衡、重头戏、小型悬念结尾、Fichtean curve 配对
references/thriller.md - - 恐惧感、惊骇感与 gross-out(重口桥段)的排序、诡异感、提前明确的怪物规则、恢复期
references/horror.md - - 字数规范、适龄语体与风险尺度、尽量减少成年人参与、内容边界
references/mg-ya.md - - 推想元素必须起关键支撑作用、规则须在被利用前说明、worldbuilding→plot 流程
references/scifi-pipeline.md - - 任务与旅程结构、高潮依赖魔法前须先说明魔法规则、代价和限制、次世界说明、天选之子陷阱
references/fantasy.md - - 时代语体与可读性、时代错置检查(物品、词语、观念)、虚构人物与真实人物、真实历史的伦理、作者注
references/historical.md - - 升级递进、反转、喜剧铺垫与回收(回扣、三段式法则、反复出现的笑点)、人物驱动的幽默(喜剧缺陷、冷面角色与搞笑角色、want 与 need)、基调管理与喜剧子类型;句子层面的节奏交给
references/comedy.mdline-editing - - 季/卷目标、每集戏剧性问题、每期都有看点、回顾纪律
references/serial-episodic.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 时未同时安装 story-maintenance,导致该文件缺失,核心要求如下:kebab-case id 和文件名;每个故事项目文件都使用 YAML frontmatter;由 重建的 注册表(绝不手动编辑);实体之间的双向链接;用 表示实际登场的人物,用 表示仅被提及的人物;死亡标记为 加 ;不使用项目本地的生成器或构建脚本(只运行已安装或随附的 Story CLI)。
../story-maintenance/references/conventions.mdstory reindex_index.mdcharactersmentionsstatus: deceaseddied-in: chapter-{NN}