开源项目第158期:cangjie-skill — 把书、视频、播客里的方法论蒸馏成可调用的 AI Skills

📅 2026/7/13 22:33:08 👁️ 阅读次数 📝 编程学习
开源项目第158期:cangjie-skill — 把书、视频、播客里的方法论蒸馏成可调用的 AI Skills

引言

“读完、看完、听完之后,带走一套能调用的方法论。”

这是「每日一个开源项目」系列的第 158 篇。今天的项目是cangjie-skill—— 一个把书籍、长视频、播客里的方法论蒸馏成可执行 AI Skills 的元 Skill 包。

名字取自仓颉 —— 传说中汉字的发明者。寓意恰当:这个工具做的事,是把内容转译成 agent 能读懂、能执行的另一种「语言」。

先说痛点:你收藏了多少篇文章、多少本书、多少期播客,是真的「运用了」还是「看过了」?摘要和笔记解决的是「我能回忆起来」,但不解决「我知道什么时候该用什么」。cangjie-skill 解决的是第二个问题 —— 把内容变成一套带触发条件的工具,交给 agent 在真实决策场景里帮你调用。

2,435 颗 Star,创建于 2026 年 4 月,已生成超过 20 本书籍的 skill pack。

你会学到什么

  • 为什么摘要不等于可复用的方法论
  • RIA-TV++ 七阶段流水线的完整设计
  • 三重验证的具体标准(为什么通过率只有 25-50%)
  • RIA++ 六个维度各自解决什么问题
  • 与 nuwa-skill / darwin-skill 的生态定位关系

前提知识

  • 使用过 Claude Code 或任意 AI agent
  • 了解 Skill / 技能包的基本概念

项目背景

概述

cangjie-skill 是一个「元 Skill」:它本身是一个安装在 Claude Code 里的 skill,用途是把其他内容(书、视频、播客)蒸馏成更多 skills。

它的逻辑起点来自另一个项目 nuwa-skill —— nuwa 做的是「把人蒸馏成 skill」(马斯克 skill、巴菲特 skill,模拟一个人的思维方式和表达 DNA)。cangjie-skill 做的是另一个维度:把这个人系统性输出的内容蒸馏成工具。两件事互补,不重叠。

视频内容建议搭配作者的 video-downloader skill 使用:先下载视频、提取字幕/转写文本,再交给 cangjie-skill 处理。

项目信息

  • 作者: kangarooking(袋鼠帝)
  • 主语言: Python
  • 许可证: MIT
  • 生态: nuwa-skill(蒸馏人)+ cangjie-skill(蒸馏书)+ darwin-skill(进化 skill)

项目数据

  • ⭐ GitHub Stars:2,435+
  • 🍴 Forks: 380+
  • 📄 许可证: MIT
  • 📅 创建时间: 2026-04-16

功能特性

不是摘要,是结构化复用

cangjie-skill 的 SKILL.md 开头就划定了边界:

✅ 做:方法论 / 决策框架 / 清单 / 原则 / 概念体系的蒸馏 ❌ 不做:书摘 / 读后感 / 作者人设角色扮演(后者请用 nuwa-skill)

摘要和 skill 的本质区别:摘要是「压缩」,skill 是「工具化」。一个带触发条件的 skill 能回答「什么时候该用这个框架」,而摘要做不到这一点。

支持的内容类型

虽然叫「拆书」,但文档里明确说:所有被蒸馏的长内容都适用,包括:

  • 书籍(PDF / EPUB / TXT)
  • 长视频字幕/转写稿(B 站、YouTube)
  • 播客文字稿
  • 课程讲义
  • 访谈记录
  • 长文和资料集

字幕文件里「章节」字段填时间戳,播客填集数,课程填讲次 —— 保持可追溯。

已生成的 Skill Pack 列表

书籍/来源Skills 数
巴菲特致股东的信(1957-2023)20
《穷查理宝典》12
段永平投资问答录15
《影响力》12
《疯传》15
《爆款文案》14
《文案创作完全手册》12
《1000个铁粉》13
165 个 AI 产品系统提示词15
《认知红利》15
《不拘一格:网飞自由与责任工作法》10
《黄帝内经》(素问+灵枢)22
《第一性原理》10
《毛泽东选集》第 1-5 卷25
吴恩达《AI for Everyone》视频课程25
《孙子兵法》8
《周易》8
《我与地坛》6
高等数学上册第一章8

这个列表本身就说明了一件事:蒸馏方法论不挑内容领域。投资判断、营销文案、中医经典、军事战略、数学教材 —— 只要有可抽取、可验证、可迁移的方法论,都能走这条管道。


