All skills
coreyhaines31 avatar

/read-book

@7c08527

When you want to read and extract structured notes from a book — PDF, EPUB, MOBI, markdown, .txt, pasted text, or URL to a public-domain work. Reads in chunks (by chapter when a TOC exists, by 50-page blocks otherwise), extracts per-chapter TL;DR + key concepts + quotes + action items + frameworks, and offers to capture to second-brain raw/ as a highlights- file. Four modes — notes (default, chapter-by-chapter), summary (whole-book TL;DR + 3–5 takeaways), quotes (pull-quote highlights only), study (notes + Q&A spaced-rep prep). Triggers on "/read-book," "read this book," "extract notes from this PDF," "what's in this book," "summarize this ebook," "pull quotes from this." Sibling to watch-video (same content-consumption pattern, different medium).

Use this Skill: https://skilld.dev/gh/coreyhaines31/makerskills/read-book

This session only. Nothing lands on disk.

referencesoutput-modes.md

≈1.7k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Output mode templates

Per-mode templates for the final aggregated notes.md. Each chapter chunk produces a partial in the same shape, then the aggregator combines them.


notes (default)

Best for: reading nonfiction you want to refer back to.

Per-chunk template

### Chapter <N>: <Chapter Title>

**TL;DR**: <2–3 sentence summary>

**Key concepts**:
- **<concept>** — <1-line explanation>
- **<concept>** — <1-line explanation>
- (3–7 per chapter, no more)

**Quotes worth keeping**:
> "<verbatim quote>" (p. X)
> "<verbatim quote>" (p. Y)

**Action items / Implications**:
- <if I believed this chapter, what would I do differently?>
- <thing to try / experiment to run>

**Frameworks introduced**:
- **<Framework name>**: <1-sentence summary of the structure>

**Open questions / disagreements**:
- <where I push back or want more evidence>

Full-book aggregation

# <Book Title> by <Author>

## TL;DR
<2–3 sentences synthesizing the whole book>

## Key takeaways
1. <takeaway>
2. <takeaway>
3. <takeaway>
(3–7 total — the things that survive forgetting)

## Who this is for
<1 sentence>

## Verdict
<recommend? skip? read in this order with other books?>

## Chapter notes
<all per-chunk outputs concatenated>

## Cross-references (suggested for wiki)
- Could connect to [[<existing wiki page>]] (per <chapter ref>)
- Could connect to [[<existing wiki page>]] (per <chapter ref>)

## Source
- File: <path>
- Author: <author>
- Pages: <count>
- Read on: <date>
- Mode: notes

summary

Best for: short attention, "did I miss anything important," catching up before a meeting.

Single-pass template (no per-chunk aggregation)

# <Book Title> by <Author> — Summary

**TL;DR (1 paragraph)**: <4–6 sentences>

**Key takeaways**:
1. <takeaway>
2. <takeaway>
3. <takeaway>
(3–5 total, not more)

**Who this is for**: <1 sentence>

**Should you read the whole thing?** <yes / no / just chapters X and Y>

**Source**: <path>, <author>, <pages> pages, read on <date>

For books over 100 pages, sample chapters (read intro + 2–3 random middle chapters + conclusion) rather than full chunking — summary doesn't justify full processing.


quotes

Best for: pull-quote mining for talks, social, content drafting.

Per-chunk template

### Chapter <N>: <Chapter Title>

> "<verbatim quote>" — <attribution if not the author> (p. X)
> "<verbatim quote>" — (p. Y)
> "<verbatim quote>" — (p. Z)

(5–15 per chapter for quote-heavy books; 0–3 for sparse chapters — only the keepers)

Full-book aggregation

# <Book Title> by <Author> — Quotes

<all quotes from all chunks, grouped by chapter, with page refs>

## Source
- File: <path>
- Read on: <date>

No analysis, no commentary — pure verbatim quotes. If you want analysis, use notes mode.


study

Best for: deep learning, books you want to retain long-term, prep for talks/teaching.

Per-chunk template

Notes-mode output + add:

