genre-craft

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Genre 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
story.md
. A plot structure (plot-structure) should exist or be in progress.
故事项目必须已经存在(通过 story-init skill 创建),且其类型已记录在
story.md
中。情节结构(plot-structure)应当已经存在或正在构建。

When 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
    better-writing
    skill's genre work); these packs are structural
  • NOT for literary fiction as a pack — its conventions resist deterministic encoding by design
  • 启动故事,或将故事重新归入所涵盖的某一类型
  • 规划对类型结构起关键支撑作用的元素(线索、倒计时、季目标)
  • 根据类型契约审校草稿
  • 不用于句子层面的类型语感(属于 better-writing skill 的类型创作工作);这些结构包只处理结构层面
  • 不提供文学小说结构包——其惯例按设计就难以进行确定性编码

Workflow

工作流

  1. Pick the pack. Read
    story.md
    for genre/sub-genre and load the matching reference:
    • 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) →
      references/comedy.md
      ; a cosy mystery not played for laughs needs only the mystery pack
    • 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
      story.md
      notes.
  2. Set the constraints up front. Apply the pack's structural requirements during planning:
    • Mystery: create
      continuity/clues/
      and ledger every clue and red herring via
      story add clue '...' --planted chapter-NN --payoff chapter-NN
      , with
      significance-delayed
      frontmatter where the reader sees the clue before understanding it and
      red-herring: true
      on misleading clues (
      story add clue '...' --red-herring
      ; their
      payoff
      is the chapter that debunks them). Run
      story clues .
      for the fair-play matrix and
      story diagram clues
      for the plant-to-reveal flow.
    • Thriller: log every promised deadline in
      continuity/promises/
      and give every scene a
      date
      and
      time
      , so
      story timeline .
      shows the story clock.
    • Serial: record
      season-goal:
      in
      story.md
      and
      episode-question:
      in each installment's frontmatter, and the release cadence as
      release-every:
      (days, or months such as
      1 month
      ) and
      release-start:
      (YYYY-MM-DD) in
      story.md
      , or
      release-date:
      on a chapter.
      story next .
      shows the next episode due and warns when one due within
      release-warn-days:
      (default 3) has no prose.
    • MG/YA: record
      target-words:
      in
      story.md
      and check the category constraints (protagonist age, minimized adult involvement).
    • Sci-fi: write the speculative element's rules, costs, and limits in
      worldbuilding/systems/
      before the climax exploits them.
    • Fantasy: write the magic's rules, costs, and limits in
      worldbuilding/systems/
      (the
      worldbuilding
      skill designs them) and log the quest goal and any prophecy in
      continuity/promises/
      .
    • Historical: record
      setting-era
      in
      story.md
      , the chosen period register in the style sheet, and a
      research/
      note (the
      research
      skill) for every fact the plot leans on and every real person; run the
      editorial-review
      real-people pass for anyone living or recently dead.
    • Comedy: record the comic sub-genre in
      story.md
      , the tone line (where comedy stops) in its
      ## Tone & Style
      section, 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
      continuity/promises/
      . Sentence-level comic timing belongs to the
      line-editing
      skill.
  3. Draft against the pack. Use the pack's beat concepts and rules alongside the
    chapter-writing
    workflow and the
    scene-craft
    scene-grain tools. Cross-link thriller pacing to the Fichtean curve note in
    references/thriller.md
    , and check thriller and serial chapter endings with
    story pacing .
    (chapter
    hook
    values, and runs of
    resolution
    endings); cross-link serial book-level canon to the
    series-continuity
    skill.
  4. Run the pack audit in revision. Each reference ends with an audit checklist. Run it as part of a developmental revision pass (see the
    revision-continuity
    skill) and record findings in the revision plan.
  5. 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
    story.md
    with the reason, so later audits don't "fix" it.
  1. 选择结构包。 读取
    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
      的备注中。
  2. 预先设置约束。 在规划阶段应用该结构包的结构要求:
    • 推理小说:创建
      continuity/clues/
      ,并通过
      story add clue '...' --planted chapter-NN --payoff chapter-NN
      在台账中记录每条线索和红鲱鱼;对于读者会先看到线索、但要到之后才理解其含义的情况,使用
      significance-delayed
      frontmatter;对误导性线索设置
      red-herring: true
      (
      story add clue '...' --red-herring
      ;其
      payoff
      是揭穿它的章节)。运行
      story clues .
      生成公平推理矩阵,并运行
      story diagram clues
      查看从埋设到揭示的流程。
    • 惊悚小说:将每一个承诺的截止期限记录在
      continuity/promises/
      中,并为每个场景设置
      date
      和
      time
      ,使
      story timeline .
      能显示故事时钟。
    • 连载作品:在
      story.md
      中记录
      season-goal:
      ,在每期的 frontmatter 中记录
      episode-question:
      ,并在
      story.md
      中将发布节奏记录为
      release-every:
      (天数,或
      1 month
      这样的月数)和
      release-start:
      (YYYY-MM-DD),也可在章节上记录
      release-date:
      。
      story next .
      会显示下一期到期时间,并警告
      release-warn-days:
      (默认 3)内将到期但尚无正文的剧集。
    • MG/YA:在
      story.md
      中记录
      target-words:
      ,并检查类别约束(主角年龄、尽量减少成年人参与)。
    • 科幻小说:在高潮利用这些推想元素之前,先在
      worldbuilding/systems/
      中写明其规则、代价和限制。
    • 奇幻小说:在
      worldbuilding/systems/
      中写明魔法的规则、代价和限制(由
      worldbuilding
      skill 设计),并将任务目标和任何预言记录在
      continuity/promises/
      中。
    • 历史小说:在
      story.md
      中记录
      setting-era
      ,在样式表中选定时代语域,并为情节所依赖的每项事实和每位真实人物建立
      research/
      笔记(由
      research
      skill 负责);对情节涉及的任何在世或近期去世者运行
      editorial-review
      的真实人物审查。
    • 喜剧:在
      story.md
      中记录喜剧子类型,在其
      ## Tone & Style
      部分记录基调界线(喜剧在哪里停止),在角色文件中记录每位喜剧主角的缺陷,并将读者期待看到回收的每个反复出现的笑点(running gag)或回扣作为一条承诺记录在
      continuity/promises/
      中。句子层面的喜剧节奏属于
      line-editing
      skill。
  3. 依据结构包起草。 将结构包的节拍概念和规则与
    chapter-writing
    工作流以及
    scene-craft
    的场景粒度工具结合使用。将惊悚小说的节奏与
    references/thriller.md
    中的 Fichtean curve 说明交叉关联,并使用
    story pacing .
    检查惊悚小说和连载作品的章节结尾(章节
    hook
    值,以及连续出现
    resolution
    结尾的情况);将连载作品的书级正典与
    series-continuity
    skill 交叉关联。
  4. 在修订阶段运行结构包审校。 每份参考文件末尾都有一份审校清单。作为发展性修订流程的一部分运行该清单(参见 revision-continuity skill),并将发现记录在修订计划中。
  5. 记录类型决策。 对结构包有意作出的任何偏离(例如没有黑色时刻的爱情小说、有所保留的推理小说)都属于故事决策:在
    story.md
    中注明原因,以免后续审校将其“修正”。

