WRITING — Narrative Operating System
Philosophy
Story is a living system, not a sequence of events. This skill treats a narrative world the way an OS treats a file system: every element has a type, a location in the hierarchy, a set of relationships, and a state. Writing tasks are operations on that system — create, read, update, resolve, link.
The atomic unit of story is not the scene. It is the gap — the unresolved tension between what a character needs, what they do, and what the world gives back. All structure exists to surface, hold, and eventually close gaps.
Hierarchy of Narrative Units
From smallest to largest:
CODEBLOCK0
Definitions
| Unit | Definition | Key Property |
|---|
| Moment | A single beat of perception, action, or feeling | Has a before and after state |
| Interaction |
Two or more entities in contact; causes at least one state change | Requires at least one character |
|
Scene | A contained unit of space, time, and purpose | Has a single dramatic question |
|
Sequence | A chain of scenes with a shared throughline | Has rising or falling pressure |
|
Chapter | A named, bounded section of a story | Has an opening posture and closing posture |
|
Story | A complete arc from imbalance to resolution | Has a protagonist with a want and a wound |
|
Story Cluster | A franchise, series, or universe of related stories | Has a governing mythology and shared entity registry |
System Components
1. CHARACTER REGISTRY
Every character is a record with the following fields:
CODEBLOCK1
2. SETTING REGISTRY
CODEBLOCK2
3. MOTIF REGISTRY
CODEBLOCK3
4. PLOT REGISTRY
Plots are tracked at two levels: local (within a story) and overarching (across stories in a cluster).
CODEBLOCK4
Overarching Plot Board
When operating at story cluster scale, maintain a board of all active overarching plots:
CODEBLOCK5
Plots are organized by their interaction gap density — overarching plots with the most characters who have never shared a scene are prioritized for development, since those gaps represent the highest-yield unwritten territory.
5. THEME MAP
CODEBLOCK6
Gap Analysis Engine
The most important function of this skill is gap detection — finding the unwritten interactions that the story needs.
Character Interaction Matrix
When working at story or cluster scale, build a matrix of all characters and flag pairs who have never shared a scene:
CODEBLOCK7
INLINECODE0 cells = gap candidates. When suggesting new scenes or chapters, prioritize pairings from the ✗ cells — especially when both characters share a thematic resonance or are on collision-course arcs.
Plot Gap Check
For every active plot, verify:
- - Has it been seeded in a scene? If not → write the seed.
- Has it been complicated? If not → find the right moment.
- Has it been resolved or consciously left open? If neither → flag.
Emotional Arc Continuity Check
For every character, verify their emotional arc has:
- - A legible opening state
- At least one scene that applies pressure
- A transformation that is earned (has visible cause in the scene log)
- A closing state that differs meaningfully from the opening
Writing Operations
CREATE CHARACTER [name]
Populate all CHARACTER fields. Generate emotional arc and thematic resonance track. Add to registry. Run gap analysis to find existing scenes where this character could or should appear.
WRITE SCENE [dramatic question]
Before writing: identify which characters are present, which plot thread this advances, which motifs should appear, and what the scene's opening and closing postures are. After writing: update interaction logs, plot thread lists, and motif recurrences.
WRITE SEQUENCE [throughline]
Chain scenes with a shared escalation. Label the pressure curve: where does tension peak, where does it release, and what new gap does it open?
WRITE CHAPTER [name]
Define opening posture (what the reader/audience carries in) and closing posture (what they carry out). Chapters should end with a state change — not necessarily resolution, but a shift.
PLAN STORY [title]
- - Define protagonist want, wound, need, fear
- Map overarching plot position
- Build chapter spine (opening posture → closing posture for each)
- Run character interaction matrix
- Identify top 3 gap-priority scenes to develop first
EXPAND STORY CLUSTER [universe name]
- - Audit all existing stories for unresolved overarching plots
- Run full interaction matrix across all characters
- Identify which character pairings have the highest thematic charge and have never met
- Propose next story based on gap density + overarching plot advancement
Narrative Consistency Rules
- 1. Characters do not change without cause. Every transformation must have a traceable scene that triggered it.
- Motifs earn their meaning through repetition and variation. A motif that appears once is decoration. One that appears three times with variation is architecture.
- Every scene has a dramatic question. If you cannot state it in one sentence, the scene lacks a spine.
- Overarching plots are not subplots. They run beneath the local plot like groundwater — felt but rarely surfaced directly.
- Gap is not absence. A character who never meets another character is an unspent charge. The story is incomplete until it discharges or consciously holds.
- Theme is a pressure, not a message. The theme map describes what the story is wrestling with, not what it concludes.
Output Formats
| Request | Default Output |
|---|
| New character | Filled CHARACTER record + emotional arc + thematic resonance track |
| New scene |
Scene prose + updated interaction log entries + motif notes |
| Plot planning | Plot record + thread list + gap check |
| Gap analysis | Interaction matrix + top 5 gap-priority pairings with rationale |
| Chapter planning | Opening/closing postures + scene list + arc notes per character present |
| Story planning | Full spine with chapter postures + interaction matrix + top gap scenes |
| Cluster expansion | Overarching plot board + gap matrix + next story proposal |
Example: Character Record
CODEBLOCK8
Notes
- - This skill does not overwrite authorial voice. It surfaces structure so the author can make informed choices.
- When in doubt, surface the gap rather than fill it. The author decides when a gap becomes a scene.
- Character records should be treated as living documents — updated after every scene is written.
- Overarching plots should be reviewed at the start of every new story in the cluster.
写作 — 叙事操作系统
哲学
故事是一个生命系统,而非一系列事件的集合。本技能将叙事世界视为操作系统处理文件系统的方式:每个元素都有类型、层级位置、关系集和状态。写作任务是对该系统的操作——创建、读取、更新、解决、链接。
故事的原子单位不是场景。它是缺口——角色需求、角色行动与世界反馈之间未解决的张力。所有结构的存在都是为了浮现、维持并最终闭合缺口。
叙事单位层级
从小到大:
瞬间
└─ 互动
└─ 场景
└─ 序列
└─ 章节
└─ 故事
└─ 故事集群(系列/剧集/宇宙)
定义
| 单位 | 定义 | 关键属性 |
|---|
| 瞬间 | 感知、行动或情感的单一节拍 | 具有前后状态 |
| 互动 |
两个或更多实体接触;导致至少一次状态变化 | 需要至少一个角色 |
|
场景 | 包含空间、时间和目的的单位 | 具有单一戏剧性问题 |
|
序列 | 具有共同主线的场景链 | 具有上升或下降的压力 |
|
章节 | 故事中命名且有边界的部分 | 具有开场姿态和收场姿态 |
|
故事 | 从失衡到解决的完整弧线 | 具有带有渴望和创伤的主角 |
|
故事集群 | 相关故事组成的系列、剧集或宇宙 | 具有统御神话和共享实体注册表 |
系统组件
1. 角色注册表
每个角色都是一个包含以下字段的记录:
角色
id: [唯一标识符,例如 dime、penny、asha]
全名: 字符串
角色类型: 主角 | 反派 | 衬托 | 催化剂 | 见证者 | 群像
创伤: 他们带入故事的未愈合之物
渴望: 他们有意识追求的东西
需求: 真正能治愈他们的东西(可能与渴望冲突)
恐惧: 他们会不惜代价避免的东西
声音: 一句话描述他们说话和思考的方式
情感弧线:
开场状态: 故事开始时的情感/心理状态
压力点: 迫使变化的瞬间列表
转变: 发生的变化(可能是正面、负面或模糊的)
收场状态: 故事结束时的情感/心理状态
主题共鸣轨迹:
核心主题: 该角色体现或挑战的主题
母题: 与该角色相关的反复出现的图像、短语或行为
象征物: [可选]承载其意义的实体物品
弧线色彩: 情感基调的一词描述(例如琥珀色、冰冷、铁锈色)
互动日志:
[该角色出现的场景ID列表,自动填充]
缺口标记:
[自动检测:该角色逻辑上应出现但未出现的场景]
2. 设定注册表
设定
id: 字符串标识符
名称: 字符串
类型: 室内 | 室外 | 阈限 | 象征
氛围: 主导的感官和情感质感
历史: 故事开始前这里发生过什么
主题负荷: 这个地方在世界象征逻辑中的意义
关联角色: [属于或受此地影响的角色ID列表]
场景设定于此: [场景ID列表,自动填充]
3. 母题注册表
母题
id: 字符串标识符
形式: 图像 | 短语 | 手势 | 声音 | 颜色 | 数字 | 物体
描述: 它是什么
首次出现: 它进入的场景ID
重复出现: [场景ID列表及每次出现的方式]
解决: 它闭合或转变的场景ID(可能保持开放)
主题关联: 它服务于哪个主题或角色弧线
4. 情节注册表
情节在两个层面追踪:局部(故事内)和总体(故事集群内)。
情节
id: 字符串标识符
类型: 局部 | 总体
梗概: 一句话:[角色]想要[X]因为[Y]但[障碍]
状态: 已播种 | 活跃中 | 高潮中 | 已解决 | 已放弃
开始于: 故事ID(总体情节则为列表)
结束于: 故事ID(未解决则为空)
线索: [推进该情节的场景ID列表]
缺口检查: [该情节应出现但未出现的场景——标记待审]
总体情节板
在故事集群规模操作时,维护所有活跃总体情节的面板:
总体情节板
[情节ID] | [梗概] | [状态] | [涉及故事] | [解决目标]
情节按其互动缺口密度组织——拥有最多从未共享场景角色的总体情节优先发展,因为这些缺口代表了最高产出的未写领域。
5. 主题地图
主题
id: 字符串标识符
陈述: 完整句子,而非名词(例如忠诚与控制无法区分)
体现角色: [列表]
挑战角色: [列表]
服务母题: [列表]
明确出现场景: [列表——谨慎使用;主题通常更适合展示]
解决姿态: 肯定 | 复杂化 | 颠覆 | 保持开放
缺口分析引擎
本技能最重要的功能是缺口检测——找到故事所需的未写互动。
角色互动矩阵
在故事或集群规模工作时,构建所有角色的矩阵,标记从未共享场景的角色对:
| 角色A | 角色B | 角色C | 角色D |
角色A | — | ✓ | ✗ | ✓ |
角色B | ✓ | — | ✓ | ✗ |
角色C | ✗ | ✓ | — | ✗ |
角色D | ✓ | ✗ | ✗ | — |
✗ 单元格 = 缺口候选。在建议新场景或章节时,优先考虑 ✗ 单元格中的配对——特别是当两个角色共享主题共鸣或处于碰撞轨迹弧线时。
情节缺口检查
对每个活跃情节,验证:
- - 是否已在场景中播种?如果没有 → 写入种子。
- 是否已复杂化?如果没有 → 找到合适的时机。
- 是否已解决或有意识地保持开放?如果两者都不是 → 标记。
情感弧线连续性检查
对每个角色,验证其情感弧线具有:
- - 清晰的开场状态
- 至少一个施加压力的场景
- 一个应得的转变(在场景日志中有可见原因)
- 与开场状态有显著差异的收场状态
写作操作
创建角色 [名称]
填充所有角色字段。生成情感弧线和主题共鸣轨迹。添加到注册表。运行缺口分析,找到该角色可能或应该出现的现有场景。
写场景 [戏剧性问题]
写作前:确定哪些角色在场,推进哪条情节线索,哪些母题应出现,以及场景的开场和收场姿态。写作后:更新互动日志、情节线索列表和母题重复出现记录。
写序列 [主线]
串联具有共同升级过程的场景。标注压力曲线:张力在哪里达到顶峰,在哪里释放,打开了什么新缺口。
写章节 [名称]
定义开场姿态(读者/观众带入什么)和收场姿态(他们带出什么)。章节应以状态变化结束——不一定是解决,但要有转变。
规划故事 [标题]
- - 定义主角的渴望、创伤、需求、恐惧
- 映射总体情节位置
- 构建章节骨架(每个章节的开场姿态 → 收场姿态)
- 运行角色互动矩阵
- 确定优先发展的前3个缺口优先级场景
扩展故事集群 [宇宙名称]
- - 审计所有现有故事中未解决的总体情节
- 在所有角色间运行完整互动矩阵
- 确定哪些角色配对具有最高主题负荷且从未相遇
- 基于缺口密度和总体情节推进提出下一个故事
叙事一致性规则
- 1. 角色不会无故改变。 每个转变必须有可追溯的触发场景。
- 母题通过重复和变化获得意义。 出现一次的母题是装饰。出现三次且有变化的母题是架构。
- 每个场景都有戏剧性问题。 如果无法用一句话表述,场景缺乏骨架。
- 总体情节不是支线情节。 它们像地下水一样在局部情节之下流动——能被感知但很少直接浮现。
- 缺口不是缺失。 一个从未遇见另一个角色的角色是未释放的电荷。故事在它被释放或有意识地保持之前是不完整的。
- 主题是压力,而非信息。 主题地图描述故事在挣扎什么,而非它得出了什么结论。
输出格式
填充的角色记录 + 情感弧