Scope for this skill is intentionally narrow: search, retrieval, evidence ranking, and synthesis. It does not perform inbox triage, tagging or metadata edits, exports, or archive maintenance unless the user explicitly overrides scope.
- Run both searches for the same query in machine-readable mode:
readwise --json reader-search-documents --query "$TOPIC" --limit 20
readwise --json readwise-search-highlights --vector-search-term "$TOPIC" --limit 30
- Pull deeper context for top documents:
readwise --json reader-get-document-details --document-id "<document_id>"
readwise --json reader-get-document-highlights --document-id "<document_id>"
- Produce one Obsidian note using the fixed template in
<process>.
- Execute initial retrieval across both systems:
- Reader documents:
reader-search-documents
- Readwise highlights:
readwise-search-highlights
Use relevance-focused limits first (documents 20, highlights 30). Increase only when recall is weak.
- Rank evidence by relevance before recency.
Score each candidate snippet with this rubric:
3: directly answers the research question with specific claim or detail
2: supports a subtheme with useful context
1: tangential but potentially useful
0: irrelevant or noise
Keep score 2-3 items first. Use recency only as a tiebreaker.
- Enrich top evidence with source context.
For top-ranked Reader documents, fetch:
- full markdown and details (
reader-get-document-details)
- document highlights (
reader-get-document-highlights)
Prefer exact highlighted text over paraphrase whenever available.
- Run refinement loops only if evidence is weak.
Weak evidence means any subtheme has fewer than 2 strong snippets (
score >= 2) or conflicting claims without sufficient support.
Perform up to 2 refinement rounds:
- round strategy A: broaden terms (synonyms, adjacent concepts)
- round strategy B: narrow terms (specific entities, date constraints)
Stop early once evidence quality is sufficient.
Enforce section-level snippet caps.
For each subtheme section, include at most 5 snippets. Select highest relevance first, then maximize source diversity.
Resolve conflicting evidence explicitly.
When sources disagree:
- present both views
- attach source-linked evidence for each view
- explain likely reasons for disagreement (timeframe, domain, methodology, or context)
- Produce the final fixed Obsidian note.
Use this structure exactly:
---
title: "{{YYYY-MM-DD topic-slug}}"
created: "{{ISO-8601 datetime}}"
topic: "{{research topic}}"
source_system: "readwise-cli"
tags:
- research
- readwise
- obsidian
- pkm
---
# {{research topic}}
## Research Question
{{one-sentence question}}
## Key Findings
- {{finding 1}}
- {{finding 2}}
- {{finding 3}}
## Evidence by Theme
### {{theme 1}}
1. "{{verbatim snippet}}" — [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_
2. "{{verbatim snippet}}" — [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_
### {{theme 2}}
1. "{{verbatim snippet}}" — [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_
## Conflicting Evidence
- **View A:** {{claim summary}}
Evidence: [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_
- **View B:** {{claim summary}}
Evidence: [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_
- **Why they differ:** {{reason grounded in source context}}
## Confidence and Gaps
- **Confidence:** {{High|Medium|Low}} — {{justification}}
- **Known gaps:** {{missing or underrepresented evidence}}
- **Next queries:**
- {{query refinement 1}}
- {{query refinement 2}}
## Sources
- [{{source title}}]({{source url}}) — author: {{author|unknown}}, category: {{category|unknown}}, location: {{location|n/a}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}}
- [{{source title}}]({{source url}}) — author: {{author|unknown}}, category: {{category|unknown}}, location: {{location|n/a}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}}
- Citation requirements are mandatory:
- citations must be markdown links to source URLs
- each citation must include Readwise metadata inline (author, category, document_id, highlight_id when available)
- if a URL is unavailable, explicitly mark
url unavailable and keep metadata
- Obsidian naming guidance:
- recommended note filename format:
YYYY-MM-DD topic-slug.md
- keep slugs lowercase with hyphens
- keep note title aligned with filename stem
- Searches both Reader documents and Readwise highlights for the topic.
- Uses relevance-first ranking and only uses recency as secondary ordering.
- Runs at most 2 query refinement rounds, and only when evidence is weak.
- Limits evidence to a maximum of 5 snippets per theme section.
- Produces the fixed Obsidian note structure without omitting sections.
- Includes a
Conflicting Evidence section with both views when disagreement exists.
- Always includes a
Confidence and Gaps section, even when confidence is high.
- Uses markdown-link citations with Readwise metadata for every evidence item.
- Stays within scope: search, retrieval, and synthesis only unless user explicitly requests broader workflows.
1---2name: research-readwise-obsidian3description: Use the Readwise CLI to run relevance-first research across Reader documents and highlights, then synthesize an Obsidian-ready note with source-linked evidence and explicit confidence gaps. Use when researching topics from Readwise content for PKM workflows in Obsidian.4---56<objective>7Use the `readwise` CLI to run deep research on a topic by searching both Reader documents and Readwise highlights, then synthesize an Obsidian-ready research note for PKM.89Scope for this skill is intentionally narrow: search, retrieval, evidence ranking, and synthesis. It does not perform inbox triage, tagging or metadata edits, exports, or archive maintenance unless the user explicitly overrides scope.10</objective>1112<quick_start>131. Run preflight and auth checks:14```bash15command -v readwise16readwise --help17```18If authentication is missing, run `readwise login` or `readwise login-with-token <token>`.19202. Run both searches for the same query in machine-readable mode:21```bash22readwise --json reader-search-documents --query "$TOPIC" --limit 2023readwise --json readwise-search-highlights --vector-search-term "$TOPIC" --limit 3024```25263. Pull deeper context for top documents:27```bash28readwise --json reader-get-document-details --document-id "<document_id>"29readwise --json reader-get-document-highlights --document-id "<document_id>"30```31324. Produce one Obsidian note using the fixed template in `<process>`.33</quick_start>3435<process>361. Normalize the input topic into:37- one primary research question38- 3 to 6 subthemes for sectioning39- 3 to 8 query variants (synonyms, alternate phrasings, opposing terms)40412. Execute initial retrieval across both systems:42- Reader documents: `reader-search-documents`43- Readwise highlights: `readwise-search-highlights`44Use relevance-focused limits first (documents 20, highlights 30). Increase only when recall is weak.45463. Rank evidence by relevance before recency.47Score each candidate snippet with this rubric:48- `3`: directly answers the research question with specific claim or detail49- `2`: supports a subtheme with useful context50- `1`: tangential but potentially useful51- `0`: irrelevant or noise52Keep score `2-3` items first. Use recency only as a tiebreaker.53544. Enrich top evidence with source context.55For top-ranked Reader documents, fetch:56- full markdown and details (`reader-get-document-details`)57- document highlights (`reader-get-document-highlights`)58Prefer exact highlighted text over paraphrase whenever available.59605. Run refinement loops only if evidence is weak.61Weak evidence means any subtheme has fewer than 2 strong snippets (`score >= 2`) or conflicting claims without sufficient support.62Perform up to 2 refinement rounds:63- round strategy A: broaden terms (synonyms, adjacent concepts)64- round strategy B: narrow terms (specific entities, date constraints)65Stop early once evidence quality is sufficient.66676. Enforce section-level snippet caps.68For each subtheme section, include at most 5 snippets. Select highest relevance first, then maximize source diversity.69707. Resolve conflicting evidence explicitly.71When sources disagree:72- present both views73- attach source-linked evidence for each view74- explain likely reasons for disagreement (timeframe, domain, methodology, or context)75768. Produce the final fixed Obsidian note.77Use this structure exactly:7879```markdown80---81title: "{{YYYY-MM-DD topic-slug}}"82created: "{{ISO-8601 datetime}}"83topic: "{{research topic}}"84source_system: "readwise-cli"85tags:86 - research87 - readwise88 - obsidian89 - pkm90---9192# {{research topic}}9394## Research Question95{{one-sentence question}}9697## Key Findings98- {{finding 1}}99- {{finding 2}}100- {{finding 3}}101102## Evidence by Theme103### {{theme 1}}1041. "{{verbatim snippet}}" — [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_1052. "{{verbatim snippet}}" — [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_106107### {{theme 2}}1081. "{{verbatim snippet}}" — [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_109110## Conflicting Evidence111- **View A:** {{claim summary}}112 Evidence: [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_113- **View B:** {{claim summary}}114 Evidence: [{{source title}}]({{source url}}) _(author: {{author|unknown}}, category: {{category|unknown}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}})_115- **Why they differ:** {{reason grounded in source context}}116117## Confidence and Gaps118- **Confidence:** {{High|Medium|Low}} — {{justification}}119- **Known gaps:** {{missing or underrepresented evidence}}120- **Next queries:**121 - {{query refinement 1}}122 - {{query refinement 2}}123124## Sources125- [{{source title}}]({{source url}}) — author: {{author|unknown}}, category: {{category|unknown}}, location: {{location|n/a}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}}126- [{{source title}}]({{source url}}) — author: {{author|unknown}}, category: {{category|unknown}}, location: {{location|n/a}}, document_id: {{document_id|n/a}}, highlight_id: {{highlight_id|n/a}}127```1281299. Citation requirements are mandatory:130- citations must be markdown links to source URLs131- each citation must include Readwise metadata inline (author, category, document_id, highlight_id when available)132- if a URL is unavailable, explicitly mark `url unavailable` and keep metadata13313410. Obsidian naming guidance:135- recommended note filename format: `YYYY-MM-DD topic-slug.md`136- keep slugs lowercase with hyphens137- keep note title aligned with filename stem138</process>139140<success_criteria>141This skill is successful when all conditions are true:142143- Searches both Reader documents and Readwise highlights for the topic.144- Uses relevance-first ranking and only uses recency as secondary ordering.145- Runs at most 2 query refinement rounds, and only when evidence is weak.146- Limits evidence to a maximum of 5 snippets per theme section.147- Produces the fixed Obsidian note structure without omitting sections.148- Includes a `Conflicting Evidence` section with both views when disagreement exists.149- Always includes a `Confidence and Gaps` section, even when confidence is high.150- Uses markdown-link citations with Readwise metadata for every evidence item.151- Stays within scope: search, retrieval, and synthesis only unless user explicitly requests broader workflows.152</success_criteria>