Conventions

惯例

  • Pack-specific entities use the project conventions: kebab-case ids, YAML frontmatter,
    _index.md
    registries where a collection exists (
    continuity/clues/
    follows the
    continuity/promises/
    pattern).
  • Clue
    planted
    must precede
    payoff
    (
    story continuity
    flags payoff-before- plant as an error); deadline promises follow the same ordering logic as promise/question ordering.
  • Clues carry the links: each clue names its
    planted
    and
    payoff
    chapters and, under
    characters
    , the suspects it implicates or clears, and
    story links
    checks those ids. Character files have no clue field; to list a suspect's clues, run
    story list clues --where characters={character-id}
    .
  • Genre audits live in the revision plan or
    continuity/
    audit files — never only in chat.
  • 结构包特定实体遵循项目惯例:kebab-case id、YAML frontmatter,以及在存在集合时使用
    _index.md
    注册表(
    continuity/clues/
    遵循
    continuity/promises/
    的模式)。
  • 线索的
    planted
    必须早于
    payoff
    (
    story continuity
    会将 payoff-before-plant 标记为错误);截止期限承诺遵循与承诺/问题排序相同的逻辑。
  • 线索携带链接:每条线索都指定其
    planted
    和
    payoff
    章节,并在
    characters
    下指定其指向或排除的嫌疑人,
    story links
    会检查这些 id。角色文件没有线索字段;要列出某位嫌疑人的线索,请运行
    story list clues --where characters={character-id}
    。
  • 类型审校结果应存放在修订计划或
    continuity/
    审校文件中——绝不能只存在于聊天中。

CLI Maintenance