**Spaced-repetition Q&A**:
1. **Q**: <question that tests recall of a key concept>
   **A**: <1–2 sentence answer>
2. **Q**: <question>
   **A**: <answer>
(2–4 Q&A pairs per chapter)

Full-book aggregation

Notes-mode aggregation + add at the end:

## Spaced-repetition deck (full)

<all Q&A pairs from all chapters, in order, ready to import to Anki/Mochi/RemNote>

## Suggested review cadence
- Week 1: review all Q&A daily
- Week 2-4: every other day
- After that: standard SRS schedule

The Q&A format makes the output directly importable to spaced-repetition apps. If the user wants Anki-importable TSV, add a --anki flag (one Q-tab-A per line).


Notes shared across modes

  • Quote attribution: when the author quotes someone else, the attribution goes after the quote (— Andy Wilkinson). When it's the author themselves, no attribution needed.
  • Page numbers: always include if available. For EPUB-converted books without stable page numbers, use chapter + paragraph approximation (Ch 3, ¶12).
  • Frameworks in the notes mode get their own bullet because they're the most reusable — a framework you remember outperforms 10 ideas you forget.
  • Disagreements / pushback in notes mode is mandatory if you have any. Reading critically beats reading reverently — surface the friction.

Render to PDF / HTML (pandoc)

Triggered by --render pdf or --render html flag on the invocation. Post-processes the final notes.md (or summary.md / quotes.md / study.md) into a shareable, styled document.

Prerequisites

# One-time
brew install pandoc                                    # required
brew install --cask basictex                           # required for PDF (smaller than full mactex)
# After basictex install, run once:
sudo tlmgr update --self && sudo tlmgr install collection-fontsrecommended

Commands

# PDF
pandoc "<workdir>/notes.md" \
  --css ~/.local/share/makerskills/render.css \
  --metadata title="<book title>" \
  --pdf-engine=xelatex \
  -o "<workdir>/notes.pdf"

# HTML (standalone — CSS inlined into the file)
pandoc "<workdir>/notes.md" \
  --standalone \
  --embed-resources \
  --css ~/.local/share/makerskills/render.css \
  --metadata title="<book title>" \
  -o "<workdir>/notes.html"

The shared stylesheet at ~/.local/share/makerskills/render.css is system-font + max-width 720px + print-optimized. Edit it freely — it's your file, used by read-book and second-brain.

After rendering, open:

open "<workdir>/notes.pdf"   # or notes.html

When to render

  • PDF for archive / email / print — looks the same on any device, no JS
  • HTML for sharing via link (drop into a static-hosted folder) or browser viewing — preserves CSS, can be edited live
  • Don't auto-render unless --render is specified — most book notes stay as markdown for Obsidian / second-brain capture

Alternative: Quarto (.qmd) for richer publishing

If you ever want executable code blocks (Python/R/Julia analysis inline), native citations + bibliography (BibTeX/CSL), multi-format publishing (slides, websites, books — not just PDF/HTML), or to turn your reading corpus into a published handbook/site, consider Quarto instead of pandoc.

Tradeoff: gains rich publishing features; costs an extra tool, breaks Obsidian native rendering (wikilinks especially), adds frontmatter complexity. Skipped by default — see second-brain/references/schema.md for the full pros/cons.

For most book notes (one-off summaries, shared briefs, personal archive), pandoc + the shared CSS above is plenty.

Source: SKILL.md on GitHub

2 warnings2mo3 checks · Risk MEDIUM
  • Gen Agent Trust Hub2mo

    The 'read-book' skill automates the extraction of notes from various book formats and URLs. While useful, it contains security risks related to how it executes background commands with user-provided files, and it could be manipulated by malicious instructions hidden inside the books it processes.

  • Socket2mo

    No alerts

  • Snyk2mo

    Risk: MEDIUM · 1 issue

Signed by skilld at 7c08527. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 4 weeks ago.

Activeupdated 3 months ago
metadata
{
  "version": "0.1.0"
}

README badge

README badge for coreyhaines31/makerskills/read-book