Files
Capture/.cursor/skills/inbox-process/SKILL.md
T

6.4 KiB
Raw Blame History

name, description
name description
inbox-process Use when processing inbox files, archiving eureka notes, updating bible from new information, running inbox workflow. 处理 inbox、处理 eureka、挨个跑 inbox 流程、处理并归档 inbox. 执行「处理 Inbox / Eureka」全流程(识别实体、更新/新建 bible 与 beat、Beat→Bible 反向同步、归档),归档为流程最后一步。

Inbox 处理与归档

流程概览

阶段一:分析(只读,不修改任何文件)
  ↓ 输出分析报告,等待人确认
阶段二:执行(收到确认后)
  ↓ 更新/新建 bible 与 beat → Beat→Bible 反向同步 → 标记 TBD → 归档 → 输出摘要

阶段一:分析(不修改任何文件)

  1. 完整阅读该 inbox 文件
  2. 识别其中提到的所有实体(角色、世界观、节拍)
  3. 对每个实体,判断需要执行什么操作
  4. 暂停,输出分析报告,等待人确认

分析报告格式

📥 Inbox 分析:{文件名}

**涉及实体**
- 角色:xxx、xxx
- 设定:xxx、xxx
- Beatxxxinbox 内容直接涉及具体场景或对话时列出)

**建议操作**
| 实体 | 类型 | 操作 | 具体内容 | 是否有冲突 |
|------|------|------|---------|-----------|
| 佩佩 | 角色 | 更新 | 年龄改为22岁,职称改为广告部画师 | ⚠️ 与现有年龄25冲突 |
| 原型 | 设定 | 无需变更 | inbox 内容已在 bible 中覆盖 | — |
| 新设定名 | 设定 | 新建 | 从模板新建 kb/bible/设定/xxx.md | — |
| 佩佩-维修1 | beat | 更新 | Fiction 补充医生台词 | — |
| 佩佩-维修4 | beat | 新建 | inbox 描述了新场景,尚无对应 beat | — |

**待人确认的判断**
- [ ] 冲突裁决:佩佩年龄 22 vs 25,是否以本次为准?
- [ ] 新建 beat 佩佩-维修4Fiction 草稿是否符合预期?
- [ ] xxx

**请回复以下选项:**
- `执行全部` — 执行所有建议,冲突项记录到冲突表不自行解决
- `逐条确认` — 逐条列出,逐条回复是/否
- `跳过` — 不处理,直接移入 inbox/archived/,不更新任何 bible 或 beat
- 或直接告诉我你的修改意见

阶段二:执行(收到确认后)

步骤 1:更新或新建 bible 与 beat

已有 bible → 更新

  • 将新信息加入对应 SSOT 小节,用 加粗关键词 领起,句末标来源
  • 同步更新「叙事时间线」表格:新增剧情点、补全关联 Beat、更新状态
  • 与现有信息冲突 → 在「冲突」小节记录两版 + 来源,不自行解决
  • 来源索引:本流程中引用的来源在步骤 4 会归档;补全或更新「来源索引」时,链接使用已归档路径 [[inbox/archived/文件名]](同一次处理中在归档完成后补全)

没有 bible → 新建

  • 角色:从 template/tpl-character.md 复制到 kb/bible/角色/{名称}.md
  • 设定:从 template/tpl-worldbuilding.md 复制到 kb/bible/设定/{名称}.md
  • 替换所有 {{name}}{{term_name}} 占位符,不要写 Templater 标签
  • 在 frontmatter 加 created_by: ai

已有 beat → 更新

  • 若涉及 Fiction 内容:更新正文,在变更日志注明来源
  • 若涉及 reveals:按步骤 2 的反向同步逻辑处理
  • 若涉及 status 变更:更新 frontmatter

没有 beat → 新建

  • template/tpl-beat.md 复制到 kb/beats/{id}.md
  • 替换占位符,填写 frontmatter 中能确定的字段
  • status:若有具体 Fiction 草稿(至少一句话)→ draft;若仅因索引/叙事时间线需要而新建、尚无具体内容 → backlog
  • Fiction:draft 时必须有至少一句话的草稿;backlog 时可为占位句(如「待写」),不能只有 YAML
  • 在 frontmatter 加 created_by: ai
  • 新建后必须回到对应 bible 的叙事时间线加一行draft 标 🚧 草稿backlog 标 🔹 无Beat🚧 待写

步骤 2:标记不确定处

不确定的信息标记 [#TBD: 说明],不要凭猜测写入 SSOT 或 Fiction。

步骤 3:归档 inbox 文件

确认主要内容已归纳到对应 bible 或 beat 后,在文件最顶部加归档 frontmatter,再移动文件:

---
archived: true
archived_date: YYYY-MM-DD
aggregated_to: [佩佩, 原型, kb/beats/佩佩-维修1.md]
note: 可选;仅在不完整时写「内容已聚合,但XX部分未处理」
---
  • aggregated_to(必填):已聚合到的 bible/beat 条目名或相对路径
  • note(可选):仅当部分内容未处理时填写
情况 动作
内容已归纳到位 移入 inbox/archived/
明显未落地 留在 inbox,不归档
不确定是否完整处理 note 注明未处理部分后移入 archived

步骤 4git commit

git add .
git commit -m "inbox: 处理并归档 {文件名},更新 {涉及实体}"

步骤 5:输出处理摘要

## 处理摘要 [日期]

### 新建
- kb/bible/角色/xxx.mdAI 新建,来源:{inbox文件名}
- kb/beats/xxx.mdAI 新建,来源:{inbox文件名}

### 更新
- kb/bible/角色/yyy.md:补充了{具体内容}
- kb/beats/zzz.mdFiction 补充台词;叙事时间线状态更新为 ✅

### 无需变更
- xxxinbox 内容已在 bible 中覆盖,无新增信息

### 发现的冲突
- [冲突主题]:版本A(来源)vs 版本B(来源),已记录到冲突表,待人裁决

### 已归档
- inbox/{文件名} → inbox/archived/{文件名}aggregated_to: [xxx, yyy]

### 需人类决定
- [ ] 问题1
- [ ] 问题2

信息边界(Bible vs Beat

  • Beat:游戏内事件信息(场景、发生什么、玩家经历、信息在哪里揭示);叙事时间线由 beat 驱动,AI 同步,人不手动维护事件性内容。
  • Bible:事件之外的信息(角色是谁、设定规则、跨叙事静态事实);不人工维护动态/事件性内容。索引或时间线遇到需新建 beat 时即建 beat,标 backlog

约束(任何情况下均适用)

  • 不自行解决冲突:记录两版 + 来源,等人裁决
  • 不做创意判断:只做信息整理,不评价设定对错
  • 不确定不写入 SSOT 或 Fiction:标 [#TBD] 而非猜测
  • 每次变更必须写 changelog:日期、内容、来源三列必填
  • 阶段一不修改任何文件:收到确认前只分析不执行
  • AI 新建的文件必须标记bible 和 beat 均在 frontmatter 加 created_by: ai