CLI 维护

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, perform the registry, backlink, and word-count checks manually.
After 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 可用,则使用它。如果未安装
story
,使用随附的 fallback
node ../story-maintenance/scripts/story.js
并传入相同参数。仅当用户指定了 Story Skills 仓库检出目录,或者你正在该目录中工作时,才改用
node <checkout>/bin/story.js
。将脚本路径写为绝对路径(fallback 相对于此 skill 文件夹解析),并从你原本会运行
story
时所用的文件夹中执行它,这样
.
和其他相对路径的含义得以保留。使用 Node,而不是 Bun 或 package script:Bun 会加载该文件夹的
bunfig.toml
(其中可以运行代码)和
.env
,而 package script 会从检出目录的根目录运行。如果没有可用的 CLI,则手动执行注册表、反向链接和字数统计检查。
添加或更改类型实体(线索、截止期限、喜剧铺垫、季目标、剧集问题)后:
shell
story reindex .
story wordcount . --write
story check .
story clues .     # mystery: fair-play matrix and warnings

Reference Files

参考文件

  • references/mystery-fair-play.md
    - Fair-play doctrine, clue-planting techniques, red-herring discipline (
    red-herring: true
    ), gather-suspects reveal, clue ledger convention, the
    story clues
    fair-play matrix and
    story diagram clues
  • references/romance-beats.md
    - Widely-published romance beat concepts (paraphrased), HEA/HFN reader contract, the black moment
  • references/thriller.md
    - Ticking clock honored once promised, power imbalance, set pieces, mini-cliffhanger endings, Fichtean curve pairing
  • references/horror.md
    - Dread vs. terror vs. gross-out ordering, the uncanny, monster rules stated early, recovery periods
  • references/mg-ya.md
    - Word-count norms, age-appropriate voice/stakes, minimized adult involvement, content boundaries
  • references/scifi-pipeline.md
    - Speculative element must be load-bearing, rules stated before exploited, worldbuilding→plot pipeline
  • references/fantasy.md
    - Quest and journey structure, magic rules stated before the climax relies on them, cost and limits, secondary-world exposition, chosen-one pitfalls
  • references/historical.md
    - Period voice vs. readability, anachronism checks (things, words, ideas), invented vs. real people, ethics of the real past, the author's note
  • references/comedy.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
    line-editing
  • references/serial-episodic.md
    - Season/volume goal, per-episode dramatic question, a reward in every installment, recap discipline
  • references/mystery-fair-play.md
    - 公平推理原则、线索埋设技巧、红鲱鱼规范(
    red-herring: true
    )、嫌疑人集合揭示、线索台账约定、
    story clues
    公平推理矩阵与
    story diagram clues
  • references/romance-beats.md
    - 广泛出版的爱情小说节拍概念(经转述)、HEA/HFN 读者契约、黑色时刻
  • references/thriller.md
    - 倒计时一经承诺即须兑现、权力失衡、重头戏、小型悬念结尾、Fichtean curve 配对
  • references/horror.md
    - 恐惧感、惊骇感与 gross-out(重口桥段)的排序、诡异感、提前明确的怪物规则、恢复期
  • references/mg-ya.md
    - 字数规范、适龄语体与风险尺度、尽量减少成年人参与、内容边界
  • references/scifi-pipeline.md
    - 推想元素必须起关键支撑作用、规则须在被利用前说明、worldbuilding→plot 流程
  • references/fantasy.md
    - 任务与旅程结构、高潮依赖魔法前须先说明魔法规则、代价和限制、次世界说明、天选之子陷阱
  • references/historical.md
    - 时代语体与可读性、时代错置检查(物品、词语、观念)、虚构人物与真实人物、真实历史的伦理、作者注
  • references/comedy.md
    - 升级递进、反转、喜剧铺垫与回收(回扣、三段式法则、反复出现的笑点)、人物驱动的幽默(喜剧缺陷、冷面角色与搞笑角色、want 与 need)、基调管理与喜剧子类型;句子层面的节奏交给
    line-editing
  • references/serial-episodic.md
    - 季/卷目标、每集戏剧性问题、每期都有看点、回顾纪律

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).
每个 story skill 都遵循
../story-maintenance/references/conventions.md
中的共享惯例,该路径相对于此 skill 文件夹解析。在创建、重命名或链接故事文件之前阅读它。如果安装此 skill 时未同时安装 story-maintenance,导致该文件缺失,核心要求如下:kebab-case id 和文件名;每个故事项目文件都使用 YAML frontmatter;由
story reindex
重建的
_index.md
注册表(绝不手动编辑);实体之间的双向链接;用
characters
表示实际登场的人物,用
mentions
表示仅被提及的人物;死亡标记为
status: deceased
加
died-in: chapter-{NN}
;不使用项目本地的生成器或构建脚本(只运行已安装或随附的 Story CLI)。