关于 wiki-update
wiki-update 是用于修订现有 wiki 页面的技能,要求引用新信息来源并逐页确认。它会读取 wiki 规范、检查交叉引用的后续影响,并记录每次操作。
主要功能
- 01查找规范与链接样式
- 02提供带来源引用的差异
- 03写入前逐页确认
- 04检查交叉引用影响
- 05查找矛盾并刷新索引
- 06记录操作日志
适用场景
- 01更新包含新来源信息的页面
- 02处理 lint 报告中的建议
- 03修订 wiki 内容并保留可追溯性
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kfchou/ wiki-skills --skill wiki-update安装后在 Claude Code 中输入/wiki-update确认已加载。
详细介绍
Wiki 更新
修订现有 wiki 页面。写入前始终展示差异。始终记录日志。始终注明新信息的来源。
前置条件
查找 SCHEMA.md(从当前工作目录向上搜索,或在 ~/wikis/ 中搜索)。如果找不到,请告知用户先运行 wiki-init。阅读该文件,获取 wiki 根路径和约定。
链接样式。 从 SCHEMA.md 读取 link_style:。如果缺少此字段,或者 <wiki-root>/config/link-style.md 不存在,则默认使用 obsidian([[slug]])。否则,读取 <wiki-root>/config/link-style.md 中的输出和解析规则。扫描现有页面中的交叉引用时使用 ## Parse 规则;每当写入新的交叉引用或引用时,使用 ## Emit 规则。
流程
1. 确定需要更新的内容
用户可能会提供:
- 指定的页面名称 — 更新这些页面
- 新信息 — 重新生成索引(
python bin/generate-index.py),阅读wiki/index.md找出受影响的页面,然后阅读这些页面 - lint 报告 — 逐项处理其中的建议
2. 对每个要更新的页面
完整阅读当前内容。提出更改:
当前内容:
<引用现有文本>建议内容:<替换文本>原因:<说明更改的依据>来源:<URL、文件路径或信息来源说明>
务必包含来源。 缺少来源引用的编辑会导致无法追溯——将来你会不知道为何进行这项更改。
如果建议的编辑引入了新的 [[slug]], 在写入前,必须确认其目标对应现有的 wiki/pages/<slug>.md(或本次操作中创建的页面)——参见 SCHEMA.md 中的概念身份规则。绝不可写入尚未确认的 slug 链接。
写入每个页面前都要征求确认。不得在未逐页确认的情况下批量应用更改。
3. 检查下游影响
确定主要更新页面后,根据 config/link-style.md 中的 ## Parse 规则,扫描整个 wiki/pages/,查找指向这些页面的交叉引用。对于每个链接到已更新页面的页面:
- 此次更新是否改变了该页面中的任何断言?
- 如果是,请明确指出:“ 可能也需要根据此更改进行更新”
- 按照同样的写入前确认流程,询问是否要更新该页面
4. 矛盾排查
如果新信息与 wiki 中的内容矛盾,在更新前搜索所有页面,查找相矛盾的说法。该内容可能出现在多个位置。更新所有出现之处,而不仅仅是最明显的一处。
5. 重新生成 wiki/index.md
切勿手动编辑索引。如果页面的单行摘要或类别发生变化,请编辑页面自身的 summary / category frontmatter。始终更新页面的 updated 日期(保持 created 不变)。然后重新生成:
python bin/generate-index.py
6. 更新 wiki/overview.md
重新阅读 overview.md。如果更新改变了整体综合结论(形成新的理解、解决了尚未解决的问题或改变了关键主张),请按照相同的写入前确认流程,提出对 overview.md 的编辑建议。
7. 记录操作
遵循 SCHEMA 中的操作日志与提交约定:
- **Git wiki:**暂存更改并建议提交(默认使用 Conventional Commits 的
docs:前缀进行更新,并添加尾注);经用户确认后提交。docs: <what changed, briefly> Wiki-Op: update - **非 Git wiki:**追加到
wiki/log.md(即使文件已存在,也不要跳过):## [<today>] update | <list of updated page slugs> Reason: <brief description of what changed and why> Source: <URL or description>
常见错误
- 更新时未注明来源 — 始终标明新信息的出处,以便审计知识库。
- 跳过下游检查 — 更新内容与页面内容相矛盾,却不修改链接到该页面的页面,会造成悄无声息的不一致。
- 跳过日志记录 — 每次更改都必须记录:git 知识库通过提交记录更改(附带
Wiki-Op:trailer);非 git 知识库则将更改追加到log.md。 - 未经确认就批量写入 — 逐项展示差异。用户可能接受部分更改并拒绝其他更改。
- 追加而非更新 — 不要在页面正文中添加
## [date] update小节。应直接修改相关小节,更新 frontmatter 中的updated日期,并将更改记录到log.md。如果发现已有带日期的小节,请提出在此次更新中将其整合到相应位置。 - 编辑时臆造
[[slug]]链接 — 修订不得引入无法解析到任何内容的交叉引用 slug。请确认目标存在(或创建目标);参见SCHEMA.md中的概念身份规则。