深度解析

RIA-TV++ 七阶段流水线

阶段 0: Adler 整体内容理解 → BOOK_OVERVIEW.md ↓ 阶段 1: 5 个并行提取器 → 候选方法论单元池 ↓ 阶段 1.5: 三重验证筛选 → verified.md(通过率 25-50%) ↓ 阶段 2: RIA++ 构造 skill → 每个 skill 的 SKILL.md ↓ 阶段 3: Zettelkasten 链接 → INDEX.md + GLOSSARY.md ↓ 阶段 4: 压力测试(darwin 兼容) → test-prompts.json + 回炉淘汰 ↓ 阶段 5: 交付 → DIGEST.md + 安装到 skills 目录

名称拆解:

  • RIA:来自赵周《这样读书就够了》的便签拆书法(Reading / Interpretation / Appropriation)
  • TV:Triple Verification,三重验证
  • ++:面向 agent 执行的扩展 —— E(Execution 可执行步骤)+ B(Boundary 边界与盲点)

阶段 0:Adler 整体内容理解

借鉴 Mortimer Adler《如何阅读一本书》的分析阅读法,对整份内容做四步拆解:

  1. 结构:这本书在讲什么?整体骨架是什么?
  2. 解释:核心论点是什么?关键概念怎么定义?
  3. 批判:作者的论证有哪些盲点或局限?
  4. 应用:这本书的方法论适用于哪类问题?

产出BOOK_OVERVIEW.md,并展示给用户确认框架理解是否准确,再进入提取阶段。这一步的价值:后续所有 skill 的边界判断(B 维度)都来自这里的「批判」结果。

阶段 1:5 个并行提取器

5 个 sub-agent 同时启动,各自独立阅读、独立提取: 框架提取器 → 决策框架 / 思维模型 原则提取器 → 原则 / 清单 / 规则 案例提取器 → 作者在内容里亲自使用过的实例 反例提取器 → 内容里警告的失败模式 术语提取器 → 关键概念词典 各自输出到 candidates/<type>.md

并行提取而非串行的原因:不同类型的提取器读文本的「视角」不同。案例提取器在找「作者做了什么」,反例提取器在找「什么情况下会出错」—— 如果同一个 agent 顺序执行这两种任务,前一种任务的结果会影响后一种任务的视角。并行保证每种提取的独立性。

不支持并行时,可以串行执行同样的 5 个 extractor prompt,产出格式不变。

阶段 1.5:三重验证

这是整个流水线里最关键的质量门控,也是通过率只有 25-50% 的原因:

V1 跨域验证:书中至少 2 个独立段落(跨域,不能是同一论证链里的连续段落)有佐证。

V2 预测力:能用这个候选方法论回答一个书里没有明说的新问题?如果只能复述书里的内容而无法推断新情景,说明它不是独立的方法论单元,只是一段描述。

V3 独特性:这不是任何聪明人都会说的常识。「要诚实」「要努力」不是方法论,是废话。

三重验证全部通过才进入 verified.md,未通过的进入 rejected/ 并附原因 —— 保留审计轨迹,允许用户事后捞回。筛选完成后,把「通过 N 个 / 淘汰 M 个」列表给用户轻确认,再进入后续阶段(阶段 2-4 是最耗时的部分,这个确认能避免大量返工)。

阶段 2:RIA++ 六维度构造

每个通过验证的候选单元,按六个维度构造成一个 SKILL.md:

维度内容说明
R(Reading)原文引用,≤150 字/段确保可追溯,不是发明出来的
I(Interpretation)用自己的话重写方法论骨架避免照搬译本,强迫理解
A1(Past Application)原内容里作者亲自用过的案例提供具体的应用锚点
A2(Future Trigger)★用户在什么场景下会需要这个这变成 skill 的description字段,决定何时触发
E(Execution)1-2-3 可执行步骤面向执行,不是面向理解
B(Boundary)什么时候不适用 / 作者盲点来自阶段 0 的批判分析

A2 Future Trigger 是最关键的维度 —— 它决定 agent 在什么情境下会想到调用这个 skill。一个没有清晰触发条件的 skill 等同于摆设。

阶段 3:Zettelkasten 链接

参考 Zettelkasten 卡片笔记法,在 skill 之间建立关系图:

  • 引用(A 依赖 B):skill A 在某种情况下需要先用 skill B
  • 对比(A 对比 B):skill A 和 skill B 处理相似问题但方法不同
  • 组合(A 组合 B):skill A 和 skill B 联合使用效果更好

