This generates reference documentation for your library's public API by reading source code directly, not guessing from context. It maintains a manifest to track every component, function, or command as a separate entry, starting with a full scan to build the list, then letting you generate docs one at a time or in batches. The batch mode forces you to approve 2-3 sample entries before it processes the rest, which saves you from reviewing 50 identical mistakes. It's strict about extracting types, defaults, and signatures from actual code rather than copying and renaming. Useful when you need accurate API docs that stay synced with implementation changes, distinct from task-oriented guides that teach workflows.
npx -y skills add liuzhengdongfortest/codestable --skill cs-libdoc --agent claude-codeInstalls into .claude/skills of the current project.
开始任何判断或动作前,先读取 .codestable/attention.md;缺失则视为骨架不完整,提示先补齐或运行 cs-onboard,不要回退到外部 AI 入口文件。
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 产物不在 .codestable/ 下——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 当天。
| 来源 | 关系 |
|---|---|
cs-feat-accept | 验收后新增/修改库公开接口 → 推送"需要更新 libdoc 吗?" |
cs-guide | guide 引用 libdoc 做详细参考;libdoc "相关条目"链回 guide |
cs-arch (check) | 检测到接口变更但 libdoc 未同步时把对应条目标 outdated,本技能 Phase 3 处理 |
cs-feat-design | 方案第 2 节可作 libdoc 补充信息源(但以源码为准) |
cs-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(除非用户明确暂缓)
.codestable/manifest.yaml 直接删行——改 status: skipped 并写 notejuliusbrussee/caveman
mattpocock/skills
shadcn/improve
obra/superpowers
forrestchang/andrej-karpathy-skills
vercel-labs/skills