now-reading-page
Generate a personal "Now Reading" webpage from your Reader library
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate a personal "Now Reading" webpage from your Reader library
用 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 | now-reading-page |
| description | Generate a personal "Now Reading" webpage from your Reader library |
You are generating a beautiful standalone HTML page showing what the user is currently reading and has recently read. The output is a single HTML file they can open in a browser or host on their personal site.
Check if Readwise MCP tools are available (e.g. mcp__readwise__reader_list_documents). If they are, use them throughout (and pass this context to the subagent). If not, use the equivalent readwise CLI commands instead (e.g. readwise list, readwise read <id>). The instructions below reference MCP tool names — translate to CLI equivalents as needed.
Launch a Task subagent to fetch all the data and generate the HTML file. The subagent should:
Run ALL of these in parallel:
mcp__readwise__reader_list_documents with location="shortlist", limit=50, response_fields=["title", "author", "category", "reading_progress", "first_opened_at", "last_opened_at", "image", "url", "site_name", "word_count", "saved_at"]mcp__readwise__reader_list_documents with location="later", limit=50, response_fields=["title", "author", "category", "reading_progress", "first_opened_at", "last_opened_at", "image", "url", "site_name", "word_count", "saved_at"]mcp__readwise__reader_list_documents with location="new", limit=50, response_fields=["title", "author", "category", "reading_progress", "first_opened_at", "last_opened_at", "image", "url", "site_name", "word_count", "saved_at"]mcp__readwise__reader_list_documents with location="archive", limit=50, response_fields=["title", "author", "category", "reading_progress", "last_opened_at", "image", "url", "site_name", "saved_at", "word_count"]After the first archive fetch, use nextPageCursor to keep fetching more pages (limit=50 each). Fetch at least 6 more pages (~350 total docs) so the heatmap covers 6 months of reading activity. Keep paginating until the oldest last_opened_at is 6+ months ago OR pages are exhausted.
From the fetched data, build two lists:
reading_progress is between 0.05 and 0.99 (started but not finished). Sort by last_opened_at descending.reading_progress > 0.9 (actually finished). Sort by last_opened_at descending. Group by month. Show as many months as the data covers.Also collect ALL last_opened_at dates from archive items with reading_progress > 0.9 for the heatmap.
There is no "Up Next" section. Only show things the user is reading or has read.
Create a now-reading/ directory in the current working directory (if it doesn't exist) and write the HTML file to now-reading/index.html.
Design direction: Warm, sepia-toned, editorial. Think personal reading log, not media dashboard.
Fonts: Google Fonts — Newsreader (serif, for headings) + DM Sans (sans, for body). Include via <link> tag.
Color palette (CSS variables):
--bg: #f6f1eb (warm parchment background)
--surface: #ede6dc (card/heatmap empty cell background)
--surface-hover: #e4dbd0
--border: #d9d0c4
--text: #4a4239 (main body text)
--text-muted: #8a7e72
--text-dim: #b0a597
--heading: #2c251e
--accent: #a0724a (warm brown — progress bars, active states)
--accent-dim: rgba(160, 114, 74, 0.12)
Layout: Max-width 760px, centered. Responsive.
Sections in order:
Header: "What I'm reading" in Newsreader, light weight, large. Subtitle: "Powered by Readwise Reader" with accent-colored link.
Currently Reading — section label in small caps. Gallery of cards using CSS grid (repeat(auto-fill, minmax(160px, 1fr))) so they fill the container. Each card:
aspect-ratio: 3/2, rounded corners, hover lift effectimage field). Gradient placeholder if not (hash title → hue).Reading Activity — GitHub-style heatmap filling full container width. Use CSS flex with flex: 1 on weeks and cells so it stretches. Warm amber color scale (rgba(160, 114, 74, 0.2/0.4/0.65/1.0)). Month labels above, day-of-week labels (Mon/Wed/Fri) on left. Show 6 months.
Recently Read — Category filter pills (All, Articles, Books, Tweets, RSS, Email) with JS toggle. Then entries grouped by month (e.g., "FEBRUARY 2026" in small caps). Each entry as a row:
Styling notes:
<style> tag with CSS variables1px solid var(--border))Return the absolute path to the generated HTML file and a summary: how many currently reading, how many recently read, date range of activity data.
open now-reading/index.html