mcpField
S
scene-sequencing

scene-sequencing

github.com/jwynia创意与媒体179497 次安装35 周前更新
代码仓库

关于 scene-sequencing

scene-sequencing 是面向作者的场景结构与叙事节奏诊断技能,采用场景与后续段落的节奏模型,并提供脚本检测文本中的结构要素。

主要功能

  1. 01检查场景目标、冲突与结果
  2. 02分析反应、困境与决定
  3. 03场景与后续段落的节奏指导
  4. 04场景文本分析脚本
  5. 05将节奏诊断保存到文件

适用场景

  1. 01诊断情节平淡的场景
  2. 02平衡动作与反思段落
  3. 03检查场景之间的衔接

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jwynia/agent-skills --skill scene-sequencing

安装后在 Claude Code 中输入/scene-sequencing确认已加载。

附带文件scripts/analyze-scene.ts

详细介绍

场景编排:节奏技巧

你将帮助作者运用场景—后续段落的节奏模式来组织场景、控制叙事节奏。

核心原则

节奏的基本单位不只是场景,而是场景与后续段落组成的一对。 场景制造张力,后续段落消化张力。两者交替形成起伏,让故事读起来更流畅。

场景结构:目标 → 冲突 → 灾难

目标

POV 角色在这个场景中想要什么?

  • 具体而明确
  • 能在场景中实现
  • 与更大的故事目标相关
  • 在开头几拍内让读者明白
冲突

对目标的阻碍会在场景中逐步升级。

  • 目标不同的其他角色
  • 环境障碍或时间压力
  • 内心阻力(恐惧、怀疑、价值观)

静态的冲突很无聊。每一拍都应让目标更难实现。

灾难

场景以以下某种结果结束(按叙事效果从强到弱排列):

  1. 是,但是…… — 目标实现了,却引发新的问题(最有力)
  2. 不,而且…… — 目标失败,情况变得更糟
  3. 不 — 目标失败,必须再试一次
  4. 是 — 目标顺利实现(少用——会削弱张力)

后续段落结构:反应 → 困境 → 决定

反应

对灾难的情绪反应。让读者得以:

  • 消化发生的事
  • 感受角色的情绪状态
  • 在高张力场景之间喘口气

可以很短(一句话),也可以很长(数页)。

困境

角色面临一个没有好选项的抉择。之前的灾难已经:

  • 封堵了一些道路
  • 揭示了新信息
  • 造成了相互冲突的优先事项

困境必须让人觉得确实难以抉择。

决定

角色决心采取行动,这将成为下一个场景的目标。

节奏控制

场景与后续段落的比例决定了节奏:

场景更多后续段落更多
节奏快节奏慢
动作密集侧重反思
惊悚片的感觉文学作品的感觉
让读者屏息让读者沉思

关键技巧: 压缩或扩展后续段落来控制节奏。场景按自然长度展开;后续段落是你控制节奏的杠杆。

场景层面的诊断

缺少目标

“角色在这里想要什么?”

  • 如果你无法清楚回答,场景就缺乏方向
  • 修正:在第一段确立目标
冲突静止

“阻力是否在升级?”

  • 如果冲突始终维持在同一水平,场景会显得平淡
  • 修正:让每一拍都增加实现目标的难度
灾难乏力

“结果是否太顺利?”

  • 以“是”收尾却没有任何复杂情况,会削弱张力
  • 修正:加上一个“但是”或“而且……”
缺少后续段落

“上一场景的后果是否得到了消化?”

  • 场景之间直接跳转、没有后续段落,会让读者疲惫
  • 修正:即使只是简短的反应段落,也会有所帮助
后续段落过多

“是否沉溺于反应?”

  • 缺乏行动的长篇内省会拖慢节奏
  • 修正:压缩到必要的节拍,然后转向决定

场景中的写作模式

模式最适合常见于
动作场景冲突场景
对话角色互动场景
描写场景设置、放慢节奏场景开头、后续段落
内省消化事件后续段落
概述压缩时间场景之间

模式应与功能相符。后续段落中的动作会显得仓促。动作场景中的内省会削弱节奏。

你要做的事

  1. 询问目标 — 角色在这个场景中想要什么?
  2. 检查升级 — 冲突是否在加剧?
  3. 审视灾难 — 结果是否太顺利?
  4. 找到后续段落 — 是否留出了消化的时间?
  5. 梳理比例 — 场景更多还是后续段落更多?这是否符合预期?
  6. 追踪衔接 — 决定是否引出下一个场景的目标?

你不要做的事

  • 规定具体的场景长度
  • 强制套用僵化模板
  • 要求每个场景后都必须有后续段落(节奏各不相同)
  • 决定场景中应该发生什么

交互示例

作者:“我觉得故事中段读起来很累,但不知为何节奏又很慢。”

你的处理方式:

  1. 询问:“带我梳理一下典型章节——发生了什么?”
  2. 检查是否场景接连不断:“动作场景之间有留给角色消化的时间吗?”
  3. 检查场景目标:“你写的上一场戏里,角色想要什么?”
  4. 探究灾难的质量:“那场戏是怎么结束的?角色得到想要的了吗?”
  5. 如果是轻松取胜:“这可能会削弱紧张感。你能加上什么‘但是’?”
  6. 如果缺少后续场景:“在下一场戏之前加上一段反应描写,就能帮助读者跟上情节。”

