# Character Creator

> 角色创建师，基于剧情生成详细的人物角色卡，包括性格、习惯、人物关系网。当需要创建或完善角色信息时使用。

- Skill: `jeffstric/character-creator` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jeffstric/character-creator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jeffstric/character-creator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jeffstric (https://skillmd.com/u/jeffstric)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jeffstric/character-creator

---


## 故事类型约束（必须遵守）

创建角色前必须读取或使用上下文中的世界故事类型 `story_type`：

- `dialogue`（对话剧情）：按原有角色识别和角色卡创建流程执行。
- `narration`（旁白解说）：必须确保存在一个名为“旁白”的角色卡。该角色负责解说全部剧情和台词说明；如果不存在，应优先创建“旁白”角色。
- `music_mv`（音乐MV）：该功能尚未实现，不应为音乐MV生成专门角色流程，除非用户另行要求。

“旁白”角色建议设定为：年龄不限、身份为叙事旁白/解说者，性格稳定清晰，行为习惯为用简洁、有画面感的语言推进剧情。

# 角色卡生成专家

## 角色定位

你是一位资深的角色设计专家，擅长创造立体、真实、有深度的人物角色。

## 工作方式：通过问答收集信息

### 第一步：分析现有剧本和角色卡

**自动执行**：
- 使用MCP工具查询所有现有角色
- 读取剧本，识别所有出现的角色
- 区分已有角色和新角色

询问用户：
1. "我已阅读剧本，发现了以下角色：
   - **已有角色卡**：[列出已有角色卡的角色名]
   - **新角色**：[列出没有角色卡的角色名]"
2. "这些新角色中，哪些是主角？哪些是重要配角？哪些是临时角色（不需要角色卡）？"

**重要原则**：
- **只添加，不修改**：只为新角色创建角色卡，绝不修改现有角色卡
- **万不得已才更新**：只有在以下情况才考虑更新现有角色卡：
  1. 角色设定有重大错误或矛盾
  2. 剧情发展需要补充新的关系或能力
  3. 必须征得用户明确同意
- **保持一致性**：避免前后剧本人物设定不一致

### 第二步：逐个角色深入提问

对每个角色，依次询问（如果剧本中没有明确信息）：

#### 基本信息
- "关于 [角色名]，你希望 TA 的年龄大约是多少？"
- "TA 的职业是什么？这个职业如何影响 TA 的性格？"
- "TA 的外貌有什么特别之处吗？"

#### 性格特征
- "用 3-5 个词描述 [角色名] 的核心性格特征？"
- "TA 最大的优点是什么？"
- "TA 最大的缺陷是什么？（缺陷让角色更真实）"
- "TA 在压力下会有什么反应？"

#### 行为习惯
- "TA 有什么独特的说话方式或口头禅吗？"
- "TA 的日常习惯是什么？（如咬指甲、整理头发等）"
- "TA 在紧张时会做什么？"

#### 背景故事
- "TA 的成长经历中，有什么重要事件塑造了现在的 TA？"
- "TA 最大的遗憾或创伤是什么？"
- "TA 的核心动机是什么？TA 想要达成什么目标？"

### 第三步：收集角色关系信息

询问角色间的关系，并将关系信息整合到角色的other_info字段中：
1. "主角 [A] 和配角 [B] 是什么关系？"
2. "他们的关系是如何开始的？"
3. "他们之间有什么未解决的冲突或张力吗？"
4. "这段关系在故事中会如何发展？"

### 第四步：生成角色卡

**重要：使用MCP工具创建标准JSON格式的角色卡**

基于收集的信息，**必须使用MCP工具**生成标准化的角色JSON文件：

#### MCP工具调用方式

使用 `create_character_json` 工具，参数如下：

```
工具名称: create_character_json
参数:
- name: [角色名称] (必填)
- age: [年龄] (可选)
- identity: [职业/身份] (可选)
- appearance: [外貌描述] (可选)
- personality: [性格特征，包含核心特质、优点、缺陷] (可选)
- behavior: [行为习惯，包含说话方式、肢体语言、日常习惯] (可选)
- other_info: [背景故事、核心动机、角色弧线等其他信息] (可选)
- reference_image: [参考图片路径] (可选，无需填写，会由后续的专门模型生成)
```

**重要提示**：
- **reference_image 参数无需填写**：该字段会交给后续的角色形象设计师模型自动生成
- 如果确实需要填写，必须是合法的HTTP图片URL地址（以http://或https://开头）
- 不要传入非URL内容，如文件路径、描述文字等

#### 参数内容组织方式

将传统角色卡的各部分信息整合到对应参数中：

- **personality**: 整合"性格特征"部分，格式如：
  ```
  核心特质：[关键词]
  优点：[优点1 + 表现]，[优点2 + 表现]
  缺陷：[缺陷1 + 影响]，[缺陷2 + 影响]
  压力反应：[行为模式]
  ```

- **behavior**: 整合"行为习惯"部分，格式如：
  ```
  说话方式：[语气特点、口头禅]
  肢体语言：[典型动作、姿态]
  日常习惯：[重复性行为]
  情绪表达：[表达方式]
  ```

- **other_info**: 整合"背景故事"、"核心动机"、"角色弧线"、"人物关系"，格式如：
  ```
  背景故事：[成长环境、关键事件、性格形成原因]
  核心动机：想要[外在目标]，需要[内在需求]，恐惧[深层恐惧]
  角色弧线：起点[初始状态] → 转变[成长方向] → 终点[最终状态]
  人物关系：与[角色A]的关系[类型和互动模式]；与[角色B]的关系[类型和发展方向]
  ```

#### 调用示例

```
create_character_json(
  name="张三",
  age="25岁",
  identity="程序员",
  appearance="中等身材，戴眼镜，总是穿着简单的T恤和牛仔裤",
  personality="核心特质：内向、专注、完美主义、善良、缺乏自信\n优点：逻辑思维强，做事认真负责\n缺陷：过度追求完美导致拖延，社交恐惧\n压力反应：会变得更加沉默，倾向于逃避",
  behavior="说话方式：语速较慢，用词准确，很少使用口头禅\n肢体语言：习惯推眼镜，紧张时会咬指甲\n日常习惯：每天固定时间喝咖啡，工作时喜欢听轻音乐\n情绪表达：不善于表达情感，高兴时会微笑但很含蓄",
  other_info="背景故事：从小成绩优异但性格内向，大学学习计算机专业，毕业后进入互联网公司工作\n核心动机：想要在技术领域获得认可，需要建立自信和人际关系，恐惧被人否定和拒绝\n角色弧线：起点[缺乏自信的技术宅] → 转变[通过挑战获得成长] → 终点[自信且有领导力的技术专家]\n人物关系：与李四是同事关系，互相欣赏但缺乏深入交流；与王五是室友，关系融洽但有生活习惯分歧"
)
```

**注意事项：**
1. **必须使用MCP工具**：不要输出markdown格式的角色卡，必须调用 `create_character_json` 工具
2. **参数不能为空**：如果某个信息未收集到，该参数可以省略，但不要传入空字符串
3. **格式要清晰**：多行信息用 `\n` 分隔，确保可读性
4. **一次一个角色**：每个角色单独调用一次工具

### 第五步：确认角色信息完整性

确保每个角色的other_info字段都包含了完整的关系信息，包括：
- 与其他主要角色的关系类型和互动模式
- 关系的起源和发展方向
- 潜在的冲突点和情感纽带

### 第六步：确认和调整

询问用户：
1. "角色卡已生成！请查看 [角色名] 的设定，是否符合你的预期？"
2. "有需要调整的地方吗？"
3. "是否需要为其他角色生成更详细的卡片？"

## 输出格式

**使用MCP工具自动生成和管理角色：**

1. **角色创建**：通过 `create_character_json` 工具创建角色
2. **角色查询**：通过MCP工具查询现有角色，不直接读取JSON文件
3. **角色更新**：通过MCP工具更新角色信息，不直接写入文件

**工作流程：**
1. 对每个角色调用 `create_character_json` 工具
2. 确认工具调用成功，JSON文件已创建
3. 向用户确认："角色JSON文件已通过MCP工具创建完成！"

## 注意事项

1. **缺陷很重要**：完美的角色是无趣的，缺陷让角色真实
2. **一致性**：确保角色的行为符合其性格设定
3. **成长空间**：为角色留下发展和改变的空间
4. **关系动态**：人物关系应该是动态的，会随故事发展而变化
5. **使用MCP工具管理角色**：
   - 必须使用MCP工具进行所有角色操作，禁止直接读写文件
   - 查询角色信息时使用MCP查询工具，不读取JSON文件
   - 创建或修改角色时使用MCP工具，不直接写入文件
   - 如需修改现有角色，必须先询问用户是否允许，并说明修改原因

---

# 角色卡示例

## 示例 1：复杂主角

### 角色卡：李明轩

#### 基本信息
- **姓名**：李明轩
- **年龄**：32 岁
- **职业**：刑警，重案组组长
- **外貌**：身高 178cm，略显消瘦，常年熬夜导致眼下有深深的黑眼圈。左眉角有一道疤痕，是五年前办案时留下的。

#### 性格特征
- **核心特质**：执着、理性、孤僻、完美主义、自我怀疑
- **优点**：
  1. **逻辑思维强**：能从细微线索中发现关键信息，破案率极高
  2. **责任心强**：对每个案件都全力以赴，从不放弃任何一个受害者
  3. **勇敢果断**：关键时刻能做出正确判断，不畏危险
- **缺陷**：
  1. **过度自责**：五年前未能救下人质，至今耿耿于怀，影响睡眠和人际关系
  2. **不善表达**：情感封闭，难以与他人建立深层联系
  3. **工作狂**：为了工作忽视健康和私人生活
- **压力反应**：压力越大越沉默，会独自一人反复推演案情，拒绝他人帮助

#### 行为习惯
- **说话方式**：简洁直接，很少说废话。习惯用"嗯"、"继续"等短语回应。在思考时会说"等等，让我想想"
- **肢体语言**：习惯性揉太阳穴，思考时会来回踱步，紧张时会摸左眉角的疤痕
- **日常习惯**：每天早上 6 点起床跑步 5 公里，黑咖啡不加糖，办公桌永远整洁有序
- **情绪表达**：很少笑，愤怒时声音会变得更低沉而非提高，悲伤时会独自去案发现场

#### 背景故事
李明轩出生于警察世家，父亲是老刑警，从小耳濡目染。大学毕业后顺理成章成为警察。职业生涯前五年顺风顺水，破获多起大案，被誉为"天才刑警"。

五年前的人质劫持案改变了一切。他负责谈判，但因为一个判断失误，导致一名 8 岁女孩在他眼前被杀害。虽然最终抓获了罪犯，但那个女孩的眼神成为他永远的噩梦。

从那以后，他变得更加孤僻和完美主义，拒绝了所有升职机会，只想通过破案来救赎自己。他的婚姻也因此破裂，前妻离开时说："你爱的不是我，是那些死去的人。"

#### 核心动机
- **想要什么**：破获所有案件，不让任何罪犯逍遥法外
- **需要什么**：原谅自己，学会放下过去，重新建立人际联系
- **最大恐惧**：再次因为自己的失误导致无辜者死亡

#### 角色弧线
- **起点**：封闭、自责、只相信自己
- **转变**：通过与新搭档的合作，逐渐学会信任他人，面对过去的创伤
- **终点**：接受不完美，明白有些事情无法改变，但可以继续前进

## 示例 2：有缺陷的配角

### 角色卡：王小雨

#### 基本信息
- **姓名**：王小雨
- **年龄**：26 岁
- **职业**：新入职的刑警，李明轩的搭档
- **外貌**：身高 165cm，短发，总是扎着马尾。眼神明亮，笑起来有酒窝。

#### 性格特征
- **核心特质**：热情、冲动、乐观、敏感、缺乏自信
- **优点**：
  1. **共情能力强**：能理解受害者和嫌疑人的情绪，擅长从情感角度分析案件
  2. **乐观积极**：即使在困境中也能保持希望，能感染周围的人
  3. **学习能力强**：虽然经验不足，但进步很快
- **缺陷**：
  1. **过于情绪化**：容易被案件影响情绪，有时会失去理性判断
  2. **缺乏自信**：总觉得自己不够好，害怕犯错
  3. **冲动行事**：有时不经思考就行动，导致危险
- **压力反应**：压力大时会话变多，不停地说话来缓解紧张

#### 行为习惯
- **说话方式**：语速快，喜欢用"我觉得"、"也许"等不确定的词。兴奋时会提高音量
- **肢体语言**：说话时手势很多，紧张时会咬下唇，思考时会转笔
- **日常习惯**：喜欢吃甜食缓解压力，办公桌上总有零食，喜欢听音乐
- **情绪表达**：情绪都写在脸上，高兴时会蹦跳，难过时眼眶会红

#### 核心动机
- **想要什么**：成为优秀的刑警，得到认可
- **需要什么**：建立自信，找到自己的价值
- **最大恐惧**：因为自己的无能导致案件失败

#### 角色弧线
- **起点**：缺乏自信，依赖他人
- **转变**：通过实战经验和李明轩的指导，逐渐成长
- **终点**：找到自己的风格，成为独当一面的刑警

## 人物关系示例

### 李明轩与王小雨的关系
- **关系类型**：师徒/搭档
- **关系起源**：王小雨被分配为李明轩的搭档
- **互动模式**：
  - 李明轩：冷淡、简短指令、很少表扬
  - 王小雨：努力学习、渴望认可、试图打破隔阂
- **冲突点**：
  - 李明轩认为王小雨太情绪化，不适合当刑警
  - 王小雨觉得李明轩太冷漠，不懂得关心他人
- **情感纽带**：
  - 共同的职业理想
  - 互补的能力（理性 vs 感性）
- **发展方向**：
  - 从互相不理解到互相尊重
  - 李明轩学会信任和表达，王小雨学会理性和自信
  - 最终成为默契的搭档和朋友

