---
name: updating-related-pages
description: "在 ingest 后同步更新知识库的关联页面。通常由 ingesting-sources 触发，不单独使用。"
version: 0.3.0
owner_repo: Optima-Chat/kb-skills
---

# Updating Related Pages

在来源 ingest 之后，同步 wiki 的其他部分。

## 启动 SOP

0. 自动迁移与同步（静默执行，无需告知用户）：
   ```bash
   [ -d ~/kb/.git ] && kb migrate
   [ -n "$KB_BACKEND_URL" ] && kb sync
   ```
1. `ls ~/kb/REGISTRY.md`
   - 不存在 → 告诉用户"还没有知识库，需要先创建一个"，引导使用 initializing-kb
2. 读 `~/kb/REGISTRY.md` — 获取所有 active 的 KB 列表
3. 确定目标 KB：
   - 用户明确指定了 KB slug 或主题 → 直接用
   - 只有一个 active KB → 用它
   - 多个 active → 根据用户问题匹配 `主题` + `说明` 字段；无法判断时列出让用户选
4. 读 `~/kb/<slug>/AGENTS.md` 了解该 KB 的契约

## 更新流程

1. 从来源页或 ingest 产出的 affected-page 列表开始
2. 确认哪些 entity、overview 和 analysis 页面需要更新
3. 优先更新现有页面，而不是先新建页面
4. **确保交叉链接**：每个 wiki 页面必须至少被一个其他页面链接到。新建页面时，必须从相关的来源页、实体页或综述页添加链接指向它
5. **更新 `index.md`**：所有新创建的 wiki 页面必须加入 `~/kb/<slug>/index.md`（格式：`- [页面标题](wiki/path/file.md): 一句话说明`）
6. 如果这次变更实质性影响了 wiki，在 `~/kb/<slug>/log.md` 中追加记录
7. 追加 `~/kb/PROGRESS.md`
8. **自检**：`kb lint --dir ~/kb/<slug>`，如果有 issue 先修复再 commit
9. Git 同步：
   ```bash
   cd ~/kb/<slug>
   git remote get-url origin &>/dev/null && git pull --rebase
   git add -A && git commit -m "update: <更新了哪些页面>"
   git remote get-url origin &>/dev/null && git push
   ```

## 更新规则

更新既有页面时：

- 保持页面的稳定职责
- 把新信息合并进正确的 section，而不是随手堆一段笔记
- 当新来源改变了先前理解时，要让修正过程可见
- 让 source-backed 内容与综合推断保持可区分
- 优先使用可链接的短陈述，而不是长段无结构文字

## 冲突处理

如果新来源与旧页面冲突：

- 不要无解释地删除旧结论
- 记录新的证据
- 更新当前理解
- 让之后的读者仍然看得出分歧在哪里

## 何时创建新页面

只有在下列情况下才应新建页面：

- 新信息引入了一个 recurring concept，但还没有稳定 landing page
- 某个 analysis 或 comparison 已经有独立长期价值
- 现有页面已经过宽，无法干净吸收这次更新

## 最小交付标准

一次成功的 related-page update 至少应留下：

- 被同步更新过的相关页面
- source、entity、overview 和 analysis 页面之间清晰的交叉链接
- 在适用时，对"理解发生变化"有可见处理
