spacezephyr/read-buddy · Archived

read-weread-coach

微信读书教练 — 把读过的书"用起来"。三种用法:(1) 推荐 - 想搞懂一个领域时,?

First seen Jul 11, 2026

Installation

$ npx skills add spacezephyr/read-buddy --skill read-weread-coach

Summary

微信读书教练 — 把读过的书"用起来"。三种用法:(1) 推荐 - 想搞懂一个领域时,先判段位再给阶梯书单;(2) 引用 - 写作时基于已读划线给出可引用的书与原话;(3) 回顾 - 每天推送一条历史划线,自动去重,支持手动与定时触发。触发词:"我想搞懂…

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from spacezephyr/read-buddy · top by installs.

npx skills add spacezephyr/read-buddy

Browse all from spacezephyr/read-buddy

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 60
License MIT
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,869 B
  • docs SUMMARY.md 513 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

weread-coach — 微信读书使用教练

把读过的书"用起来"。覆盖三个真实场景:学新东西、写东西要引用、把读过的东西反复激活。

前置依赖

  • weread-skills 已安装
  • 环境变量 WEREADAPIKEY 已配置
  • 缓存目录:/tmp/read-weread-coach/(数据缓存 24 小时)
  • 状态目录:~/.claude/skills/read-weread-coach/state/

功能 1:推荐 · 阶梯书单

触发词

  • "我想搞懂 XX / 入门 XX / 学 XX"
  • "给我一个 XX 阶梯书单"
  • "XX 从哪本书读起"

流程

步骤 1:判段位(必问)

你目前对【XX】的水平?

a. 完全新手,零基础
b. 听说过、读过零星文章,没系统
c. 有一定基础,想突破到前沿
d. 已经熟练,想找冷门好书

步骤 2:拉用户书架数据/user/notebooks + /shelf/sync 获取已读+在读书单。

步骤 3:生成 5 层阶梯书单

层级 用途 数量
① 引子 一篇文章或一本薄书破除门槛 1
② 入门 体系化的基础书 1-2
③ 经典 该领域绕不开的奠基作 1-2
④ 前沿 近 3-5 年的代表作 1-2
⑤ 实践 把知识转化为行动的工具书 1

步骤 4:标注

  • 用户已读 → 标 ✅ + 标记 "你已读 X% / Y 条划线"
  • 在书架但没读 → 标 📚 "已在书架"
  • 完全新书 → 标 🆕

根据段位调整起点:a 从 ① 开始,b 从 ② 开始,c 从 ③ 起跳,d 直接到 ④⑤。

步骤 5:给出 1 条建议 基于阶梯的第一个未读项,告诉用户:本周读哪本,预计多久,读完做什么。


功能 2:引用 · 从已读书中找证据

触发词

  • "我在写关于 XX 的内容,能引用哪本书"
  • "这个观点哪本书讲过"
  • "我想引用一个关于 XX 的观点"

流程

步骤 1:确认引用主题 让用户用一句话说清楚:要论证的观点 / 文章的角度。

步骤 2:在用户已读语料中检索

执行:

python3 ~/.claude/skills/read-weread-coach/scripts/fetch_corpus.py

脚本会缓存 /tmp/read-weread-coach/corpus.json(24h 内复用)。

然后扫描两个语料库:

  • marks_corpus:所有划线原文
  • reviews_corpus:所有想法/书评

按关键词 + 语义匹配,找出 5-8 条最相关的划线/想法。

步骤 3:输出

每条引用包含:

  • 划线原文(≤ 50 字)
  • 书名 + 作者
  • 划线时间
  • 建议用法:直接引用 / 作为论据 / 反向引用(用作对照) / 改写后用

步骤 4:若已读不够用 当用户已读语料中找不到 3 条以上强相关时,额外推荐 2-3 本未读但相关的书(来自 weread 商城或经典推荐)。


功能 3:回顾 · 每日推送一条划线

触发词

  • "今日笔记 / 推一条划线 / 读书回顾 / 给我一条今日 review"
  • 或由 /loop / OpenClaw cron / Claude Code schedule 定时触发

流程

步骤 1:保证缓存最新 执行 scripts/fetch_corpus.py(自动跳过 24h 内缓存)。

步骤 2:调脚本挑选并写入历史

python3 ~/.claude/skills/read-weread-coach/scripts/pick_review.py

脚本逻辑:

  • 加载所有划线(来自 corpus.json)
  • 过滤掉 state/review_history.jsonl 中已出现过的 bookmarkId
  • 按时间反向加权(越老的越可能被选中,激活遗忘的内容)
  • 输出 JSON:bookmarkId / 书名 / 作者 / 章节 / 划线原文 / 划线时间
  • 追加到 state/review_history.jsonl

步骤 3:包装输出

格式示例:

📖 今日回顾 · 2026-05-19

《书名》— 作者
🔖 第 X 章 · 划线时间 YYYY-MM-DD

> 划线原文(最长 100 字)

💭 一句话激活提问:
基于这条划线给一个引导性问题,让用户回到当时的思考语境。

步骤 4:去重保证

  • reviewhistory.jsonl 每行一个 JSON:{"bookmarkId":"...","shownat":"YYYY-MM-DD HH:MM"}
  • 当所有划线都已被推送过一遍后,清空历史重新轮(脚本会在没有未推送项时自动重置,并提示"已完成全集一轮,开始第 N 轮")

定时推送配置

选项 A:Claude Code /loop

在终端执行:

/loop 1d 推一条今日读书回顾给我

选项 B:OpenClaw / cron

crontab 加一行(每天早 8 点):

0 8 * * * /usr/bin/python3 ~/.claude/skills/read-weread-coach/scripts/pick_review.py --notify

脚本带 --notify 时会调用 macOS osascript -e 'display notification' 发送系统通知。

选项 C:Claude Code schedule skill

/schedule create "每天 8 点推送一条微信读书回顾" --cron "0 8 * * *"

通用注意事项

  1. 不重复抓取:三个功能共享 /tmp/read-weread-coach/corpus.json,24 小时内不重抓
  2. 去重严格:回顾功能必须用 bookmarkId 作为唯一键,不能因为划线内容相同而误判
  3. 加密风险:API Key 不要写入任何缓存文件,只从环境变量读
  4. 回顾的"激活提问"质量:不要敷衍写"你怎么看"。要结合划线内容设计具体问题,例如对斯多葛划线问"今天哪件事最适合用这条原则"
  5. 引用功能避免幻觉:只输出真实存在于用户语料里的划线原文,不要编造