Install
$ agentstack add skill-spacezephyr-space-weread-space-weread-coach ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
weread-coach — 微信读书使用教练
把读过的书"用起来"。覆盖三个真实场景:学新东西、写东西要引用、把读过的东西反复激活。
前置依赖
weread-skills已安装- 环境变量
WEREAD_API_KEY已配置 - 缓存目录:
/tmp/space-weread-coach/(数据缓存 24 小时) - 状态目录:
~/.claude/skills/space-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/space-weread-coach/scripts/fetch_corpus.py
脚本会缓存 /tmp/space-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/space-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:去重保证
review_history.jsonl每行一个 JSON:{"bookmarkId":"...","shown_at":"YYYY-MM-DD HH:MM"}- 当所有划线都已被推送过一遍后,清空历史重新轮(脚本会在没有未推送项时自动重置,并提示"已完成全集一轮,开始第 N 轮")
定时推送配置
选项 A:Claude Code /loop
在终端执行:
/loop 1d 推一条今日读书回顾给我
选项 B:OpenClaw / cron
crontab 加一行(每天早 8 点):
0 8 * * * /usr/bin/python3 ~/.claude/skills/space-weread-coach/scripts/pick_review.py --notify
脚本带 --notify 时会调用 macOS osascript -e 'display notification' 发送系统通知。
选项 C:Claude Code schedule skill
/schedule create "每天 8 点推送一条微信读书回顾" --cron "0 8 * * *"
通用注意事项
- 不重复抓取:三个功能共享
/tmp/space-weread-coach/corpus.json,24 小时内不重抓 - 去重严格:回顾功能必须用
bookmarkId作为唯一键,不能因为划线内容相同而误判 - 加密风险:API Key 不要写入任何缓存文件,只从环境变量读
- 回顾的"激活提问"质量:不要敷衍写"你怎么看"。要结合划线内容设计具体问题,例如对斯多葛划线问"今天哪件事最适合用这条原则"
- 引用功能避免幻觉:只输出真实存在于用户语料里的划线原文,不要编造
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: SpaceZephyr
- Source: SpaceZephyr/space-weread
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.