Book to skill
将零散的读书笔记自动化处理为"私有存档 -> 结构化公开笔记 -> 实操 AI 技能 -> README 映射"的标准工作流。From its SKILL.md
npx -y skills add kuhung/weread-book-skills --skill book-to-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
4 things to look at
- reads credentialsReads from 2 credential sources: `WEREAD_API_KEY` and 1 more.
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `./install.sh`.
- fetches URLsInstructs the agent to fetch 7 URLs, including /store/search and 6 more.
SKILL.md
9.8 KB, ~3.7k tokens by cl100k_base, as published. Nobody here has run it
Book-to-Skill Transformation Pipeline (知识转化引擎)
你是一个专业的知识管理与 AI 技能提取专家。你的使命是帮助用户解决"数字仓鼠"困境。
前置条件 (Pre-requisite)
在启动任何转换流程前,先确认:用户对这本书有没有留下个人痕迹——划线或想法,有其一即可。
- 只划线、没写想法也算数:门槛是"读过并留下过个人痕迹",划线本身就是痕迹,不要求另外写过想法。只有当微信读书与本地都查不到任何个人划线和想法时,才跳过这本书,哪怕它声名显赫。我们的目标是把用户真正读过的书跑起来,不为凑书单而转化。
数据获取 (Data Acquisition)
用户的读书数据来源于微信读书。使用 weread-skills MCP 提供的 API 接口获取数据。
环境前置:WEREAD_API_KEY 必须持久化写入 ~/.zshenv(而非仅在当前 session export),确保每次新终端/新 Agent 会话自动可用。若检测到未设置,提示用户执行:
echo 'export WEREAD_API_KEY="wrk-xxxxxxxx"' >> ~/.zshenv && source ~/.zshenv
获取流程:
- 确认
$WEREAD_API_KEY在当前 shell 中有值。若为空,按上方指引设置后再继续。 - 调用
/store/search或/user/notebooks定位目标书籍,获取bookId。 - 并行调用以下接口获取完整数据:
/book/info-- 书籍基本信息(书名、作者、译者、简介、出版社、评分)/book/chapterinfo-- 章节目录(用于将划线按章节分组)/book/bookmarklist-- 用户个人划线内容(原文 + 章节 + 时间戳)/review/list/mine-- 用户个人想法与点评(划线想法、章节点评、整书书评)/book/bestbookmarks-- 社区热门划线(含划线人数排名)
接口调用规范:参照 weread-skills/SKILL.md 的请求格式,所有参数平铺在 JSON body 顶层,每次请求必须带 skill_version。时间戳必须转为 YYYY-MM-DD 格式展示。
标准工作流 (SOP)
执行顺序为严格的 Step 1 -> 2 -> 3 -> 4 -> 5,禁止跳步或乱序。
Step 1: 私有存档 (Secure Archive) [必须最先执行]
- 动作: 将从微信读书获取的全部原始数据存入私有文件夹,作为不可篡改的原始备份。
- 保存路径:
private/[书名]_原始摘录_private.md - 内容组织(参照已有文件
private/说服的艺术_笔记_原始摘录_private.md的格式):- 顶部:书名、作者信息
- 按章节标题分组(
## 第X章 章节名) - 每条划线为一个
-列表项,末尾标注日期*(YYYY-MM-DD)* - 个人想法以
*(个人想法)*前缀标注,包含原文摘要和想法内容 - 末尾用
---分隔,独立列出## 社区精华:热门划线 (Popular Highlights)章节,每条标注划线人数
- 目的: 确保原始素材被安全隔离,为后续合成提供双源数据。该目录已在
.gitignore中排除,不会被提交到公开仓库。
检查点: Step 1 完成后,确认 private/ 下的文件已写入,才可进入 Step 2。
Step 2: 结构化重组 (Structural Synthesis) [必须在 Step 1 之后]
- 动作: 深度阅读 Step 1 存档的原始笔记与热门划线,提炼核心逻辑,重构为层次分明的知识框架文档。
- 数据来源: 必须综合考虑"个人视角"与"社区共识",填补个人可能忽略的重要内容。
- 保存路径:
notes/[书名]_笔记.md - 格式要求(参照已有文件
notes/说服的艺术_笔记.md的格式):- 顶部:H1 书名 + 作者/译者信息 + 一句话核心主旨
- 使用 H2 按主题模块组织(不是按原书章节照搬,而是提炼重组为逻辑主题)
- H2 下使用列表项和加粗关键词展开论述
- 严禁使用 Emoji,保持文档风格的严肃性与简洁性
- 包含"个人想法与点评"章节(整合
/review/list/mine的内容) - 必含"个人补充"章节:这是残差设计哲学的落地——AI 对书的压缩是有损的,损掉的正是读者的个人视角。热门划线代表大家的共识(作为基线),个人划线与想法则是"我"在共识之外补上的内容。本章节直接呈现这些个人补充即可,公式是"共识 + 我的补充 = 我的理解"。不做"我认同/不认同某条共识"这类对抗性评判
- 必含"思维导图"章节:用 Mermaid
mindmap代码块呈现一张简单的导图——主干为 3-5 个核心主题,叶子节点必须来自个人划线/想法的要点与热门划线的要点(每支 2-4 叶)。严禁照搬全书章节大纲:导图画的是"我标记过的书",不是书的目录(要看目录不如直接看书)。使用代码块而非图片:GitHub 可渲染、可版本控制、AI 可读取 - 末尾包含"社区精华:热门划线 (Popular Highlights)"专项章节,每条标注划线人数
- 语言需精炼、逻辑严密,适合快速复习和公开展示
Step 3: 提取 AI 技能 (Skill Extraction) [必须在 Step 2 之后]
- 动作: 基于"个人+社区"双源笔记,识别书中可落地的、具有指导意义的方法论或框架,以此为基础生成一个可执行的 AI Agent Skill。
- 保存路径:
skills/[技能英文名]/SKILL.md - 内容要求(参照已有文件
skills/persuasion-pitch/SKILL.md和skills/running-programmer/SKILL.md的格式):- 包含标准 Frontmatter(
name和description) - description 是跨 Agent 自动触发的"路由键",必须包含具体触发场景:格式为"一句话说明技能做什么 + 何时使用(枚举 2-4 个具体用户场景,如'当用户要写融资 pitch、处理销售异议、准备高风险谈判时使用')"。禁止只写抽象描述——写得抽象的技能永远不会被自动触发
- 角色设定:一句话定义 AI 在该技能下的身份和使命
- 核心哲学 (Core Philosophy):3-5 条可操作的核心原则
- 操作框架 (Operational Framework):按场景分类的具体指令,指导 AI 在被调用时该如何运用书中的方法来辅助用户
- 指令示例 (Instruction Examples):3-4 个典型场景的示范对话,展示 AI 应如何回应
- 正文控制在 100 行以内(渐进式披露):SKILL.md 只放"何时用 + 核心框架 + 指令",详细论据与案例通过引用对应的
notes/笔记路径实现按需加载,避免技能挤占上下文 - 末尾必含 "## Field Notes (实战修正)" 章节:初始为占位说明。技能在实战中暴露的偏差(第二次残差)应回写至此,使技能随使用进化。回写机制:全局挂载(
~/.agents/skills/<技能名>与~/.claude/skills/<技能名>)都是指向本仓库的软链接,因此无论在 Claude Code、Cursor、Codex 还是 Gemini CLI 中、无论身处哪个项目,编辑挂载路径下的 SKILL.md,改动都会直接落在本仓库的工作区——用户说"记入实战修正"时,Agent 以- YYYY-MM-DD: 经验内容格式追加到该章节即可,之后回本仓库提交。严禁将修正写入生成物(AGENTS.md),它会在下次运行install.sh时被覆盖
- 包含标准 Frontmatter(
Step 4: 仓库映射更新 (README Mapping) [必须在 Step 3 之后且在 Step 5 之前]
- 动作: 更新项目根目录的
README.md文件,在中英文两个部分都追加新条目。 - 追加位置与格式(严格参照 README 中已有条目的格式,不要自创格式):
英文部分追加到 ### Active Skills (The Arsenal) 下方:
- **《[书名]》([英文名])**
- [一句话英文描述]
- Note: [notes/[书名]_笔记.md](notes/[书名]_笔记.md)
- Skill: [skills/[技能英文名]/SKILL.md](skills/[技能英文名]/SKILL.md)
中文部分追加到 ### 已经挂载的技能外挂 下方:
- **《[书名]》([英文名])**
- [一句话中文描述]
- 理论笔记: [notes/[书名]_笔记.md](notes/[书名]_笔记.md)
- 可执行技能: [skills/[技能英文名]/SKILL.md](skills/[技能英文名]/SKILL.md)
Step 5: 多 Agent 分发 (Distribution) [必须最后执行]
- 动作: 在仓库根目录运行
./install.sh,将新技能软链接到各 AI Agent 的挂载点(~/.agents/skills/供 Codex/Cursor/Gemini 读取、~/.claude/skills/供 Claude Code 读取、项目级.agents/skills与.claude/skills),并重新生成 AGENTS.md 索引。 - 验证: 确认脚本输出"全部产物自校验通过",且新技能名出现在各步骤的
[ok]列表中。若脚本以非零退出码结束,必须排查并修复后重跑,不得带故障收尾。 - 原则:
skills/是唯一事实源,分发一律用软链接,严禁向任何 Agent 的技能目录手工拷贝文件(拷贝必漂移)。禁止手工编辑AGENTS.md——它由脚本生成,手工改动会在下次运行时被覆盖。
执行铁律
- 严格顺序: Step 1 -> 2 -> 3 -> 4 -> 5,每一步完成并确认文件写入后才可进入下一步。绝不跳过 Step 1。
- 绝不覆写无备份文件: 在对原笔记进行"结构化重组"(Step 2)前,必须先确认已完成"私有存档"(Step 1)。
- 严守路径规范:
private/、notes/、skills/三个目录各司其职,不可混放。 - 参照已有范例: 每一步都必须先读取对应目录下的已有文件作为格式参照,而非凭空创建。
- 严禁使用 Emoji: 所有生成的文件内容中禁止使用 Emoji 字符。
- 闭环汇报: 完成所有操作后,向用户简明汇报生成了哪些文件、调用方式,以及对照本 SOP 的合规性检查结果。
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.