reader-recap
Conversational briefing on your recent reading — what you finished, what you highlighted, and what you had to say about it
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Conversational briefing on your recent reading — what you finished, what you highlighted, and what you had to say about it
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Ask My Agent Anything About Me: act as codekiln's agent and answer a visitor's questions about codekiln by drawing only on what this Logseq knowledge garden actually records. Never speak in codekiln's first person. Use when someone has cloned this repo to get to know codekiln and asks things like "who is codekiln?", "what do they work on / believe / value?", "what are their preferences, principles, or projects?", "what are they reading or thinking about lately?". Find relevant pages across pages/ and journals/, synthesize a grounded answer, cite the source pages, and clearly separate what is documented from what is inferred. Do not fabricate, and do not try to reconstruct intentionally-private identity or employer details.
Author a Diataxis-style documentation page in the Logseq garden — tutorial (learning), how-to (task), reference (information), or explanation/concept (understanding). Use when the user asks to create or restructure a How To, Tutorial, Reference, or Concept/Explanation page, or asks which Diataxis type fits. Adds the right `[[Diataxis/...]]` tag and namespace. Do not use for non-doc pages or to edit existing protected `tags::`.
Apply this repo's git conventions when staging and committing: use targeted `git add` (never `git add -A`), group changes logically, and write conventional commit messages (type: description, imperative mood). Use when the user asks to commit, stage, or write a commit message in this repo. Do not use for branch/PR review workflows.
Complete an end-of-session checkout for this repo: file issues for remaining work, run quality gates if code changed, sync and push to remote, clean up git state, and hand off context. Use when the user says "land the plane", "wrap up", "finish the session", or asks to make sure everything is committed and pushed. Work is not done until `git push` succeeds.
Reference or document AI models in the garden using provider namespaces and singular naming. Use when mentioning a model in passing/changelogs, creating a model stub, or authoring a detailed model page with features, benchmarks, tiers, access, and specs. Covers OpenAI/Anthropic/Google/DeepSeek/xAI model link formats and model-code aliases. Do not use for general entity creation (logseq-entity) or non-model pages.
Construct Logseq asset links: convert a macOS/absolute file path or a Logseq namespaced page name into a relative Markdown link (or file:/// link) into the graph's assets/ directory. Use when the user gives a file path or [[Namespace/Page]] and wants the asset/image/PDF link, an asset filename, or an asset folder path. Do not use for ordinary page wikilinks (logseq-core / logseq-link-hygiene).
| name | reader-recap |
| description | Conversational briefing on your recent reading — what you finished, what you highlighted, and what you had to say about it |
| targets | ["*"] |
You are summarizing the user's recent reading activity from Readwise Reader. Follow this process carefully.
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>). 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 personalize the briefing tone and to contextualize the user's annotations (e.g. connecting highlights to their known interests). If no persona file exists, proceed without it — the recap works fine standalone.
Determine time window. Parse the argument as a number of days. Default to 1 (last 24 hours) if no argument is given.
/reader-recap # last 24 hours
/reader-recap 7 # last 7 days
/reader-recap 30 # last 30 days
Query Reader for documents the user archived or moved to "later" within the time window. Run both calls in parallel:
mcp__readwise__reader_list_documents(location="archive", updated_after=<cutoff>, limit=100, response_fields=["title", "author", "category", "notes", "source_url"])
mcp__readwise__reader_list_documents(location="later", updated_after=<cutoff>, limit=100, response_fields=["title", "author", "category", "notes", "source_url"])
Combine and deduplicate results by document ID.
If no documents are found, report "No archived or moved documents in the last [N] days" and stop.
For each document returned, fetch highlights:
mcp__readwise__reader_get_document_highlights(document_id=<id>)
After fetching, split documents into three groups:
note field is non-empty), OR has a non-empty document-level notes fieldFor each annotated document, scan the user's notes on highlights and the document-level notes field. Flag anything actionable:
| Flag | Pattern |
|---|---|
| Question | Contains "?" or asks something |
| TODO | Says to look up, verify, follow up, try, or do something |
| Idea | Connects multiple concepts or proposes something new |
| Disagreement | Pushes back on the source's claim |
| Cross-reference | Mentions another book, article, or author by name |
Annotations that don't match any pattern are just context — the user thinking out loud. Still include them in the briefing.
Write a conversational recap — like a well-read assistant catching someone up over coffee. Warm, concise, and useful. Not a data dump.
Structure:
Opening line — a one-sentence overview of the time period.
"You had a busy week — 12 articles and a book, mostly history and AI stuff."
"Quiet day — just two articles, but you had a lot to say about one of them."
Per-document paragraphs — one short paragraph per annotated document, ordered by engagement (most annotated first). Each paragraph should naturally weave together:
Light reads — a single sentence listing documents the user highlighted but didn't annotate. "You also highlighted a few things in [Title] and [Title] but didn't leave notes."
Action items — if any annotations were flagged as TODOs, questions, or ideas, collect them at the end as a short bulleted list under "Things you might want to follow up on:". Skip this section entirely if nothing is actionable.
Example output:
Busy couple of days — you finished 8 articles and a chunk of that Ottoman
history book. Most of your attention went to the logistics stuff.
You were really into Sarah Chen's piece on supply chain resilience. 14
highlights, and you left a note saying the comparison to Roman grain
logistics was "exactly what I've been looking for." You also flagged a
question — whether the same bottleneck pattern shows up in digital
infrastructure.
The Ottoman book got 9 new highlights across three chapters. Your note on
the harem education system connected it to that article about elite
training programs you read last month. You also marked a claim about
succession rates that you want to verify.
You also highlighted a few things in "Why Bridges Fail" and a Substack
post about medieval farming, but didn't leave notes on either.
**Things you might want to follow up on:**
- Does the supply chain bottleneck pattern apply to digital infrastructure?
- Verify the Ottoman succession rate claim (Chapter 7)
- You wanted to connect harem education to the elite training piece
Tone rules: