$npx -y skills add SpaceZephyr/read-buddy --skill read-weread-analyzer基于微信读书的书架、阅读时长、笔记、划线数据,生成 10 维度的深度阅读分析报告。当用户说"分析我的微信读书"、"读书画像"、"阅读分析"、"我的阅读报告"、"猜我的 MBTI"、"读书复盘"时触发。输出美观的 9:16 白底简约 HTML 可视化页面。
| 1 | # weread-analyzer — 微信读书深度阅读分析 |
| 2 | |
| 3 | ## 触发词 |
| 4 | |
| 5 | - 分析我的微信读书 |
| 6 | - 读书画像 / 阅读画像 |
| 7 | - 我的阅读报告 / 读书复盘 |
| 8 | - 根据我的阅读猜 MBTI |
| 9 | - 阅读兴趣分析 |
| 10 | |
| 11 | ## 前置依赖 |
| 12 | |
| 13 | - `weread-skills` 已安装 |
| 14 | - 环境变量 `WEREAD_API_KEY` 已配置 |
| 15 | |
| 16 | ## 工作流 |
| 17 | |
| 18 | ### 步骤 1:数据采集 |
| 19 | |
| 20 | 执行 `scripts/fetch.py`,自动拉取: |
| 21 | - `/user/notebooks` 分页全量 |
| 22 | - 每本书的 `/book/bookmarklist` + `/review/list/mine` |
| 23 | - `/readdata/detail` mode=annually(当前年 + 上一年,覆盖近 12 个月) |
| 24 | - `/shelf/sync`(书架全貌) |
| 25 | |
| 26 | ```bash |
| 27 | python3 ~/.claude/skills/read-weread-analyzer/scripts/fetch.py /tmp/read-weread-analyzer/data.json |
| 28 | ``` |
| 29 | |
| 30 | 数据范围说明:**优先使用最近 12 个月数据**。如果用户首次有效阅读到现在不足 12 个月,使用全部可用数据,并在报告封面注明范围。 |
| 31 | |
| 32 | ### 步骤 2:深度分析(必须完成全部 10 个维度) |
| 33 | |
| 34 | 逐一产出,**禁止跳过任何一项**。每个维度的产出要求如下: |
| 35 | |
| 36 | #### 1. 阅读画像 Reading Persona |
| 37 | - 主要关注的主题(3-5 个,按权重排) |
| 38 | - 阅读偏好(深度/广度/工具型/思辨型……) |
| 39 | - 哪些书是"读进去了"(高完成率 + 多划线 + 有想法) |
| 40 | - 哪些书是"收藏未读"或"浅尝辄止"(书架在但完成率低 / 无划线) |
| 41 | - **MBTI 推测**:基于阅读题材偏好、笔记内容、思辨密度给出推测,标注置信度(低/中/高),并给出 2-3 条支撑理由 |
| 42 | |
| 43 | #### 2. 阅读兴趣变化 Interest Drift |
| 44 | - 按"最早 1/3、中间 1/3、最近 1/3"分段或按季度切片 |
| 45 | - 列出每段的关注主题 |
| 46 | - 长期稳定的兴趣 vs 短期波动 |
| 47 | - 用一句话总结:**最近真正关心的问题是什么** |
| 48 | |
| 49 | #### 3. 知识结构与盲区 Map & Blind Spots |
| 50 | - 已积累较多的领域(3-5 个) |
| 51 | - 明显薄弱的领域(3-5 个) |
| 52 | - 短板可能如何影响:工作判断 / 表达能力 / 产品思考 / 个人成长(四个角度都要给) |
| 53 | |
| 54 | #### 4. 阅读质量诊断 Quality Diagnosis |
| 55 | - 综合判断阅读模式:系统性学习 / 兴趣型浏览 / 问题驱动 / 焦虑式收藏 |
| 56 | - 关键指标:完成率均值、平均阅读时长、划线密度(划线/小时或划线/本)、复读情况 |
| 57 | - 给出诚实诊断,不粉饰 |
| 58 | |
| 59 | #### 5. 高价值内容提炼 Core Insights |
| 60 | - 从全部划线和想法中提炼 5-8 条最能代表长期关注和思考习惯的核心观点 |
| 61 | - **必须转述,不大段引用**;若必须引用,每条不超过 20 字 |
| 62 | - 每条关联 1-2 本来源书 |
| 63 | |
| 64 | #### 6. 书籍关系分析 Book Network |
| 65 | - 找出读过的书之间的:共同问题、观点冲突、互相补充 |
| 66 | - 形成 2-3 个"主题簇" |
| 67 | - 总结当前的**隐藏世界观**(最重要) |
| 68 | |
| 69 | #### 7. 行动建议 Actionable Advice |
| 70 | 分四类,每类 2-3 条具体建议: |
| 71 | - 工作决策 |
| 72 | - 个人成长 |
| 73 | - 表达写作 |
| 74 | - 产品思考 |
| 75 | |
| 76 | #### 8. 选题建议 10 Topic Ideas |
| 77 | 基于阅读笔记和划线,提炼 **10 个**适合写成文章或小红书笔记的选题。每个包含: |
| 78 | - 标题方向(一句话) |
| 79 | - 核心观点(一句话) |
| 80 | - 适合引用的书籍或观点来源(1-2 本) |
| 81 | |
| 82 | #### 9. 缺失知识类型 Knowledge Gaps |
| 83 | 基于现有阅读结构和现实需求(用户是 AI 生产力 + 内容创作者,参考 CLAUDE.md),分三档: |
| 84 | - **必须补的知识**(2-3 项) |
| 85 | - **值得补的知识**(3-5 项) |
| 86 | - **暂时不用补的知识**(2-3 项,给出理由) |
| 87 | |
| 88 | #### 10. 补充推荐 Filling the Gaps |
| 89 | 针对上面的知识缺口,给出具体推荐,分类: |
| 90 | - 书籍(5-8 本) |
| 91 | - 经典论文或研究报告(2-4 篇) |
| 92 | - 高质量课程(2-3 个) |
| 93 | - 数据来源或资料库(2-3 个) |
| 94 | - 适合长期关注的作者 / 机构 / 栏目(5-8 个) |
| 95 | |
| 96 | ### 步骤 3:询问保存位置(必问) |
| 97 | |
| 98 | 在生成 HTML 前先问用户: |
| 99 | |
| 100 | ``` |
| 101 | 报告要保存到哪个目录? |
| 102 | - 直接回车 = 当前工作目录 |
| 103 | - 或者输入一个绝对路径 / 相对路径(如 ~/Documents/阅读分析) |
| 104 | ``` |
| 105 | |
| 106 | 路径不存在则自动 `mkdir -p` 创建。文件名固定为 `阅读分析-YYYY-MM-DD.html`。 |
| 107 | |
| 108 | ### 步骤 4:生成 HTML 可视化报告 |
| 109 | |
| 110 | 调用模板 `templates/report.html` 复制成新文件,然后**逐个替换 10 个 `<!-- PAGE_N_CONTENT -->` 标记块**为你的分析内容,保存到步骤 3 指定的目录。 |
| 111 | |
| 112 | 生成完毕用系统默认浏览器打开(macOS:`open <path>`;Linux:`xdg-open <path>`;Windows:`start <path>`)。 |
| 113 | |
| 114 | ### 步骤 5:报告结果 |
| 115 | |
| 116 | 输出: |
| 117 | - HTML 文件路径 |
| 118 | - 数据范围(如"基于最近 12 个月,87 本书 / 436 条划线 / 48 条想法") |
| 119 | - 一句话核心结论(MBTI + 主导阅读模式) |
| 120 | |
| 121 | ## 视觉规范 |
| 122 | |
| 123 | **严格遵守 templates/report.html 的设计**: |
| 124 | - 每页固定 750×1334px(9:16,对应 iPhone 屏幕) |
| 125 | - 纯白底(`#fafaf7`) |
| 126 | - 单一暖色调强调色(`#c9a96e` 米黄 / `#1a1a1a` 主文) |
| 127 | - 大量留白 |
| 128 | - 大字号页码(48px 半透明),标题 56px Bold,正文 22px |
| 129 | - 每页结构:页码 → 中文大标题 → 英文小标题 → 内容区 → 页脚 |
| 130 | - 内容区禁止超出页面边界,长内容要精简或拆分 |
| 131 | - 不允许引入外部字体或 JS 库 |
| 132 | - 整份 HTML 自包含 |
| 133 | |
| 134 | ## 内容撰写规范 |
| 135 | |
| 136 | - 文字干净直接,**禁止用 ——(破折号)**,改用句号/冒号/括号 |
| 137 | - **禁止"不是 X,是 Y"对仗句式**,直接陈述结论 |
| 138 | - 转述优先于引用 |
| 139 | - 每页内容字数控制在 200-400 字(标题 + 正文),过长就拆分或精简 |
| 140 | - 数据用粗体或大字号突出 |
| 141 | - 列表用 `•` 或编号,避免堆砌 |
| 142 | |
| 143 | ## 注意事项 |
| 144 | |
| 145 | 1. **不省略维度**:必须完成 10 个维度的分析,缺一不可 |
| 146 | 2. **数据范围**:在第 1 页明确标注"基于最近 12 个月" or "基于全部可用数据" |
| 147 | 3. **MBTI 必须给**:基于真实数据推测,标注置信度 |
| 148 | 4. **诚实诊断**:第 4 维度允许给出"焦虑式收藏"这类判断,不粉饰 |
| 149 | 5. **HTML 自包含**:所有 CSS 内联在 `<style>` 标签,不引外部资源 |
| 150 | 6. **可截图**:每页是独立的 9:16 区块,用户可截屏作为小红书素材 |