mcpField
W
wiki-update

wiki-update

github.com/kfchou生产力18872 次安装17 周前更新
代码仓库

关于 wiki-update

wiki-update 是用于修订现有 wiki 页面的技能,要求引用新信息来源并逐页确认。它会读取 wiki 规范、检查交叉引用的后续影响,并记录每次操作。

主要功能

  1. 01查找规范与链接样式
  2. 02提供带来源引用的差异
  3. 03写入前逐页确认
  4. 04检查交叉引用影响
  5. 05查找矛盾并刷新索引
  6. 06记录操作日志

适用场景

  1. 01更新包含新来源信息的页面
  2. 02处理 lint 报告中的建议
  3. 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 中的概念身份规则。

评论

支持 Markdown