OKF 文档索引
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1ace7bf4/okf-formatter。
技能介绍
文档和代码各说一套话
很多团队的 wiki、ADR、参考页会越写越长:字段表从 Pydantic 模型里抄一遍,接口改了文档却没人改。OKF(Open Knowledge Format) 的思路是:每篇 Markdown 顶部的 YAML frontmatter 是这篇文档的结构化事实;正文只解释「为什么、怎么串起来」,凡是 schema、端点契约、配置键等权威定义在代码里,文档用 schema_source(如 connectors/web_api/models.py:PortfolioResponse)和 documents 指向它们,而不是在 prose 里重复维护。
技能在做什么
围绕 Job 1 — 按 OKF 维护文档 与 Job 2 — 快速找到该看的文档,技能指导你与仓库内 tooling 协作:
- Frontmatter 约定:通用字段含
type(wiki-chapter/adr/index等)、title、tags、intent(供检索排序的短句)、schema_source、documents;ADR 另有status、date、supersedes/superseded_by。文档之间的关系仍用正文里的普通 Markdown 链接构成知识图。 - 新建与校验:用
run.sh new打出 frontmatter 骨架;改文档前从代码里填好指针;提交前跑run.sh lint(--ci仅在 error 时非零退出),处理断链、悬空指针、缺失type等。 - 查找策略:先 grep,再脚本。字面量命中时 grep 已足够;
run.sh find/find_docs.py的价值在于按 intent 和 frontmatter「归属」排序——例如 symbol、endpoint、config key 或关键词,即使字面串埋在正文深处,仍优先返回「拥有」该条目的文档。run.sh schema可解析某文档的schema_source并打印真实代码定义;run.sh index [--cache]导出全库 frontmatter 索引。
适用边界
脚本对带 OKF frontmatter 的仓库是只读的(除非你主动改文件);需存在 docs/wiki/ 等约定布局,或在仓库根用 --repo 指定。未迁移的旧文档在 lint 里多为 info,不应单独当作 CI 失败原因。更完整的 schema 与「不要写成上千行 prose」规则见技能资料中的 references/conventions.md、references/okf-spec.md、references/lookup-strategy.md。
使用场景
- 仓库里接口或 Pydantic 模型已改,提交前用 `run.sh lint` 查出哪些文档的 `schema_source` 指针悬空
- 只记得配置键 `verdict.risk_profile` 或 symbol 名,用 `run.sh find` 按归属排序找到应读的 wiki/参考页
- 要新增一篇 ADR,用 `run.sh new` 生成 frontmatter 骨架并填写 `status`、`supersedes` 等生命周期字段
- 不想通读长文,对某篇文档执行 `run.sh schema` 直接查看其指向的权威代码定义
适合人员
- 维护 `docs/wiki`、ADR 与参考页的后端工程师,需要让文档指针与代码变更在同一套 lint 里可发现
- 接手带 OKF frontmatter 的 monorepo 的新人,要按 endpoint 或 intent 找到权威说明而不是正文里的过时复述
- 负责文档规范的技术写作者,要推行「结构化 frontmatter + 正文只解释、不抄字段表」的 OKF 维护方式
- 在代码评审或排障时频繁 grep 仍不确定「哪篇文档算 owner」的开发者,需要 intent 排序的 find 作为后备检索