docs(agent): 更新 AGENTS 与 inbox-process 技能
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -80,9 +80,10 @@ description: Use when processing inbox files, archiving eureka notes, updating b
|
||||
**没有 beat → 新建**
|
||||
- 从 `template/tpl-beat.md` 复制到 `kb/beats/{id}.md`
|
||||
- 替换占位符,填写 frontmatter 中能确定的字段
|
||||
- Fiction 必须有至少一句话的草稿,不能只有 YAML
|
||||
- 在 frontmatter 加 `created_by: ai`,`status` 设为 `draft`
|
||||
- **新建后必须回到对应角色 bible 的叙事时间线加一行,状态标 `🚧 草稿`**
|
||||
- **status**:若有具体 Fiction 草稿(至少一句话)→ `draft`;若仅因索引/叙事时间线需要而新建、尚无具体内容 → `backlog`
|
||||
- Fiction:draft 时必须有至少一句话的草稿;backlog 时可为占位句(如「待写」),不能只有 YAML
|
||||
- 在 frontmatter 加 `created_by: ai`
|
||||
- **新建后必须回到对应 bible 的叙事时间线加一行**:draft 标 `🚧 草稿`,backlog 标 `🔹 无Beat` 或 `🚧 待写`
|
||||
|
||||
### 步骤 2:Beat → Bible 反向同步
|
||||
|
||||
@@ -96,10 +97,11 @@ description: Use when processing inbox files, archiving eureka notes, updating b
|
||||
|
||||
叙事时间线状态含义:
|
||||
- `✅` 已落地:bible 与 beat 双向一致
|
||||
- `🔹` 无Beat:bible 有、beat 未承载
|
||||
- `🔹` 无Beat:bible 有、beat 未承载或 beat 为 backlog
|
||||
- `🆕` 仅Beat:beat 有揭示、bible 未记录
|
||||
- `⚠️` 有出入:双方内容/粒度不一致
|
||||
- `🚧` 草稿:beat 为 draft 状态
|
||||
- `🚧` 待写:beat 为 backlog 状态(需存在但尚未落稿)
|
||||
|
||||
### 步骤 3:标记不确定处
|
||||
|
||||
@@ -163,6 +165,11 @@ git commit -m "inbox: 处理并归档 {文件名},更新 {涉及实体}"
|
||||
|
||||
---
|
||||
|
||||
## 信息边界(Bible vs Beat)
|
||||
|
||||
- **Beat**:游戏内事件信息(场景、发生什么、玩家经历、信息在哪里揭示);叙事时间线由 beat 驱动,AI 同步,人不手动维护事件性内容。
|
||||
- **Bible**:事件之外的信息(角色是谁、设定规则、跨叙事静态事实);不人工维护动态/事件性内容。索引或时间线遇到需新建 beat 时即建 beat,标 `backlog`。
|
||||
|
||||
## 约束(任何情况下均适用)
|
||||
|
||||
- **不自行解决冲突**:记录两版 + 来源,等人裁决
|
||||
|
||||
@@ -59,6 +59,12 @@ Templater 语法对应:`<% await tp.system.prompt("提示", "默认值") %>`
|
||||
|
||||
修改 `template/` 下任意 tpl-*.md 后,需同步到 `kb/template/`,保证 Obsidian 内 Templater 使用最新版本。
|
||||
|
||||
## Bible 可读性与结构(自然语言优先)
|
||||
|
||||
- **开篇必读**:正文最前用「一句话」+「自然语言介绍」让人和 AI 快速抓意图;假设读者不知道该概念,用 2~5 段连贯文字说明「是什么、在剧情里起什么作用、和谁相关」,用 [[wikilink]] 关联角色与设定。
|
||||
- **详情可折叠**:权威设定(定义、流程、时间线、实体关系网)、待确认/冲突、变更日志/来源索引可放在 Obsidian 折叠块(`> [!abstract]- 标题` 等)中,需要时再展开;或保留在 YAML 中供机器用。
|
||||
- **模板**:新建/大改 bible 时以 `template/tpl-worldbuilding.md`、`template/tpl-character.md` 为参考;两者已同步到 `kb/template/` 供 Templater 使用。
|
||||
|
||||
## Bible 命名约定
|
||||
|
||||
- **条目与文件名均使用中文**:与条目标题/主名一致,如 `佩佩.md`、`火山.md`、`主脑.md`、`原型.md`;不含空格,多词可用短横线,如 `世界观-年表.md`
|
||||
@@ -80,12 +86,17 @@ Templater 语法对应:`<% await tp.system.prompt("提示", "默认值") %>`
|
||||
- **以内容为核心**:场景+事件(如 诊室门口-年审公布)、角色+情境(如 佩佩-维修1)、梦境(如 梦-海边)
|
||||
- 类型(beat_type)放 frontmatter,命名无需重复
|
||||
|
||||
## 角色与设定关联:Wikilink + Backlink
|
||||
## Bible 与 Beat 的信息边界
|
||||
|
||||
- **不再维护**:beat 的 YAML 字段 `characters`、`terms`,以及 bible(角色/设定)的 `related_characters`、`related_worldbuilding`。这些字段不再作为权威来源,无需与正文双向同步。
|
||||
- **做法**:在正文中通过 **wikilink**(`[[角色名]]`、`[[设定名]]`)引用角色与设定;在 bible 或 base 中通过 **Obsidian 反向链接(backlink)** 查看「哪些笔记引用了本条目」。
|
||||
- **Beat**:可在正文中设「本片涉及」等小节,用 wikilink 列出本片涉及的角色与设定,便于 backlink 聚合。
|
||||
- **Bible**:在 SSOT、实体关系网等正文处用 wikilink 引用相关角色与设定即可,无需在 frontmatter 重复维护列表。
|
||||
- **Beat 维护**:游戏内的事件信息——在哪个场景发生了什么、玩家经历了什么、什么信息在哪里被揭示。
|
||||
- **Bible 维护**:事件之外的信息——角色是谁、设定规则、跨叙事的静态事实。
|
||||
|
||||
**推论**:
|
||||
|
||||
- 叙事时间线留在 bible 作为聚合视图,但内容完全由 beats 驱动;AI 处理 beat 时自动同步,人不手动维护。
|
||||
- Bible 里不应出现人工维护的动态/事件性内容。
|
||||
|
||||
**索引与新建 Beat**:在来源索引或叙事时间线中遇到需要新建 beat 的情况时,创建新 beat 并设 `status: backlog`(待写稿);若已有具体 Fiction 草稿则用 `draft`。
|
||||
|
||||
## Bible 来源索引
|
||||
|
||||
@@ -106,10 +117,13 @@ Templater 语法对应:`<% await tp.system.prompt("提示", "默认值") %>`
|
||||
- 表格有行但 beat 不存在 → 保持 `🔹 无Beat`
|
||||
- beat 存在但表格无行 → 新增行,标 `🆕 仅Beat`
|
||||
- 双方都有但内容/粒度不一致 → 标 `⚠️ 有出入`,在冲突记录或待确认中说明差异
|
||||
- (角色/设定与 beat 的关联以正文 wikilink 为准,不维护 beat 的 characters/terms 或 bible 的 related_*)
|
||||
2. **Beat → SSOT 反向补全**:检查每个 beat 的 YAML `reveals` 字段,若揭示了角色/设定的事实性信息但 bible SSOT 区未记录,标注待补并列入摘要
|
||||
3. 校验角色状态在节拍间是否连续(弧线追踪)
|
||||
4. 校验世界观设定在各 bible 间是否一致
|
||||
5. 校验节拍叙事前置条件是否满足
|
||||
6. 汇报所有 `[#TBD]`、`[#Retcon]`、`[#LogicHole]` 项
|
||||
7. 检查揭示路径是否与实际节拍顺序一致
|
||||
|
||||
## Diff 影响检查
|
||||
|
||||
当被要求检查**当前修改(diff)**对 bible/beat 的影响时,按 **`.cursor/skills/diff-impact-check/SKILL.md`** 执行:获取指定文件或全量 `kb/bible`、`kb/beats` 的 diff,沿 wikilink 与 backlink 查关联内容,对比事实性表述(如 SSOT 与 beat Fiction/reveals),输出《Diff 影响报告》并标出潜在冲突(例如一处写「有人见过海」、bible 写「从来没人见过海」)。可指定检查某些文件的 diff,或检查所有 bible 与 beat 的未提交/已暂存变更。命令说明见 `.cursor/COMMAND-diff-impact-check.md`。
|
||||
|
||||
Reference in New Issue
Block a user