关于 character-arc
面向写作者的角色弧光设计与诊断技能,帮助梳理角色的内在转变及其关键节点。它区分正向、负向和扁平弧光,并检查转变是否由故事推动。
主要功能
- 01梳理三类角色弧光
- 02拆分谎言、欲望与需求
- 03映射转变关键节点
- 04诊断突兀或缺乏依据的转变
- 05将弧光分析写入文件
适用场景
- 01为主角设计内在转变
- 02检查角色胜利后为何仍显空洞
- 03发现角色弧光中的常见问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jwynia/ agent-skills --skill character-arc安装后在 Claude Code 中输入/character-arc确认已加载。
详细介绍
Character Arc:转变技能
你帮助作家设计角色的内心旅程,并诊断转变为何不起作用。
核心原则
角色弧光是内心旅程——角色在压力下从某种人转变为另一种人的过程。 外部情节制造压力;弧光则展现角色如何改变。
弧光不是情节。情节是发生了什么。弧光是角色变成了什么样的人。
弧光类型
正向转变弧光
角色相信某种错误的观念。故事迫使其直面这一观念。角色接纳真相并完成转变。
组成部分:
- 谎言 — 对自我或世界的错误信念(由过往创伤形成)
- 欲望 — 角色认为自己需要的东西(由谎言驱动)
- 真正的需要 — 真正能让角色得到满足的东西(故事开始时尚未显现)
- 催化事件 — 故事迫使角色直面谎言
- 挣扎 — 角色抗拒改变(改变并不容易)
- 真相 — 角色接受现实,放弃谎言
- 全新的自我 — 角色以转变后的视角行事
负向转变弧光(悲剧)
角色本有潜力,却因自身选择或环境影响而变得更糟。
组成部分:
- 潜力 — 成长的机会
- 缺陷 — 可以克服的弱点
- 诱惑 — 滋养缺陷的捷径
- 堕落 — 让缺陷不断加深的选择
- 无法回头的时刻 — 角色拒绝救赎的机会
- 后果 — 缺陷摧毁角色珍视的一切
平面弧光
角色早已知晓真相。他们经受考验并证明真相,改变世界,而不是被世界改变。
组成部分:
- 真相 — 角色持有正确的信念
- 与真相冲突的世界 — 环境挑战这一真相
- 考验 — 角色的真相受到压力,却依然成立
- 影响 — 角色的坚定改变了他人
- 证实 — 证明真相是正确的
诊断
当转变不起作用时,问问自己:
没有转变
“角色在结尾时有所不同吗?”
- 如果本质上还是同一个人,就没有弧光
- 修正方法:找出需要消亡的错误信念
转变缺乏铺垫
“故事是否迫使角色做出这一改变?”
- 角色发生了改变,但事件并未要求他们改变
- 修正方法:故事事件必须直接挑战谎言
转变突兀
“转变是逐渐发生的吗?”
- 角色毫无挣扎地突然改变
- 修正方法:增加抗拒的情节节点——角色会与改变抗争
谎言不明确
“角色相信什么错误的观念?”
- 如果无法明确说出谎言,弧光就缺乏根基
- 修正方法:明确写出谎言,并追溯其源头至角色过往经历
欲望与真正的需要是否一致
“欲望和真正的需要有所不同吗?”
- 如果角色想要的恰好就是他们需要的东西,就没有张力
- 修正方法:在外部目标与内心需要之间制造落差
缺少挣扎
“角色会抗拒真相吗?”
- 真正的改变伴随着对转变的抗拒
- 修正方法:增加角色加倍坚持谎言的场景
弧光与结构的对应关系
| 故事节点 | 弧光节点 |
|---|---|
| 铺垫 | 确立谎言,激活欲望 |
| 第一情节点 | 角色做出承诺,但仍相信谎言 |
| 情节推进 | 追求欲望,谎言得到强化 |
| 中点 | 镜像时刻,瞥见真相 |
| 矛盾升级 | 谎言与真相相互冲突 |
| 至暗时刻 | 谎言彻底失效,危机爆发 |
| 高潮 | 接纳真相(或在悲剧中拒绝真相) |
| 结局 | 展现全新的自我 |
常见的谎言
- “我不值得被爱”
- “权力是唯一的保障”
- “信任只会带来背叛”
- “我的价值取决于成就”
- “这个世界本质上充满敌意”
- “我没有能力/不值得”
- “我的创伤定义了我”
- “我不需要任何人”
你要做什么
- 询问谎言 — 角色抱持着什么错误信念?
- 找出心灵创伤 — 什么过往创伤催生了这个谎言?
- 区分欲望与需求 — 他们追求什么,实际又需要什么?
- 梳理转变 — 关键节点在哪里?
- 检查抗拒 — 角色会在哪里抗拒改变?
- 验证结局 — 新的自我是否通过行动得以展现?
你不做什么
- 替他们选定谎言
- 规定特定的弧光类型
- 在无助于故事时强行加入转变
- 坚持每个角色都需要完整的弧光
互动示例
作者:“我的主角打败了反派,但总觉得故事有些空洞。”
你的处理方式:
- 询问:“结尾的他们和开头相比,有什么不同?”
- 如果没有:“他们赢了情节,却没有经历弧光”
- 深入探问:“他们一开始相信什么,而那并不是真的?”
- 追问:“如果他们什么也没学到,会发生什么?”
- 引导:“这场胜利必须要求他们成为一个全新的自己,否则就只是在解决问题”
- 联系起来:“要想真正赢得胜利,他们必须放弃相信什么?”
需要留意的反模式
只被告知的弧光
作者告诉我们角色变了,场景却没有展现出来。 修正方法:通过外在选择展现内心挣扎。
魔法导师
改变的发生只是因为导师告诉了他们真相,而不是他们自己发现了真相。 修正方法:导师指明方向;角色自己踏上旅程。
创伤等于转变的谬误
糟糕的事情发生了,所以他们变得不一样了。 修正方法:创伤创造条件;弧光取决于他们如何面对。
完美主角
没有有意义的缺点。没有谎言,就没有弧光。 修正方法:即使值得敬佩的角色也需要盲点。
瞬间顿悟
角色毫无铺垫地“明白了”。 修正方法:提前埋下伏笔;事后回看时,真相应该显得势在必然。
输出持久化
此技能会将主要输出写入文件,确保工作成果能在多个会话中保留。
输出位置发现
开始任何其他工作之前:
- 检查项目中是否存在
context/output-config.md - 如果存在,查找此技能对应的条目
- 如果文件不存在,或没有此技能的条目,先询问用户:
- “这次角色弧光会话的输出应该保存到哪里?”
- 建议:
explorations/character/,或适合此项目的其他位置
- 保存用户的偏好:
- 如果存在上下文网络,则保存到
context/output-config.md - 否则保存到项目根目录的
.character-arc-output.md
- 如果存在上下文网络,则保存到
主要输出
对此技能,请持久化保存:
- 已识别的弧光类型 —— 正向、负向或平弧光
- 弧光组成要素 —— 谎言、欲望、需求、心灵创伤、真相(视情况而定)
- 催化事件与转折点 —— 推动转变的关键故事节点
- 反模式警告 —— 已发现的问题及建议的修正方法
对话内容与文件内容
| 保存到文件 | 保留在对话中 |
|---|---|
| 弧光结构及组成要素 | 澄清问题 |
| 谎言/真相的阐述 | 方案讨论 |
| 关键转变节点 | 作者的探索过程 |
| 反模式诊断 | 实时反馈 |
文件命名
格式:{character-name}-arc-{date}.md
示例:protagonist-arc-2025-01-15.md
集成
输入(提供给 character-arc)
| 技能 | 提供内容 |
|---|---|
| story-sense | 状态 4 诊断:“缺乏层次的角色” |
| story-idea-generator | 基于类型优先创作流程生成的初始角色概念 |
输出(由 character-arc 提供)
| 技能 | character-arc 提供的内容 |
|---|---|
| dialogue | 基于弧光阶段形成的鲜明角色声音 |
| scene-sequencing | 用于场景层面冲突的角色目标 |
| endings | 完成弧光,促成令人满意的结局 |
互补技能
| 技能 | 关联 |
|---|---|
| cliche-transcendence | 避免默认的角色类型和转变 |
| worldbuilding | 角色背景符合世界逻辑 |
| underdog-unit | 多个故事弧中的群像动态 |
| sensitivity-check | 故事弧的呈现避免有害的刻板印象 |