skyfiredao/dreampowers/dp-character-style

Claude Code and agent skill by skyfiredao/dreampowers

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when establishing character speech patterns, writing dialogue, verifying voice consistency, or crafting subtext through what characters avoid saying

Install

npx vskill@latest install skyfiredao/dreampowers/dp-character-style

SKILL.md

<SUBAGENT-STOP> 如果你是被派遣执行特定任务的子代理,跳过此技能。 </SUBAGENT-STOP>

角色风格与对话塑形(含潜台词)

本技能是弹性技能。核心原则不变,具体细节可因故事类型、角色数量、文体风格而调整。

章节结构:核心定位 → 前置条件 → 角色风格档案模板 → 角色风格创建流程(graphviz) → 对话写作规则(结构规则/对话标签规则/潜台词写作指引)→ 角色风格一致性检查 → 潜台词深潜(核心定位/适用时机/四种来源/构建技法/密度控制/审查方法/构建流程)→ 交互表 → 反模式 → 注意事项 → 终止状态

交互:输入来自 dp-set-concept,被 dp-chapter-draft、dp-chapter-direct 调用,与 dp-chapter-direct 协同

核心定位

角色风格档案的终极检验标准:蒙住角色名字,读者仅凭对话就能辨认出说话者。

每个角色必须在两个维度上同时达标:

  1. 差异性:与其他角色的说话方式明显不同
  2. 一致性:自身的说话方式在全书范围内保持稳定(除非有明确的角色弧线支撑变化)

如果你的角色换个名字贴上去也毫无违和感,说明角色风格没有建立起来。

输入与围栏

本技能根据调用上下文有三种模式,读取范围不同:

