From kflow
Generates reference documentation for library public surfaces (components, functions, commands) by reading source code directly. Supports single-entry and batch modes with manifest tracking.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kflow:k-libdocThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
开始任何判断或动作前,先读取 `.kflow/attention.md`;缺失则视为骨架不完整,提示先补齐或运行 `k-onboard`。
开始任何判断或动作前,先读取 .kflow/attention.md;缺失则视为骨架不完整,提示先补齐或运行 k-onboard。
guidedoc 教你"怎么用 X 做 Y",libdoc 告诉你"X 的每个零件长什么样、怎么配"。
guidedoc 写错可能是表达不清,libdoc 写错就是错——信息源是源码本身,类型 / 默认值 / 签名都有唯一正确答案。核心规则:不靠猜、不复制改名、每个条目独立读源码。
| guidedoc | libdoc | |
|---|---|---|
| 性质 | 任务导向(Tutorial / How-to) | 参考导向(Reference) |
| 回答 | "如何用 X 实现某个目标" | "X 的每个零件长什么样、怎么配" |
| 粒度 | 一个 feature / 一个场景一篇 | 一个条目一篇 |
| 信息源 | 方案 doc + 用户知识 | 源码本身(类型 / 注释 / 默认值) |
| 数量级 | 几篇到十几篇 | 几十到上百篇 |
互补:guide 引用 libdoc 做详细参考("完整 props 见 xxx"),libdoc 的"相关条目"链回 guide。
| 项目类型 | 条目粒度 |
|---|---|
| UI 组件库 | 一个组件 = 一个条目 |
| 工具函数库 | 一个模块或函数族 = 一个条目 |
| API Client | 一个 endpoint 族 = 一个条目 |
| CLI 工具 | 一个子命令 = 一个条目 |
初始化阶段确认条目粒度后续保持一致——粒度变来变去清单和搜索都会乱。
libdoc 产物不在 .kflow/ 下——API 参考是面向外部读者的可发布产物。
docs/api/{slug}.mddocs/api/manifest.yamldocs/api/ 是默认约定,项目已有其他约定(reference/ / components/)就以项目为准——开始前先确认。
参考材料在同目录 reference.md:
manifest.yaml 完整格式与 status 语义本技能正文只保留流程约束:libdoc 以源码为事实源,不靠猜,不复制上一个条目改名。
source_root 下文件结构,识别公开导出按逻辑分组manifest.yaml——所有条目初始 status: pending;落盘后 validate-yaml.py --file docs/api/manifest.yaml --yaml-only 校验;展示给用户 reviewskipped(内部实现)/ 调整分类 / 合并或拆分适合 1-3 个条目或首次试跑确认质量。
选定条目 → 读 source_files → 按模板生成 → 用户 review → 落盘 → validate-yaml.py --file {路径} --require doc_type --require entry --require status → manifest 对应条目 status: current
适合清单里大量 pending。
draft(不直接进 current——批量模式下样板是"风格参考样本"等整体 review 一起转 current)pending 逐条走"读源码 → 提取 → 生成",可用 subagent 并行;每条 status: draftvalidate-yaml.py --dir docs/api --require doc_type --require entry --require status 批量校验status: current批量模式硬规则:
skipped 加 note——硬猜出来的文档比没文档更有害代码变更后同步文档。三种入口任选:
search-yaml.py 搜 status=outdated——架构 check 或上次更新已标记的manifest.yaml 里 last_scanned 之后变更的源码文件search-yaml.py --sort-by last_reviewed --order asc 按最久没复核的排在前主动复核重新读源码 → 对比已有文档 → 增量更新变化部分 → validate-yaml.py 校验 → status: current + last_reviewed 当天。
| 来源 | 关系 |
|---|---|
k-feat-accept | 验收后新增/修改库公开接口 → 推送"需要更新 libdoc 吗?" |
k-guide | guide 引用 libdoc 做详细参考;libdoc "相关条目"链回 guide |
k-arch (check) | 检测到接口变更但 libdoc 未同步时把对应条目标 outdated,本技能 Phase 3 处理 |
k-feat-design | 方案第 2 节可作 libdoc 补充信息源(但以源码为准) |
k-trick | libdoc "注意事项"与 tricks 重合时交叉引用而不重复写 |
Phase 1:manifest.yaml 已落盘 + 用户已确认范围(含 skipped 理由)+ 粒度和输出路径已确认
Phase 2 单条目:条目按模板生成 + frontmatter 完整 + API 参考节信息来源于源码提取(非编造)+ 用户确认 + manifest 已更新
Phase 2 批量:样板(2-3 篇)已获用户确认 + 所有 pending 条目已生成或标 skipped + 用户做了整体 review + manifest 所有条目 status 已同步
Phase 3:outdated 条目已全部更新或确认不需更新 + manifest 无残留 outdated(除非用户明确暂缓)
.kflow/manifest.yaml 直接删行——改 status: skipped 并写 noteCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub kunbo928/kflow