反模式

1. 连绵不断的场景

**模式:**只有纯粹的动作,没有消化时间——一场接一场的冲突,却没有后续场景的节拍。 **失败原因:**读者会变得麻木。没有消化时间,情感利害关系就会变得平淡。每场新灾难带来的冲击都会递减,读者也无法跟上。 **改进方法:**即使是节奏很快的故事,也要插入后续场景的节拍。即便只加一段反应描写也有帮助。精简没有问题;删掉则会让人疲惫。

2. 沉溺于情绪的后续场景

**模式:**角色反复打转、迟迟不做决定,内心独白持续数页。 **失败原因:**读者会失去耐心。后续场景的作用是消化并做出决定,而非沉溺其中。没有朝着决定推进的行动,内省就会变成自我陶醉。 **改进方法:**困境必须导向决定,决定必须导向行动。为后续场景设定时限。如果角色没有朝着选择前进,就精简或删去这部分。

3. 突兀的灾难

**模式:**场景结果与场景事件脱节——灾难凭空出现,只为制造戏剧性。 **失败原因:**读者会察觉到作者在操控情节。灾难应当是冲突的合理后果,而不是作者强行介入。缺乏铺垫的灾难会破坏读者的信任。 **改进方法:**逆向追溯这条因果链。场景冲突是如何合乎逻辑地导致这场灾难的?如果你答不上来,那这场灾难就是突兀的。重塑冲突,为灾难做好铺垫。

4. 轻松取胜

**模式:**角色达成目标,没有任何波折——场景以简单的“是”告终。 **失败原因:**轻松取胜会削弱紧张感。每一次毫无附带条件的成功,都会让下一次挑战显得没那么危险。读者也就不再担心。 **改进方法:**加上一个“但是”或“而且更糟的是”。目标达成了,但也引发了新问题。胜利到手了,但付出的代价超出预期。简单的成功很少见;波折才是常态。

5. 缺少目标

**模式:**场景一开始,角色的目标就不明确——事情虽然发生了,却没有推动力。 **失败原因:**没有目标,就没有冲突(无事可阻)。没有冲突,就没有灾难(无事会失败)。场景会变成描述,而不是故事。 **改进方法:**在第一段中确立目标。视角角色在这个场景中具体想要什么?如果你无法清楚回答,说明场景缺乏方向。

可用工具

analyze-scene.ts

分析场景文本中的结构要素。需要快速诊断某个具体场景时使用。

# Analyze a scene file
deno run --allow-read scripts/analyze-scene.ts scene.txt

# Analyze text directly
deno run --allow-read scripts/analyze-scene.ts --text "She needed to find the key..."

# Get JSON output for further processing
deno run --allow-read scripts/analyze-scene.ts scene.txt --json

检测内容:

  • 目标指示词(想要、需要、尝试)
  • 冲突指示词(但是、受阻、障碍)
  • 灾难指示词(失败、情况更糟、被困)
  • 反应指示词(感到、情绪、震惊)
  • 困境指示词(选择、二选一、如果……会怎样)
  • 决定指示词(决定、将要、计划)

输出包括:

  • 场景/后续场景比例评估
  • 节奏分类(动作密集型、平衡型、反思型)
  • 缺失要素警告
  • 具体建议

使用时机:

  • 快速诊断草稿中的场景
  • 找出某个场景读起来不对劲的原因
  • 检查多个场景之间的节奏
  • 深入分析前获取具体建议

输出持久化

此技能会将主要输出写入文件,以便在不同会话中继续使用。

输出发现

开始任何其他工作之前:

  1. 检查项目中是否存在 context/output-config.md
  2. 如果存在,查找此技能的条目
  3. 如果不存在或没有此技能的条目,先询问用户:
    • “这次场景排序会话的输出应保存到哪里?”
    • 建议:explorations/pacing/,或项目中合适的位置
  4. 保存用户的偏好:
    • 如果存在上下文网络,保存到 context/output-config.md
    • 否则,保存到项目根目录的 .scene-sequencing-output.md
主要输出

对于此技能,保存:

  • 节奏诊断——场景与后续段落的平衡、节奏问题
  • 场景分析——每个场景的目标、冲突、灾难
  • 后续段落分析——反应、困境、决策要素
  • 建议——针对节奏问题的具体干预措施
对话与文件
保存到文件保留在对话中
逐场景拆解对具体场景的讨论
节奏诊断澄清问题
建议的干预措施作者的结构决策
场景与后续段落比例评估实时反馈
文件命名

格式:{story}-pacing-{date}.md 示例:novel-chapter5-pacing-2025-01-15.md

集成

输入(提供给此技能)
技能提供内容
story-sense关于节奏是问题所在的诊断
key-moments需要通过场景结构呈现的情感节拍
outline-collaborator用于节奏分析的场景级结构
输出(此技能支持)
技能提供内容
drafting节奏恰当、可供生成正文的场景
story-collaborator用于生成正文的场景结构
revision用于修订轮次的节奏诊断
互补技能
技能关系
key-momentskey-moments 确定哪些情感节拍至关重要;scene-sequencing 则安排如何呈现这些节拍
dialoguescene-sequencing 处理场景级结构;dialogue 则在场景内处理对话层面的交流

评论

支持 Markdown