skills/readwise-search/SKILL.md
Search Readwise highlights. Use when the user wants to find highlights, quotes, notes, or annotations from their reading library. Triggers on "search highlights", "find in readwise", "what did I highlight about", "my notes on".
npx skillsauth add edwinhu/workflows readwise-searchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
1. Do you know the EXACT document or author?
YES -> Use fulltext filters (--full-text-queries)
NO -> Use vector search (semantic query)
2. Need document-level results (not highlights)?
YES -> Use `readwise reader-search-documents --query "term"`
or `readwise reader-list-documents` with --tag or --category filters
NO -> Use `readwise readwise-search-highlights`
3. Need keyword-exact match in highlight text?
YES -> Use `readwise-custom highlights --search "term"` (v2 API)
NO -> Use vector search
# Semantic search
readwise readwise-search-highlights --vector-search-term "fiduciary duty broker-dealer"
# With fulltext filters
readwise readwise-search-highlights --vector-search-term "regulation" \
--full-text-queries '[{"field_name": "document_author", "search_term": "Jackson"}]'
# JSON output for piping
readwise readwise-search-highlights --vector-search-term "query" --json
Fulltext filter fields (via --full-text-queries JSON array):
| field_name | Searches |
|------------|----------|
| document_author | Document author name |
| document_title | Document title |
| highlight_note | Highlight notes/annotations |
| highlight_plaintext | Highlight text content |
| highlight_tags | Tags on highlights |
# Hybrid search across document content
readwise reader-search-documents --query "proxy advisors"
# With filters
readwise reader-search-documents --query "regulation" --author-search "Jackson" --category-in article
readwise reader-search-documents --query "proxy" --tags-in "corps" --location-in later,archive
# By tag (no search, just filter)
readwise reader-list-documents --tag "proxy advisors" --json
# By category and location
readwise reader-list-documents --category article --location archive
# Recent updates
readwise reader-list-documents --updated-after 2026-01-01T00:00:00Z --limit 20
# Exact text search across highlights (v2 API)
readwise-custom highlights --search "fiduciary" --limit 20 --json
| Need | Command | CLI |
|------|---------|-----|
| Semantic/conceptual highlight search | readwise readwise-search-highlights --vector-search-term "query" | Official |
| Hybrid document content search | readwise reader-search-documents --query "term" | Official |
| Keyword-exact match in highlights | readwise-custom highlights --search "term" | Custom |
| Documents by tag | readwise reader-list-documents --tag "X" | Official |
| Specific document | readwise reader-get-document-details --document-id <id> | Official |
Use --json for structured output. JSON search results include a score field (higher = more relevant, >0.01 typically meaningful).
development
Build the meeting-level proxy-voting × ownership panel on the WRDS SGE grid — ISS N-PX fund votes reduced to (item × block) direction cells, joined to institutional and mutual-fund ownership. Use when working with risk.voteanalysis_npx, N-PX fund-level votes, ISS→CRSP fund linking, index/passive/active voting blocks, or a proxy-voting panel that needs ownership attached.
development
Use when "CRSP CIZ", "CRSP v2", "CRSP flat file format 2.0", "crsp.dsf_v2 / msf_v2", "StkDlySecurityData", "StkMthSecurityData", "StkSecurityInfoHist", "stocknames_v2", "DlyRet / MthRet / DlyPrc / MthPrc", "SHRCD or EXCHCD equivalent in new CRSP", "SIZ to CIZ migration", "CRSP data after 2024", "CRSP delisting returns", "CRSP cumulative adjustment factors", "CRSP index INDNO / INDFAM", or any CRSP stock/index query where the legacy SIZ column names no longer exist.
development
Use when linking or deduping datasets by entity name rather than a shared key — 'fuzzy match', 'fuzzy name matching', 'entity resolution', 'record linkage', 'match company/person names', 'dedupe entity names', 'name-based join', 'bridge identifiers' (CIK ↔ permno ↔ gvkey ↔ wficn ↔ EIN ↔ personid), or any use of char n-gram TF-IDF, cosine similarity on names, `sparse_dot_topn`, or RapidFuzz at scale.
development
Use when building a publication-quality table in Python — 'regression table', 'results table', 'summary statistics table', 'etable', 'coefplot', 'great_tables', 'GT', 'gt table', 'format a table for the paper', 'export table to LaTeX/HTML', significance stars, spanners, or column formatting for a table headed into a paper, slide deck, or notebook.