把一本书变成 AI 技能:一天折腾下来的实战与踩坑
发布于 2026年7月20日 · 阅读约 8 分钟 · 作者:AI家AI户
我桌上常年放着一本《一本书读懂财报》。每次想核对点什么——比如"净利润为什么不等于现金流""三张表到底怎么勾稽"——都得重新翻目录找章节。翻多了就烦。
那天一拍脑门:与其反复翻,不如把它塞进一个能自己调用的 AI 技能里。以后直接问,它按顺序把知识点、案例、图讲出来就完了。
WorkBuddy 市场里正好有个叫 book-to-skill 的技能,专干这事——把一本书(PDF、EPUB、DOCX 都行)自动拆成结构化的 skill。于是一整天就搭进去了。下面是全过程,包括我踩的几个坑。你要是也想把常读的书沉淀成"随身专家",照着走就行。
一、先用 book-to-skill 把 PDF 转成技能
装技能很简单,把仓库地址丢给助手让它执行就行:
https://github.com/virgiliojr94/book-to-skill
装好之后它躺在 ~/.workbuddy/skills/ 下,随时能叫。然后把书的路径给它:
用 book-to-skill 把 C:\Users\gyu\Desktop\个人\电子书\一本书读懂财报.pdf 转成 skill
剩下的它自己干:抽正文、认章节、生成 SKILL.md(技能入口,带 frontmatter 里的 name 和 description),把各章拆进 chapters/,再附上术语表、速查表这些支撑文件。
这里有个经验:转换质量基本取决于原书排版干不干净。扫描版如果有大段图片式文字,抽取效果会打折,尽量用文字层完整的 PDF。
这一步走完,我手上有了一个"照着书长出来"的技能。但它只是复刻,还不算"我的"。
二、把毛坯打磨成"自己的技能"
book-to-skill 给的是毛坯,直接用会觉得哪哪都不顺手。我做了这么几件事:
先改名。原生成的名字又长又没辨识度,我改成 yg-book-caibao("一本·读懂财报"的拼音缩写),叫起来顺。
然后不急着全铺,先打样一章。我让它挑最核心的「解剖现金流量表」那章,出一版图文讲解——文字加上可交互的可视化 HTML。风格对路了,再批量往下做,比一次性全转靠谱得多。
确认风格 OK,我把剩下 5 章按同一套路补齐(基础讲解 + 图文讲解 + 可视化),顺手补了份使用说明,写清楚这个 skill 调用后能产出什么、怎么用。其中「现金流量表」那章还反哺回了 SKILL.md,让技能主干直接带上核心框架。
最后推到 GitHub 私有仓:
https://github.com/gyuanhao/yg-book-caibao
推送用的是 git -c url."https://<token>@github.com/".insteadOf="https://github.com/",把 token 临时注进命令行,不写进任何配置文件。这个习惯是后面踩坑才学乖的(见最后一节)。到这,技能算是"我的"了:私有、能用、随时 clone。
三、想开源,一头撞上版权问题
用着用着我起了个念头:这东西挺好,开源分享出去吧。念头刚起,问题就来了——这技能是从一本有版权的书里长出来的。
我做了两轮审查,今天最重要的认知转折就在这。
第一轮,我生成了一份 开源合规清单.md 自查,然后把 6 章讲解和 6 个基础章全部改写成原创表达:事实和框架留着(会计恒等式、利润漏斗、五力图、效率×效益=ROA 这些本来就是公共知识),去掉原书的专有叙事和精确数字,换成标注了"虚构示例"的自创内容。又加了 MIT 的 LICENSE,附上 Scope Notice 说明"只覆盖本仓库原创表达,不授予原书权利",把原书署名放进 NOTICE.md。
本以为清干净了。结果再扫一遍,好几个地方还残留着原书专属表达——SKILL.md、patterns.md、cheatsheet.md 里还有"新公司 13 项活动""小张公司案例""造纸 vs 彩电"之类。逐个修掉,README 开头也从"基于……整理"改成了"原创学习笔记,受原书启发",定位从"衍生"挪到"灵感来源 + 原创虚构"。
这轮下来我记住一件事:署名不等于侵权豁免。诚实地署上原作者名字是好事,但它不改变"内容仍然受原书版权约束"这个事实。这种版本只适合放私有仓或个人学习,公开再分发还是有风险。
四、为了能上架,做"真·原创"改造
后来我想把它挂到 SkillHub(小红书的 AI 技能平台)上。读它的《Red Skill 服务协议》时,看到一条硬条款:4.3(2) 要求你保证技能不侵犯任何第三方知识产权。一旦作了虚假保证,按协议要个人全额赔偿。
这就意味着"带署名放私有仓"那套安全姿态,到了公开市场不够用了。摆在面前三条路:
| 选项 | 说明 | 结论 |
|---|---|---|
| A. 真·原创重写 | 只留公共领域原理,丢掉原书招牌隐喻与架构 | ✅ 选它 |
| B. 保留署名仅放仓库 | 不提交 SkillHub 的"无侵权"认证 | 放弃上架 |
| C. 照字面只删署名 | 内容骨架不动 | ❌ 虚假保证,最危险 |
我选了 A,而且是真原创,不是"只删署名"。道理很简单:删掉书名不会让内容变原创,反而从"诚实的衍生笔记"变成"隐瞒来源的再分发",法律上更被动。
具体怎么做的:name 改成 financial-statement-analysis;删掉书名、作者,以及"资产负债表=照相机、利润表=摄像机"这种原书招牌隐喻,换成"存量/流量"的中性框架;6 章全部重写,用并行子代理各写一章(基础讲解 + 图文讲解 + 可视化 HTML),统一用虚构企业「恒新制造」「云川零售」加中性数字;支撑文件、中英 README、NOTICE、LICENSE、合规清单,全改成原创声明。
全仓再扫一遍原书专有名词:0 命中(只有合规清单里"已去除照相机/摄像机"那句自述算 1 处,不是内容引用)。
原创化的边界,我是这么把握的:事实和通用方法不受版权保护——会计恒等式、比率公式、杜邦分解、波特五力,全是公共知识;受保护的是"原书对内容的选取、编排,以及那些招牌表达"。改写时死盯后面这半句就行。
五、封装与发布
打包时又踩一个坑。官方的 package_skill.py 校验结构能过,但它会把整个 .git(含历史)一起打进去,不适合公开上传。我干脆自己写了个脚本生成干净 zip:排除 .git,也排除 zip 自己。
financial-statement-analysis.zip (28 项,SKILL.md 在根目录)
中途还发现包里混进了个旧残留 yg-book-caibao.zip(嵌套压缩包),删掉重打才干净。
接着写了份 SKILLHUB_UPLOAD.md,把平台详情页要填的东西——名称、描述、功能范围、使用说明、依赖技术、开源版权、风险提示——全写好,到时候直接复制粘贴,省得现场组织语言。
最后转 Public 再推送。GitHub 的可见性开关藏在 Settings 最底部的 Danger Zone → Change repository visibility 里,第一次找了半天。转成 Public 后用旧 token 把本地原创版推上去(b56f182..3536c14 main -> main),信息单里的"源码"链接也就随之生效了。
六、今天踩的坑,值得记下来
别在聊天里粘贴 GitHub token。我今天两次把 token 明文贴进对话,等于把钥匙挂门上。正确做法是用完立刻去 github.com/settings/tokens 点 Revoke,下次要用再生成新的,养成"一次性 token"的习惯。撤销不影响已经推上去的代码。
推送用 git -c url.insteadOf 注入 token,别写进 .git/config,免得凭据残留在本地。
book-to-skill 给的是毛坯不是成品。改名 → 打样一章 → 写说明 → 批量铺开 → 反哺主干,这套顺序比"一次性全转"稳得多。
开源前必须做一次 IP 审计。把原书专有名词——人名、案例名、精确数字、招牌隐喻——挨个扫,零命中才算干净。光改个 README 没用。
"署名"和"能公开再分发"是两码事。私有仓里的诚实衍生笔记没问题;要上公开市场,得走到真原创这一步——只留公共领域原理加原创示例,才能诚实地勾上"无第三方 IP 侵权"。
打包记得排除 .git 和旧 zip,不然会把历史或嵌套压缩包带出去,上传时挺尴尬的。
写在最后
从一本 PDF,到私有技能,再到能上架的原创公开技能,这条路每一段都在重复同一个道理:工具能帮你生成,但"它属于谁、能走到哪一步",取决于你有没有亲手补上合规和原创那层功夫。
book-to-skill 解决的是"从书到技能"这个 0→1。真正让它变成我自己的、能拿出去分享的东西,是后面那些改名、打样、审计、重写、打包的笨活。
你要是也想试,最省心的起点是:挑一本你真的常翻的书,先转一章看看风格,再决定要不要铺满全书。
附:本次产出的关键文件——技能目录 ~/.workbuddy/skills/yg-book-caibao/,上架包 financial-statement-analysis.zip,上传信息单 SKILLHUB_UPLOAD.md,远端仓库 github.com/gyuanhao/yg-book-caibao(已 Public)。