book-review by readwiseio/readwise-skills
npx skills add https://github.com/readwiseio/readwise-skills --skill book-review根据用户的 Reader 高亮内容撰写长篇书评——不仅仅是针对目标书籍,而是从其整个阅读库中提取相关高亮内容,以构建原创论点。
目标是写出一篇比原书更有趣的评论:总结 + 批判 + 原创观点,其中原创观点来源于将本书与用户阅读过的所有其他内容联系起来。
检查 Readwise MCP 工具是否可用(例如 mcp__readwise__reader_list_documents)。如果可用,全程使用它们。如果不可用,则使用等效的 readwise CLI 命令(例如 readwise list, readwise read <id>, readwise highlights <id>, readwise search <query>)。以下说明引用了 MCP 工具名称——请根据需要转换为 CLI 等效命令。
检查人物设定文件。 如果当前工作目录中存在 reader_persona.md 文件,请读取它。用它来了解用户的兴趣、阅读目标和表达风格——这决定了书评的框架、应优先建立哪些联系,以及用户可能关心什么。如果不存在人物设定文件,则在没有它的情况下继续,如果从用户的高亮中无法明显看出其阅读目的,则询问用户阅读本书的目的。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
解析参数 作为书名或搜索词。
/book-review Merchant Kings
/book-review 7 Powers
在 Reader 中搜索目标书籍:
mcp__readwise__reader_search_documents(query="[书名]", category_in=["epub", "pdf"])
如果没有结果,则扩大到所有类别。如果有多个匹配项,列出它们并让用户选择。
mcp__readwise__reader_get_document_highlights(document_id="[book_id]")
阅读每一个高亮。统计数量。如果少于 10 个,警告用户——可能没有足够的材料来撰写实质性的评论。询问是继续还是等待。
mcp__readwise__reader_get_document_details(document_id="[book_id]")
提取标题、作者、摘要、封面图片。你将在最终输出中需要这些信息。
将每个高亮内容处理成一个原子论点。这一步将“我高亮了这段文字”转化为结构化的、可搜索的研究材料。
对于每个高亮:
论点质量标准:
好的论点是具体的、可搜索的事实或断言:
差的论点则模糊或笼统:
处理完所有高亮后,审阅完整列表。拒绝并重写任何以下类型的论点:
将论点按主题分组存储为一个工作列表。这将成为你的大纲。
这是使书评超越总结的关键。针对第二阶段得出的每个主要主题集群,在用户的整个 Reader 库中搜索相关内容。
对于每个主题集群(目标 3-6 个主题):
mcp__readwise__reader_search_documents(query="[主题关键词]", limit=20)
从最匹配的结果中提取高亮内容:
mcp__readwise__reader_get_document_highlights(document_id="[related_doc_id]")
你要寻找的是:
mcp__readwise__reader_search_documents(query="[书籍作者姓名]")
检查用户是否阅读过同一作者的其他作品。先前的背景信息可以丰富书评内容。
对于来自相关文档的每个相关高亮内容,按照第二阶段的方法提取一个论点。用其来源文档标记它,以便正确引用。
结果: 你现在应该拥有:
填补用户阅读库未涵盖的空白。保持专注——阅读库研究是核心,网络研究是补充。
一篇优秀的书评包含三个要素(根据 ACX 书评竞赛的智慧):
原创观点来自第三阶段——用户阅读库中的相关高亮内容。这是本技能的全部意义所在。
[开篇:本书是什么以及为何重要——一个具体事实或场景,而非模糊的引子。
如果文档笔记中没有相关背景,请为用户留一个 %% TODO %% 来补充他们如何发现这本书以及为何阅读它。]
## [主题部分 1 —— 信息性标题,非巧妙标题]
[总结本书关于此主题的论点。使用本书高亮内容中的块引用。
然后扩展:引入用户其他阅读中的相关材料。这是书评超越总结之处——它是综合。]
> “来自本书的块引用” —— 作者,《书名》
[用户在 [相关文档] 中也高亮了与此矛盾/支持的内容:
自然地将其编织进来。用指向原始来源的 URL 链接引用来源,而非 Reader 链接。]
## [主题部分 2]
[相同模式:本书论点 → 用户相关阅读 → 综合。
每个部分都应推进一个论点,而不仅仅是罗列事实。]
## [主题部分 3+]
[继续。按主题组织,而非按章节。每个部分应至少包含一个与本书之外内容的联系。]
## 本书的错误(或遗漏之处)
[诚实的批判。使用用户的其他阅读作为证据,当它们与本书矛盾或使其复杂化时。
这是相关文档研究最能发挥作用的地方。]
## 延伸阅读
- 带有 [嵌入式链接](url) 的描述,用于推荐值得探索的来源,这些来源在上文未链接但与本次书评的核心主题相关。
你是为用户起草,而非模仿他们:
%% TODO %%。%% TODO: [用户应补充的内容] %% 来标记需要个人化钩子的地方。这些信号指示用户需要在何处填写自己的经历。宁长勿短。对于一本重要的书,2000-10000 字。ACX 竞赛数据显示,具有真知灼见的长篇评论优于短篇。深度 > 简洁,只要每个段落都有其存在的价值。如果用户的高亮内容稀少(10-20 个),则目标定在 1000-2000 字。
(url) 或 (link) 这样的占位符链接单独进行。不要跳过。不要与第五阶段合并。
重新通读完整草稿并修正以下每一项:
永远不要使用这些。寻找具体的替代词。
| 禁用 | 替代方案 |
|---|---|
| Additionally | 用“Also”或重组句子 |
| Crucial / Pivotal / Key (adj) | 具体说明为何重要 |
| Delve / Delve into | 用“examine”、“look at”,或直接开始 |
| Enhance / Fostering | 具体说明什么得到了改善 |
| Landscape (抽象) | 指明实际领域 |
| Tapestry (比喻) | 指明实际模式 |
| Underscore / Highlight (动词) | 直接陈述观点 |
| Showcase | 用“shows”、“demonstrates” |
| Vibrant / Rich (比喻) | 具体说明 |
| Testament / Enduring | 直接陈述事实 |
| Groundbreaking / Renowned | 具体说明有何显著之处 |
| Garner | 用“get”、“earn”、“attract” |
| Intricate / Intricacies | 用“complex”或描述实际复杂性 |
| Interplay | 用“relationship”、“tension”,或描述它 |
| Serves as / Stands as | 用“is” |
| Nestled / In the heart of | 直接指明地点 |
| 模式 | 修正方法 |
|---|---|
| "Not just X, it's Y" / "Not A, but B" | 直接陈述 Y |
| 三原则 ("innovation, inspiration, and insights") | 使用内容所需的确切数量 |
| "-ing" 分析 ("highlighting the importance of...") | 直接陈述重要性 |
| "From X to Y" (虚假范围) | 列出实际项目 |
| 同义词循环 (protagonist/hero/central figure) | 选择一个术语,重复使用 |
| "Despite challenges, the future looks bright" | 陈述实际情况 |
| "Exciting times lie ahead" | 以一个具体事实结尾 |
| "X wasn't Y. It was Z." (戏剧性揭示) | 合并为单一的肯定陈述 |
| "The detail that stopped me in my tracks" | 直接陈述事实 |
| "genuinely revolutionary" | 使用具体的描述词 |
| 任何旨在听起来深刻的夸张单句 | 删除它 |
| "I'd forgotten I knew" | 删除。永远不要将知识描述为重新发现。 |
在 Reader 中创建一个新文档作为书评:
mcp__readwise__reader_create_document(
url="https://reader-review.internal/[slug]-[ISO-timestamp]",
title="[书名] — 评论草稿",
author="Ghostreader",
category="article",
summary="基于《[书名]》的 [N] 个高亮和 [M] 个相关文档撰写的评论草稿",
html="[书评转换后的 HTML]",
notes="供编辑的草稿。基于以下来源的高亮:[列出源文档标题]"
)
将文档 URL 返回给用户。
第三阶段(阅读库搜索)的全部意义在于,书评应包含本书作者从未有过的观点。用户的阅读历史是一个独特的视角:
这就是你获得“原创观点”的方式——这是区分一篇合格书评和一篇令人印象深刻的书评的第三个要素。用户的阅读库就是原创思考。
每周安装数
91
代码库
GitHub 星标数
94
首次出现
2026年3月10日
安全审计
安装于
codex91
gemini-cli91
kimi-cli91
github-copilot91
cursor91
amp91
Draft a long-form book review from a user's Reader highlights — not just the target book, but pulling in related highlights from their entire library to build original arguments.
The goal is a review that's more interesting than the book itself: summary + critique + original ideas, where the original ideas come from connecting the book to everything else the user has read.
Check if Readwise MCP tools are available (e.g. mcp__readwise__reader_list_documents). If they are, use them throughout. If not, use the equivalent readwise CLI commands instead (e.g. readwise list, readwise read <id>, readwise highlights <id>, readwise search <query>). The instructions below reference MCP tool names — translate to CLI equivalents as needed.
Check for persona file. Read reader_persona.md in the current working directory if it exists. Use it to understand the user's interests, reading goals, and voice — this shapes the review's framing, what connections to prioritize, and what the user is likely to care about. If no persona file exists, proceed without it and ask the user about their purpose for reading the book if it's not obvious from their highlights.
Parse the argument as a book title or search term.
/book-review Merchant Kings
/book-review 7 Powers
Search Reader for the target book:
mcp__readwise__reader_search_documents(query="[book title]", category_in=["epub", "pdf"])
If no results, broaden to all categories. If multiple matches, list them and ask the user to pick.
mcp__readwise__reader_get_document_highlights(document_id="[book_id]")
Read every highlight. Count them. If fewer than 10, warn the user — may not be enough material for a substantive review. Ask whether to proceed or wait.
mcp__readwise__reader_get_document_details(document_id="[book_id]")
Pull title, author, summary, cover image. You'll need these for the final output.
Process every highlight into an atomic claim. This is the step that turns "I highlighted this paragraph" into structured, searchable research material.
For each highlight:
Claim quality standards:
Good claims are specific, searchable facts or assertions:
Bad claims are vague or generic:
After processing all highlights , review the full list. Reject and rewrite any that are:
Store the claims as a working list grouped by theme. This becomes your outline.
This is what makes the review more than a summary. For each major theme cluster from Phase 2, search the user's full Reader library for related content.
For each theme cluster (aim for 3-6 themes):
mcp__readwise__reader_search_documents(query="[theme keywords]", limit=20)
Pull highlights from the top hits:
mcp__readwise__reader_get_document_highlights(document_id="[related_doc_id]")
You're looking for:
mcp__readwise__reader_search_documents(query="[book author name]")
Check if the user has read other work by the same author. Prior context enriches the review.
For each relevant highlight from a related document, extract a claim the same way as Phase 2. Tag it with its source document so you can cite it properly.
Result: You should now have:
Fill gaps that the user's library doesn't cover. Keep this focused — the library research is the core, web research is supplemental.
A great book review has three elements (per the ACX Book Review Contest wisdom):
The original ideas come from Phase 3 — the related highlights from the user's library. This is the whole point of the skill.
[Opening: What the book is and why it matters — a specific fact or scene, not a vague hook.
Leave a %% TODO %% for the user to add how they found the book and why they read it
if context wasn't already in the document note.]
## [Thematic section 1 — informative header, not clever]
[Summarize the book's argument on this theme. Use block quotes from the book's highlights.
Then EXPAND: bring in related material from the user's other reading. This is where the
review becomes more than a summary — it's synthesis.]
> "Block quote from the book" — Author, *Book Title*
[The user also highlighted something in [Related Document] that complicates/supports this:
weave it in naturally. Cite the source with a URL link to the original source, NOT the Reader link.]
## [Thematic section 2]
[Same pattern: book's argument → user's related reading → synthesis.
Each section should advance an argument, not just list facts.]
## [Thematic section 3+]
[Keep going. Organize by theme, not by chapter. Every section should have at least
one connection to something outside the book itself.]
## What the Book Gets Wrong (or Misses)
[Honest critique. Use the user's other reading as evidence where it contradicts
or complicates the book. This is where the related-document research pays off most.]
## Further Reading
- Description with [embedded link](url) for sources worth exploring that were NOT
linked above but are related to the core themes of this review.
You are drafting FOR the user, not impersonating them:
%% TODO %%.%% TODO: [what the user should add] %% for personal hooks. These signal where the user needs to fill in their own experience.Err long. 2,000-10,000 words for a substantial book. The ACX contest data shows longer reviews with genuine insight outperform shorter ones. Depth > brevity, as long as every paragraph earns its place. If the user's highlights are sparse (10-20), aim for 1,000-2,000 instead.
(url) or (link)Separate pass. Do not skip. Do not combine with Phase 5.
Re-read the full draft and fix every instance of:
Never use these. Find concrete alternatives.
| Banned | Use instead |
|---|---|
| Additionally | "Also" or restructure |
| Crucial / Pivotal / Key (adj) | Be specific about why it matters |
| Delve / Delve into | "examine", "look at", or just start |
| Enhance / Fostering | Be specific about what improved |
| Landscape (abstract) | Name the actual domain |
| Tapestry (figurative) | Name the actual pattern |
| Underscore / Highlight (verb) | State the point directly |
| Showcase | "shows", "demonstrates" |
| Vibrant / Rich (figurative) | Be specific |
| Testament / Enduring | Just state the fact |
| Groundbreaking / Renowned | Be specific about what's notable |
| Garner | "get", "earn", "attract" |
| Intricate / Intricacies | "complex" or describe the actual complexity |
| Pattern | Fix |
|---|---|
| "Not just X, it's Y" / "Not A, but B" | State Y directly |
| Rule of three ("innovation, inspiration, and insights") | Use the number of items the content needs |
| "-ing" analysis ("highlighting the importance of...") | State the importance directly |
| "From X to Y" (false ranges) | List the actual items |
| Synonym cycling (protagonist/hero/central figure) | Pick one term, reuse it |
| "Despite challenges, the future looks bright" | State the actual situation |
| "Exciting times lie ahead" | End with a specific fact |
| "X wasn't Y. It was Z." (dramatic reveal) | Collapse to single positive statement |
| "The detail that stopped me in my tracks" | Start with the fact |
| "genuinely revolutionary" | Use a specific descriptor |
| Any melodramatic one-liner meant to sound profound | Delete it |
| "I'd forgotten I knew" | Delete. Never frame knowledge as rediscovered. |
Create the review as a new document in Reader:
mcp__readwise__reader_create_document(
url="https://reader-review.internal/[slug]-[ISO-timestamp]",
title="[book title] — Review Draft",
author="Ghostreader",
category="article",
summary="Review draft based on [N] highlights from [Book Title] and [M] related documents",
html="[converted HTML of the review]",
notes="DRAFT for editing. Based on highlights from: [list source document titles]"
)
Return the document URL to the user.
The whole point of Phase 3 (library search) is that the review should contain ideas the author of the book never had. The user's reading history is a unique lens:
This is how you get "original ideas" — the third element that separates a competent review from an impressive one. The user's library IS the original thinking.
Weekly Installs
91
Repository
GitHub Stars
94
First Seen
Mar 10, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
codex91
gemini-cli91
kimi-cli91
github-copilot91
cursor91
amp91
AI 代码实施计划编写技能 | 自动化开发任务分解与 TDD 流程规划工具
49,000 周安装
向量索引调优指南:优化HNSW参数、量化与内存,降低延迟,提升召回率
90 周安装
Webflow批量CMS更新工具:高效管理内容,支持验证、审批与回滚
90 周安装
CFB大学橄榄球数据API与CLI工具 - 实时比分、排名、赛程与球队统计
90 周安装
Microsoft Outlook API 集成指南 - 使用 Membrane CLI 自动化邮件、日历和任务管理
90 周安装
Shiny bslib主题定制教程:快速设置Bootstrap 5主题与动态颜色切换
90 周安装
FlowKit CSS 命名规范指南:Webflow 项目代码标准化与 SEO 优化
90 周安装
| Interplay | "relationship", "tension", or describe it |
| Serves as / Stands as | Use "is" |
| Nestled / In the heart of | Just name the location |