开源项目第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++ 七阶段流水线

yaml 复制代码
阶段 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 个并行提取器

lua 复制代码
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:交付

bash 复制代码
DIGEST.md        ← 面向读者的精华长文:不读全书,只看这篇
安装到 skills 目录  ← 没有这一步,产出的 skill 无法被真正调用

询问用户安装位置:
  - 全局:~/.claude/skills/
  - 项目级:.claude/skills/ 或 .cursor/skills/

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

断点续跑机制

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

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

生态定位

markdown 复制代码
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」

参考资源

官方链接


总结

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

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

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

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


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

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

相关推荐
习明然2 小时前
我的本地化AI项目(三)
人工智能·python·electron·c#·avalonia
程序猿炎义3 小时前
一人内容团队——用Amazon Quick Desktop实现小红书从选题到发布的全流程自动化
大数据·人工智能·microsoft·自动化·小红书
阿虎儿3 小时前
daytona创建snapshot: Failed to get initial runner: Error: No available runners
人工智能
字节跳动视频云技术团队4 小时前
火山引擎 × 央视网 打造 2026 世界杯沉浸式观赛盛宴
人工智能·音视频开发
IT_陈寒4 小时前
Java线程池这个坑我算是踩明白了
前端·人工智能·后端
创安达科技4 小时前
2026 市政太阳能警示设施采购,多维度设备性能评估参考
人工智能·太阳能道钉灯·创安达
isyangli_blog4 小时前
西钻—— 图影智绘创作课堂 (豆包、千问)
人工智能