readwise-reader
4
总安装量
4
周安装量
#52381
全站排名
安装命令
npx skills add https://github.com/ryanlyn/readwise-skill --skill readwise-reader
Agent 安装分布
opencode
4
gemini-cli
4
claude-code
4
codex
4
mcpjam
3
github-copilot
3
Skill 文档
Readwise Reader Skill
Use this skill to script workflows against the Readwise Reader product (saved articles, feeds, PDFs, newsletters).
Quick start
- Generate a token from https://readwise.io/access_token and store it in
READWISE_TOKEN. - Call
uv run --project ${CLAUDE_PLUGIN_ROOT} python ${CLAUDE_PLUGIN_ROOT}/skills/readwise-reader/scripts/reader_client.py ...whenever possible; it handles retries,.generatedtagging, and--dry-runagainst the/api/v3endpoints. - Respect Reader’s tighter rate limits (20 req/min). The CLI surfaces remaining budget whenever headers are present; throttle accordingly.
Example workflows
- “Save this article to Reader for later” â uses
docs createwith a URL - “Show me what’s new in my Reader inbox” â uses
docs list --category new - “Archive everything I’ve finished reading this week” â uses
docs pull+docs update --state archive
CLI commands
uv run --project ${CLAUDE_PLUGIN_ROOT} python ${CLAUDE_PLUGIN_ROOT}/skills/readwise-reader/scripts/reader_client.py docs create --url <article> [--title ... --summary ... --location later --tags ... --labels ... --generated --dry-run]â creates a document via URL or raw HTML (--content). Use--locationto set where it lands (defaults tolater). Reader API v3 does not support uploading local files directly.... docs list [--location later] [--category article] [--tag deep-work] [--limit 25] [--id <doc-id>] [--with-content]â paginated document listing. Defaults to--location later. Use--idto fetch a single document. Use--with-contentto includehtml_content(article text, video transcripts).... docs update <id> [--state archive --tags "deep,focus" --title ...]â patch metadata/state (new,later,archive). Supports--dry-run.... docs pull --since 2026-02-01â fetches documents updated since a timestamp for recap/triage workflows.... auth validateâ confirms your token works by hitting the/api/v2/auth/endpoint.
Locations vs categories
Locations describe where a document sits in your reading workflow:
newâ inbox, freshly added items awaiting triagelaterâ saved for later reading (the default fordocs list)shortlistâ prioritized for near-term readingarchiveâ finished or dismissedfeedâ RSS/feed items not yet triaged
Categories describe the content type:
article,email,rss,highlight,note,pdf,epub,tweet,video
When a user asks for their “inbox” or “reading list”, query --location later (the default). Use --location new only when specifically checking for untriaged items.
Default output is human-readable markdown with only key fields. Use --raw to get full JSON with all fields.
Fetching content & transcripts
Use --with-content to retrieve the full html_content field, which contains:
- Articles: full article text as HTML
- Videos: auto-generated transcript (for YouTube videos with captions)
- PDFs/EPUBs: extracted text content
This is disabled by default to keep responses fast. When you need to analyze, summarize, or extract quotes from a document, fetch it by ID with content:
... docs list --id <doc-id> --with-content --raw
Data guidance
- Generated entries: set
--generatedwhen saving synthetic journal entries or agent summaries. The CLI appends.generatedto tags (and labels, when provided) so they are searchable in Reader. - Source inputs: prefer
--urlwhen the content exists online. Use--contentfor local snippets; Reader API v3 does not expose the legacy upload flow, so convert PDFs to shareable URLs before saving. - Metadata: Reader tolerates arbitrary tags/labels, so lean on them for downstream automations (e.g.,
.journal,.deepread). Avoid overloadingsummarywith custom formatsâstore structured metadata in labels/tags instead. - Dry runs:
--dry-runprints the payload without hitting the API. Dry-run output always shows the full payload (no field filtering).
Scripts
${CLAUDE_PLUGIN_ROOT}/skills/readwise-reader/scripts/reader_client.py: CLI covering document create/list/update/pull plus token validation against Reader API v3. Integrates with shared utilities from${CLAUDE_PLUGIN_ROOT}/readwise_common/.- Shared helpers live in
${CLAUDE_PLUGIN_ROOT}/readwise_common/(auth, HTTP retries, tag/location utilities); import from there when extending functionality to keep behavior consistent.
Testing & validation
- Use
uv run --project ${CLAUDE_PLUGIN_ROOT} python -m compileall ${CLAUDE_PLUGIN_ROOT}/skills/readwise-reader ${CLAUDE_PLUGIN_ROOT}/readwise_commonbefore shipping changes. - Smoke-test live calls (token required) with
docs create --dry-run,docs list --limit 5, anddocs pull --since <yesterday>to confirm pagination + tagging rules.