输出:

  • INDEX.md:所有 skill 的总览 + Mermaid 引用图
  • GLOSSARY.md:整个 skill pack 的共享术语词典(从 candidates/glossary.md 整理而来)
  • 回填每个 SKILL.md 末尾的「相关 skills」段

单个孤立的 skill 和一套有关联关系的 skill 网络,复用价值完全不同。

阶段 4:压力测试(darwin 兼容)

每个 skill 设计 5-10 条测试 prompt,必须包含三种类型:

  1. 应调用:这个场景下应该触发此 skill
  2. 不应调用(诱饵):这个场景看似相关但不应触发
  3. 边界模糊:需要判断的模糊场景

诱饵测试里,至少有 1 条是「应该触发同一本书里另一个 skill」的场景 —— 这是跨 skill 混淆测试,防止 agent 在选择 skill 时乱枪打鸟。

测试未通过的 skill 回炉重做阶段 2,不做表面修补。结果写入<skill-dir>/test-results.md

测试文件格式严格遵循 darwin-skill 的 JSON 格式,意味着这些 skill 生成后可以直接接入 darwin-skill 做自动进化。

阶段 5:交付

DIGEST.md ← 面向读者的精华长文:不读全书,只看这篇 安装到 skills 目录 ← 没有这一步,产出的 skill 无法被真正调用 询问用户安装位置: - 全局:~/.claude/skills/ - 项目级:.claude/skills/ 或 .cursor/skills/

DIGEST.md 解决的是另一个需求:你不一定需要调用 skill,有时只是想快速了解这本书到底讲了什么。

断点续跑机制

流水线每完成一个阶段,写入PIPELINE_STATE.md(当前阶段、已完成产物、各 skill 状态)。下次执行前先读这个文件,从上次中断处继续,不从头重来。

对于需要处理大量书籍的场景,这个机制保证了流水线的可靠性。

生态定位

nuwa-skill ──── 蒸馏「人」 思维方式、表达 DNA "马斯克会怎么想?" cangjie-skill ── 蒸馏「书/内容」 方法论、框架、原则 "这个框架应该什么时候用?" darwin-skill ─── 进化任意 skill 接收 test-prompts.json → 自动测试 → 迭代改进

三者咬合的关键:cangjie-skill 产出的test-prompts.json严格遵循 darwin-skill 格式,产出物可以直接被 darwin 接管做自动进化,不需要额外适配。

质量红线

触犯以下任一条件则阻止输出:

  1. 每个 skill 必须通过全部三重验证
  2. 每个 skill 必须有完整的 R/I/A1/A2/E/B 六段
  3. 原文引用 ≤150 字/段(英文 ≤100 词/段)
  4. 每个 skill 必须有test-prompts.json,且包含诱饵测试,至少 1 条是同书兄弟 skill 的场景
  5. description字段必须明确触发条件,不能是「一个关于 X 的 skill」

参考资源

官方链接

  • 🌟GitHub: kangarooking/cangjie-skill
  • 🔗nuwa-skill: alchaincyf/nuwa-skill(蒸馏人)
  • 🔗darwin-skill: alchaincyf/darwin-skill(进化 skill)
  • 📦示例 skill pack: buffett-letters-skill

总结

cangjie-skill 的核心洞察是:知识可复用的前提是知识被工具化,而工具化的前提是结构化——不只是「提炼了什么」,还要有「什么时候该用」「怎么执行」「什么时候不该用」。

三重验证(跨域 + 预测力 + 独特性)是整个流水线里最重要的一道门:25-50% 的通过率意味着大量看起来有价值的内容被筛掉了。这不是 bug,而是 feature —— 只有经过严格筛选的内容才值得花时间构造成 skill,否则会产生大量在真实场景里用处不大的「伪工具」。

A2 Future Trigger 维度是整个六维度框架里最难写、但也最有价值的部分。它强迫你回答「这个工具在现实里什么时候会被需要」,而不是「这个工具描述了什么」。这个问题往往比蒸馏内容本身更难。

对于经常和书、长视频、播客打交道的人,cangjie-skill 提供了一条从「消费内容」到「部署方法论」的明确路径 —— 最终输出不是笔记,而是一套可以在 agent 工作流里被调用的工具包。


探索 PrimeSkills —— 精选 AI agent 和技能工具,每一个都经过真实工作流验证。没有炒作,只有真正好用的工具。

访问我的个人主页,获取更多见解和有趣的产品。