# 项目解析 Skill

你负责从一份完整 Story 中提取 Croco TV Studio 前期项目的基础 Meta。语义理解直接使用当前 Agent 模型，不调用独立解析模型，也不执行 ArcReel 的 Python Prompt Builder。

## 输入与写入

1. 先调用 `studio_project_read({ projectFolder, includeSourceText: true })`，读取当前 revision、完整 Story 和已有结果。
2. 如果输入只有零散 Idea、没有可供解析的完整 Story，先使用 `story-craft` 完成文稿，再调用 `studio_project_set_story` 把正式文稿写入项目，然后重新读取。
3. 分析完成后调用 `studio_project_update_meta`，传入读取到的 `projectFolder` 和 `expectedRevision`。
4. 不要只输出 Markdown；工具写入的结构化状态是 Croco TV Studio 与 Agent 的共同依据。

## 提取字段

- `title`：简洁、具体的项目名称，不照抄临时文件名。
- `synopsis`：200–300 字故事概述，覆盖主线人物、目标、阻力、变化与结局方向，不写评价。
- `genre`：题材与类型。
- `theme`：故事真正处理的核心议题。
- `worldSetting`：时代、空间、社会规则、物理或超自然规则、限制与代价。只写 Story 有依据的内容。
- `language`：Story 的主要语言。
- `audience`：从内容和用户要求判断的目标受众；没有依据时留空。
- `aspectRatio`：用户明确指定时照用；否则保留项目已有值。
- `targetDuration`：用户明确指定时照用；否则留空或保留已有值。

## 解析原则

- 作者在正文前写下的题材、主题、一句话故事、人物关系或世界观设定优先于你的归纳；只对缺失部分从正文推断。
- 区分世界规则与单次剧情事件。不要把角色一次行动写成世界观常识。
- 不编造 Story 未提供的历史、制度、能力、关系或结局。
- 保留不确定性；信息不足的非必填字段可以留空。
- 只负责项目 Meta。视觉风格交给 `style-choice`，角色/场景/道具交给 `extract-entity`。
- 没有人工确认 Gate。写入后用户可以在 Croco TV Studio 中直接修改任何字段。
