skills/readwise-chat/SKILL.md
Chat with Readwise highlights using GPT-5.1 RAG. Use when the user wants to ask questions about their reading library, get summaries across documents, or have a conversation about their highlights. Triggers on "ask readwise", "chat about my highlights", "what do my notes say about", "summarize my reading on".
npx skillsauth add edwinhu/workflows readwise-chatInstall 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.
Uses GPT-5.1 to answer questions with RAG over the user's full highlight library via WebSocket streaming.
Chat requires session cookies (not API token). Check if configured:
grep SESSION_COOKIES ~/.readwise/env
If missing, run:
readwise-custom auth session
This launches Chrome, navigates to readwise.io/chat, and extracts httpOnly session cookies via CDP.
Streams the response to stdout as it arrives:
readwise-custom chat "What are my highlights about fiduciary duty?"
readwise-custom chat "Summarize my notes on proxy advisors"
readwise-custom chat "Compare what I've read about SEC regulation vs FINRA"
With JSON output (includes related highlights):
readwise-custom chat "What do my highlights say about broker-dealer regulation?" --json
Multi-turn conversation with context preserved:
readwise-custom chat-interactive
readwise-custom chat-interactive --model 5.1-thinking # reasoning model
Type exit to quit.
readwise-custom chat-list # List all conversations
readwise-custom chat-get <id> # Get conversation with messages
readwise-custom chat-delete <id> # Delete conversation
readwise-custom chat-rename <id> "Better Title" # Rename conversation
| Model ID | Name | Use Case |
|----------|------|----------|
| 5.1 | Fast (default) | Quick answers, simple lookups |
| 5.1-thinking | Thinking | Complex synthesis, reasoning |
| Feature | readwise-custom chat | readwise readwise-search-highlights |
|---------|-----------------|-------------------|
| Returns | Synthesized answer + highlights | Raw highlight matches |
| Model | GPT-5.1 RAG | Vector similarity |
| Auth | Session cookies | API token |
| Speed | ~3-10s (streaming) | ~2s |
| Highlights returned | Up to 69 | Top-N vector matches |
| Multi-turn | Yes (interactive) | No |
Use chat when: You want a synthesized answer, cross-document analysis, or conversational exploration.
Use search when: You want raw highlight matches, exact quotes, or structured data for further processing.
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.