调用模式触发时机允许读取允许写入
定义模式由 dp-set-concept 触发,为角色建立风格档案docs/dreampowers/set/character/*.md 全部角色文件docs/dreampowers/set/character/*.md(角色风格档案嵌入原文件)
写作模式由 dp-chapter-draft 阶段 C 触发,指导对白写作当前章节文件夹内的 spec.md(§7 角色要点、风格指令)无写入
审计模式用户显式要求("角色风格一致性审查"、"提取所有对话")docs/dreampowers/release/chapter-*.md 全部 + docs/dreampowers/set/character/*.md 全部docs/dreampowers/set/character/*.md(更新演变记录)

写作模式的关键约束:角色风格信息必须已由 dp-chapter-draft 阶段 A 从 character 文件定向提取并写入 spec.md §7。写作模式下禁止直接读取 docs/dreampowers/set/character/,避免绕开 spec.md 引入未授权的角色信息。

默认模式判定:若无显式说明调用上下文,按调用方推断——由 dp-chapter-draft 调用视为写作模式;由 dp-set-concept 调用视为定义模式;用户直接说"审查/提取"视为审计模式。

前置条件

必须已完成 dp-set-concept,且角色卡中包含基础信息(身份、背景、性格、动机)。角色风格档案是角色卡的延伸,不是替代品。

角色风格档案模板

每个主要角色一份角色风格档案,嵌入设定文档(docs/dreampowers/set/character/),紧跟对应角色卡之后。

markdown
## 角色风格档案:[角色名]
### 语言层次
-**教育程度**: [文盲/私塾/学院/自学成才/...]
-**词汇范围**: [文言/白话/方言/行话/混合]
-**典型用语举例**: [3个该角色会用的词或短语]
### 句式偏好
-**句长倾向**: [短句为主 / 长句为主 / 混合]
-**句型偏好**: [陈述 / 反问 / 祈使 / 省略]
-**主被动**: [主动居多 / 被动居多]
### 口头禅与标志词
-**口头禅**: [1-2个,不超过3个]
-**标志词**: [角色偏爱的特定词汇]
-**使用频率**: [每N句出现一次,避免过密]
### 情绪表达方式
-**愤怒**: [爆发型/压抑型/冷嘲型/沉默型]
-**喜悦**: [外放型/内敛型/自嘲型]
-**悲伤**: [流露型/掩饰型/转化为愤怒型]
-**恐惧**: [逃避型/强撑型/理性分析型]
### 禁忌词汇
-[这个角色绝不会说的词/句式,至少列2个]
-[原因说明]
### 说话节奏
-**语速**: [急促/平稳/缓慢/视情绪波动]
-**停顿习惯**: [频繁停顿/一口气说完/关键处停顿]
### 潜台词倾向
-**直接度**: [直说 / 暗示 / 极度委婉]
-**常见潜台词策略**: [反话/转移话题/以问代答/沉默]
### 信息量控制
-**话多还是话少**: [寡言/适中/健谈/因对象而异]
-**主动提供信息还是被动回应**: [主动/被动/视关系而定]
### 三项辨识特征(核心)
1.[区别于所有其他角色的第一特征]
2.[第二特征]
3.[第三特征]

角色风格创建流程

dot
digraph voice_creation {
rankdir=TB;
node [shape=box, style=rounded];
bg [label="读取角色卡\n背景/教育/地域/职业/阶层"];
define [label="填写角色风格档案模板\n逐项完成"];
three [label="提炼三项辨识特征\n此角色与其他所有角色的区别"];
sample [label="撰写3段样本对话\n同一内容,不同角色各说一遍"];
test [label="蒙名测试\n遮住名字,能否辨认?" shape=diamond];
pass [label="角色风格档案通过\n写入设定文档" shape=doublecircle];
fail [label="强化差异\n调整辨识特征"];
bg -> define -> three -> sample -> test;
test -> pass [label="通过"];
test -> fail [label="未通过"];
fail -> define [label="重新调整"];
}
步骤详解

第一步:从角色背景出发

角色风格不是凭空捏造的。一个农民不会说官话,一个将军不会说市井俚语(除非有特定经历支撑)。从角色卡中的以下字段推导角色风格:

  • 教育经历 → 语言层次
  • 出生地域 → 方言痕迹
  • 职业背景 → 行话来源
  • 社会阶层 → 说话时的自信程度与措辞习惯
  • 核心性格 → 情绪表达方式与潜台词倾向

第二步:定义三项辨识特征

从角色风格档案的所有维度中,提炼出 3 个最能将此角色与其他角色区分开的特征。这 3 个特征必须满足:

  • 至少 1 个是句式层面的(不能全靠口头禅)
  • 至少 1 个是内容层面的(说什么,不只是怎么说)
  • 不得与已有角色的辨识特征重复

第三步:样本对话测试

选一个简单的场景(比如"拒绝一个请求"),让每个主要角色分别用自己的角色风格说一遍。写出来后并排对比。如果两个角色的台词互换后依然通顺,说明差异不够。

第四步:蒙名测试

遮住角色名字,让自己(或子 agent)仅从对话内容判断说话者身份。通过标准:主要角色的辨认准确率 ≥ 80%。

对话写作规则

结构规则
规则阈值说明
连续对话上限≤5 个来回超过 5 个来回必须插入叙事/动作/心理描写(详见 dp-chapter-direct)
潜台词密度≥60%至少 60% 的对话应承载 ≥2 层含义(字面义 + 潜台词)
对话功能必选其一每句对话至少完成一项:推进情节、揭示性格、制造张力
对话标签规则

推荐:

  • 动作节拍代替对话标签。"他放下茶杯"比"他说"更有画面感
  • "说""道"足矣。朴素的标签不会打断阅读节奏
  • 当说话者明确时,省略标签。两人对话中交替回合不需要每句都标注

禁止:

  • 替代词滥用(咆哮道、嘶吼道、低吟道、轻笑道)❌ 除非极端情绪场景偶尔使用
  • 副词堆砌("他愤怒地说""她温柔地道")❌ 如果对话本身不能传达情绪,加副词也救不回来
  • 解释性标签("他讽刺地说")❌ 讽刺应该从台词本身读出来
潜台词写作指引

好的对话永远有两层:角色说了什么,角色真正在表达什么。

这一节提供核心原则。关于潜台词的完整技法体系(四种来源、六种构建技法、密度控制、审查方法、构建流程),参见本技能后半部分的"潜台词:对话中没说出口的那一半"章节。

简要原则:

  • 角色有不能说的秘密
  • 角色有想要但不好意思要的东西
  • 角色在试探对方
  • 角色在保护自己或他人
  • 权力关系导致不能直说

如果一段对话只有字面意思,问自己:这两个角色之间有什么是不能直接说出来的?如果什么都没有,要么场景设置有问题,要么角色关系太平淡。

角色风格一致性检查

每完成 3-5 章后执行一次角色风格一致性审查:

  1. 提取:把角色 X 在所有已完成章节中的对话全部提取出来
  2. 比对:逐项对照角色风格档案,检查是否偏离
  3. 标记:发现偏离时,判断类别:
偏离类型处理方式
角色成长导致的角色风格变化合理。在角色风格档案中补充"演变记录",注明变化起始章节和驱动事件
情绪极端状态下的临时偏离合理。不修改角色风格档案,但在该章节标注原因
无故偏离(作者笔误)不合理。修正对话,使其回归角色风格档案
  1. 演变记录:如果角色经历重大转折,角色风格档案应增加"演变"条目:
markdown
### 角色风格演变记录
| 章节 | 变化内容 | 驱动事件 |
|------|---------|---------|
| 第12章 | 开始使用敬语 | 身份暴露,被迫融入上层社会 |
| 第20章 | 口头禅消失 | 导师去世,刻意抛弃旧习惯 |

潜台词:对话中没说出口的那一半

本章节是对前面"潜台词写作指引"的深潜展开,提供完整的潜台词技法体系。

核心定位

这是一个专注于对话潜台词的深潜模块。

前面的角色风格档案解决"角色怎么说话"。dp-chapter-direct 对白模式解决"对话场景怎么搭"。本章节只关心一件事:角色说出口的话和真实意图之间的那条裂缝。

潜台词是对话技艺的最高层。没有潜台词的对话是信息传递。有潜台词的对话是角色碰撞。

判定标准很简单:把角色说的话原文抄下来,再把他"真正想说的话"写在旁边。如果两句话完全相同,这段对话就没有潜台词。

适用时机

在以下场景中激活本章节的技法:

  • 情绪高度紧绷的对话(告白、质问、摊牌)
  • 谈判与博弈(交易、审讯、外交)
  • 权力不对等的对话(上下级、师徒、主仆)
  • 角色藏有秘密,或故意欺骗/误导的场景
  • 任何"角色不能/不愿/不敢说真话"的对话

如果角色之间没有隐瞒、没有权力差、没有情感压力,潜台词就缺乏驱动力。先检查场景设定是否具备产生潜台词的条件。

潜台词的四种来源

每一句有潜台词的台词,背后都有一个驱动力。识别驱动力,才能写出精准的间接表达。

来源驱动力角色状态典型场景
秘密角色知道某件事但不能暴露闪躲、模糊、转移注意力身份隐瞒、背叛前夕、双面间谍
权力等级/关系阻止诚实表达委婉、服从表面下的抵抗下属暗讽上司、学生违心附和
情感感受太脆弱/太强烈,直说等于暴露自己压抑、伪装、用愤怒掩饰恐惧告别、表白、创伤触发
策略角色故意隐瞒以获取优势设局、试探、钓鱼谈判、审讯、情报刺探

一句台词可以同时被多种来源驱动。"策略"+"秘密"是最常见的复合型。

潜台词构建技法
间接回答

用另一个问题回避原始问题。回避本身就是答案。

"你昨晚去了哪里?"
"你什么时候开始查我行踪了?"

角色没有回答。但读者已经知道:去了不该去的地方。

话题转移

对话碰到敏感区域时,角色突然切换话题。越突然,越暴露。

"你真的不恨他?"
"这茶凉了。我去烧点水。"

转移的时机就是痛点的坐标。

过度补偿

解释得太多、太细、太急切,反而暴露了心虚。

"我只是路过,正好看到灯还亮着,想着你可能还没吃饭,也没什么特别的意思,就是顺路带了点东西……"

正常人不需要为一碗面条辩护。

身体语言矛盾

嘴上说的和身体做的不一致。文字对话中,通过动作节拍实现。

"我没事。"她把手藏到桌子底下,指甲掐进掌心。

台词和动作的缝隙就是潜台词的入口。

选择性沉默

不回答,也是一种回答。在关键节点插入沉默,用叙述填充那个空白。

"你还爱她吗?"
他把杯子转了半圈,又转回来。窗外有人在叫卖水果。
"走吧,该出发了。"

沉默持续的长度正比于问题的杀伤力。

代用品(位移表达)

不谈真正的问题,用一个安全话题承载真实情绪。两个人在争论一道菜的做法,其实在争论谁说了算。

"你每次都放太多盐。"
"你每次都嫌我放太多盐。"

他们不是在谈盐。

潜台词密度控制

不是每句台词都需要潜台词。目标密度:60%。

全程潜台词会让读者精疲力竭。密码一样的对话读起来像解谜游戏,不像故事。你需要在"加载句"和"呼吸句"之间交替:

类型功能占比
加载句承载潜台词,字面意思和真实意图不同~60%
呼吸句字面即全部,推动对话前进~40%

呼吸句的作用:给读者消化空间,让加载句更显锋利。连续三句加载句后放一句呼吸句,效果最佳。

潜台词审查方法

写完一段对话后,逐句做以下检查:

对每个对话交换,问自己:如果这个角色在这个场景中完全诚实,他会怎么说?

然后把"完全诚实版"和"实际台词"并排放。

  • 两者完全相同 → 这句没有潜台词。检查:场景是否需要?角色是否有理由直说?
  • 两者存在差距 → 差距就是潜台词。检查:差距是否可感知?读者能否在不解释的情况下隐约感受到?
  • 读者完全无法察觉差距 → 潜台词太深,等于没有。需要增加身体语言线索或上下文暗示

这个方法也是诊断工具。如果你发现一场关键对话中每句台词的"诚实版"和"实际版"完全一致,说明角色之间缺乏足够的张力、秘密或不对等关系。问题不在对话技法,在场景设定。

潜台词构建流程
dot
digraph subtext_flow {
rankdir=TB;
node [shape=box, style=rounded];
source [label="识别潜台词来源\n秘密/权力/情感/策略"];
honest [label="写出角色的\n'完全诚实版'台词"];
gap [label="确定间接表达策略\n间接回答/转移/沉默/代用品"];
write [label="写出实际台词\n+ 动作节拍"];
check [label="读者能否感知裂缝?" shape=diamond];
pass [label="潜台词成立" shape=doublecircle];
too_deep [label="增加身体语言\n或上下文线索"];
too_shallow [label="加大诚实版与\n实际版的距离"];
source -> honest -> gap -> write -> check;
check -> pass [label="能感知"];
check -> too_deep [label="完全不可察觉"];
check -> too_shallow [label="太直白"];
too_deep -> write;
too_shallow -> gap;
}

与其他技能的交互

关系技能说明
上游dp-set-concept角色背景、性格、动机、人际关系
被引用dp-chapter-draft写作阶段文笔审查中的"对话辨识度"检查和对话层次检查
被引用dp-chapter-direct场景对话子模式中的角色风格参考,以及"60% 潜台词密度"规则的具体执行指引
协作dp-chapter-direct潜台词密度影响对话节奏,加载句减速,呼吸句加速
协作dp-review-consistency角色风格是修订和去AI味的红线,不得抹杀角色说话方式
协作dp-set-outline角色风格应反映其对主题的立场

反模式

以下行为严格禁止:

  • 所有角色说话像同一个人(作者本人) ❌ 角色风格档案存在的全部意义就是防止这件事
  • 方言/口音作为唯一区分手段 ❌ 方言是差异的一部分,不是全部。去掉方言标记后角色仍应有差异
  • 导游角色:只为解释设定而存在的角色 ❌ 每个角色都要有自己的目标和立场,不是作者的传声筒
  • 对话读起来像论文 ❌ 没有人在日常对话中使用完整的因果论证链条
  • 角色风格无故变化 ❌ 角色说话方式改变必须有角色发展支撑,否则就是笔误
  • 口头禅过度使用 ❌ 口头禅是点缀,不是每句话的开头。频率过高会变成读者的噪音
  • 用外貌描写替代角色风格 ❌ "粗犷的声音说道"不是角色风格,是偷懒
  • 所有台词都是字面意思,对话变成信息传递带 ❌ 角色之间如果没有任何需要隐瞒的东西,场景设定有问题
  • 潜台词深到读者完全无法察觉 ❌ 读者感知不到的潜台词等于不存在
  • 用旁白直接解释潜台词 ❌ "他这么说,其实是想表达……"直接杀死了潜台词的全部力量
  • 每句话都有潜台词,100% 密度 ❌ 读者会疲劳、脱离、不再信任任何台词的字面意思
  • 潜台词与角色性格矛盾 ❌ 一个一向直率的角色突然满口暗示,没有铺垫就是笔误
  • 所有角色用同一种间接表达方式 ❌ 角色 A 和角色 B 都用沉默回避,那就不是角色差异,是作者的偷懒

注意事项

出现以下任一情况,立即停下:

信号说明
两个角色的台词互换后毫无违和感角色风格差异不足
角色突然使用从未用过的句式/词汇可能是笔误,检查角色风格档案
连续超过 5 个来回纯对话无叙事打断违反结构规则
对话只有字面意思,没有潜台词检查角色关系和场景张力
角色在"解释"而非"说话"导游角色陷阱
全篇对话标签都是"XX道"需要用动作节拍替换
关键对话中每句台词的"诚实版"和"实际版"完全一致场景缺乏张力或角色缺乏隐瞒动机
连续多句潜台词后无呼吸句密度过高,读者疲劳
角色的间接表达方式与角色风格档案中的"潜台词倾向"矛盾角色风格一致性被破坏
需要旁白解释角色"真正的意思"潜台词太深或技法失败,需要重写
读者必须回翻前文才能理解一句对话上下文暗示不足,线索需要前置
角色突然变得极度间接,无触发事件缺乏动机铺垫

处理流程:

  1. 暂停写作
  2. 重新查阅相关角色的角色风格档案
  3. 运行潜台词审查方法(诚实版 vs 实际版对比),确认潜台词来源是否成立
  4. 改写问题对话
  5. 如果是系统性问题(多处出现),执行完整的角色风格一致性检查

终止状态

当以下条件全部满足时,本技能的产出物视为完成:

  • 所有主要角色(主角 + 主要配角)均已建立角色风格档案
  • 每份角色风格档案的三项辨识特征已定义,且不与其他角色重复
  • 样本对话测试已完成
  • 蒙名测试通过(辨认准确率 ≥ 80%)
  • 角色风格档案已写入 docs/dreampowers/set/character/ 中的角色设定文档
  • 对话中潜台词密度接近 60% 目标,加载句与呼吸句交替
  • 每句潜台词都有可追溯的来源(秘密/权力/情感/策略)
  • 读者无需旁白解释即可感知字面与真实意图之间的裂缝
  • 角色间接表达方式与各自角色风格档案中的潜台词倾向一致
  • 关键对话的"诚实版"与"实际版"存在可感知的差距

完成后,角色风格档案与潜台词技法将作为 dp-chapter-draft 和 dp-chapter-direct 的持续参考依据。

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/skyfiredao/dreampowers/dp-character-style/badge)](https://verified-skill.com/skills/skyfiredao/dreampowers/dp-character-style)

Something wrong with this skill or its page? Tell us.