mcpField
R
read-book

read-book

github.com/coreyhaines31生産性875414 回インストール6 日前に更新
リポジトリ

read-book について

read-book は書籍や長い PDF から構造化ノートを作るスキルです。章や分量ごとに処理し、要約、引用、学習カードを生成できます。研究や意思決定に使え、second-brain への保存も選べます。

主な機能

  1. 01PDF、EPUB、MOBI、Markdown、テキストを読み込み
  2. 02章や分量ごとに分割して処理
  3. 03ノート、要約、引用、Q&A カードを生成
  4. 04メタデータ付きノートに集約
  5. 05second-brain への保存を選択可能

活用シーン

  1. 01長い書籍の章ごとの要点を抽出
  2. 02間隔反復用の学習カードを作成
  3. 03章の情報付きで引用を収集
  4. 04書籍ノートを second-brain に整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/coreyhaines31/makerskills --skill read-book

インストール後、Claude Code で/read-bookを入力して読み込まれたか確認します。

同梱ファイルreferences/output-modes.mdreferences/sources.md

詳細

/read-book — 書籍や長い PDF から構造化されたノートを抽出する

watch-video の関連機能です。同じコンテンツ消費パターンを使用します:取り込み → 分割 → 抽出 → 必要に応じてセカンドブレインに保存。

ステップ 1 — 入力を解析する

次の入力を受け付けます:

  • PDF:ファイルパス(Claude は Read pages:"X-Y" を使って PDF をチャンク単位でネイティブに読み取ります)
  • EPUB / MOBI:ファイルパス(抽出には pandoc または ebook-convert が必要です。references/sources.md を参照してください)
  • Markdown / .txt:ファイルパス(そのまま読み取ります)
  • 貼り付けたテキスト:貼り付けられた内容をそのまま使います
  • パブリックドメインのテキストの URL:エージェントの URL 取得ツールまたは curl を使って取得します(Project Gutenberg、archive.org など)

ファイル拡張子から種類を判別します。不明な場合は確認してください。

ステップ 2 — モードを解析する

呼び出しモード出力内容
/read-book <input>notes(デフォルト)章ごとの内容:要約 + 主要な概念 + 引用 + アクション項目 + フレームワーク
/read-book <input> summarysummary書籍全体の要約(1 段落)+ 重要なポイント 3~5 個 + 対象読者
/read-book <input> quotesquotes章の文脈とページ参照を付けた、引用文のハイライトのみ
/read-book <input> studystudyノートモードの内容 + 間隔反復用の Q&A カード 10~20 枚

書籍が長く(200 ページ超)、モードが指定されていない場合は、デフォルトで notes を使いますが、多数のツール呼び出しが必要になることを警告してください。

ステップ 3 — テキストを取得して分割する

ソースごとの取り込み方法は references/sources.md を参照してください。このステップの出力は、テキストコンテンツとチャンク分割計画です。

チャンク分割戦略(優先順位順のハイブリッド方式):

  1. 目次がある場合は章ごと(しおり付き PDF、または pandoc で変換した際に章の見出しが保持される EPUB/MOBI)

    • PDF の場合は pdfinfo <pdf> | grep "Pages" を使います
    • 章を検出するには pdftotext -layout <pdf> | grep -i "^chapter\|^part" を使うか、1~5 ページの目次を読み取ります
    • EPUB:pandoc <epub> -o tmp.md の実行後、# Chapter X の見出し間をチャンクにします
  2. 目次がない PDF は、ページ数ごとに分割します:1 チャンクあたり 50 ページ

  3. テキスト/Markdown は、文字数ごとに分割します:1 チャンクあたり 30,000 文字(約 7,500 語)

チャンク分割計画を ~/Documents/books/<author>-<title-slug>-<YYYY-MM-DD>/chunks.json に保存します:

{
  "source": "<path>",
  "title": "<book title>",
  "author": "<author>",
  "type": "pdf",
  "total_pages": 287,
  "chunking": "by-chapter",
  "chunks": [
    {"i": 0, "label": "Introduction", "pages": "1-12"},
    {"i": 1, "label": "Chapter 1: The Problem", "pages": "13-32"},
    ...
  ]
}

ステップ 4 — 各チャンクを読む

次のループを実行します:

  1. チャンク N を読み取ります(PDF は pages: を指定して Read ツールを使い、テキスト/MD はファイル全体を読み取ります)
  2. 選択したモードに従って抽出します(テンプレートは references/output-modes.md を参照してください)
  3. チャンクのノートを ~/Documents/books/<workdir>/notes-<NNN>-<label-slug>.md に追加します

PDF の場合、書籍全体を 1 回の呼び出しで読まないでください。Claude の PDF ツールは最大で約 10 ページまでです。チャンクごとに処理してください。

チャンクから役立つ情報を抽出できなかった場合(図が大半を占める場合や、前付け部分など)は、スキップしたことを記録して続行してください。

ステップ 5 — ノートを集約して最終ファイルを作成する

すべてのチャンクのノートを、選択したモードの書籍全体用テンプレート(references/output-modes.md を参照)に沿って、1 つの ~/Documents/books/<workdir>/notes.md にまとめます。

ファイルの先頭には、常にメタデータブロックとセカンドブレイン互換のフロントマターを置きます:

source: <file path or URL>
captured: YYYY-MM-DD
type: book
book_title: <title>
author: <author>
mode: notes
chunks: <count>
chunking: <strategy>

# <title> by <author>

## TL;DR
<2–3 sentences>

## Key takeaways
1. ...

## Chapter notes
...

## Cross-references (suggested for wiki)
- Could connect to [[Longevity Biomarkers]] (per Chapter 3 discussion of biomarkers)
- Could connect to [[Productivity & Systems]] (per Chapter 7 framework)

相互参照の提案は参考情報です。/sb compile が実行するための提案であり、自動適用はされません。それぞれの役割を分けてください。

ステップ 6 — セカンドブレインへの保存を提案する

次のように確認します:

「これをセカンドブレインに保存しますか?ボルトの highlights- 種別プレフィックスに合わせて、${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/raw/highlights-<slug>.md に書き込みます。」

デフォルトは確認であり、自動書き込みはしません。ユーザーが希望する場合:

  1. 最終版の notes.md(先頭にセカンドブレイン互換のフロントマターがあるもの)を ${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/raw/highlights-<slug>.md にコピーします
  2. パスをユーザーに伝えます
  3. 次のように提案します:「後で /sb compile を実行すると、これを Wiki ページに統合できます。フッターの相互参照の提案は出発点として使えます。」

ユーザーが保存を見送った場合も、作業ディレクトリにはすべてのファイルが残ります。後でファイルを取得できます。

ステップ 7 — レポート

チャットで以下を報告します。

  • 1 行の見出し:<title> · <author> · <total_pages or word count> · <mode> · <chunks processed>
  • 作業ディレクトリのパス
  • TL;DR セクション
  • notes / study モードの場合:主なポイントを 3 つ簡潔に列挙
  • quotes モードの場合:引用を 3 つ
  • second-brain に保存した場合:そのパスも報告

モード(簡単な呼び出し)

呼び出しモード動作
/read-book <input>notesパイプライン全体を実行するデフォルトのモード
/read-book <input> summarysummaryTL;DR と主なポイントのみ(短い本は 1 回の読み取り、長い本は章をサンプリング)
/read-book <input> quotesquotes章ごとに処理しますが、引用のみを出力
/read-book <input> studystudyメモ + 間隔反復カード形式の Q&A
/read-book <input> --capture(any)確認手順を省略し、second-brain の raw/ に自動で書き込み
/read-book <input> --render pdf(any)最終版の notes.md も pandoc で PDF に変換します(~/.local/share/makerskills/render.css を使用)。references/output-modes.md を参照してください。
/read-book <input> --render html(any)上記と同じですが、HTML に変換します

連携先

  • second-brain — 主な連携先です。highlights-<slug>.md を raw/ に書き込みます。その後、/sb compile で wiki ページに統合します。
  • deep-research — リサーチの質問から本が見つかった場合は、次に /read-book を実行します。メモはリサーチ概要にフィードバックされます。
  • business-brainstorm — アイデアを評価する際(例:類似モデルを扱うビジネス書)、read-book が構造化された根拠を提示します。
  • decide — 権威ある人物の著作が意思決定の鍵となる場合(例:「VC から資金を調達すべきか?」→ Naval / Jason Cohen を読む)、read-book が関連する章を抽出します。
  • slide-deck — 本の要点から講演資料を作成します(ブックトークのパターン)。
  • watch-video — 関連するスキルで、同じコンテンツ消費のパターンを使います。オーディオブックの場合は、watch-video transcript モードを使います。
  • nonfictionskills / fictionskills — 本を書くためにリサーチする場合、このスキルで比較対象となるタイトルを読みます。

エラー処理

失敗対応
pandoc / ebook-convert がない状態で EPUB/MOBI を処理ユーザーに brew install pandoc または brew install calibre を案内します(calibre には ebook-convert が含まれます)。
PDF がスキャン画像である(テキストレイヤーがない)先に OCR を行うよう提案します:brew install ocrmypdf && ocrmypdf <pdf> <pdf-ocr.pdf>
PDF に検出可能な目次がない50 ページごとのチャンクに切り替えます。メタデータにその旨を記載します。
本が異例に長い(500 ページ超)コストと所要時間を警告し、全メモの代わりに要約モードを希望するかユーザーに尋ねます。
チャンクの抽出結果が空そのチャンクをスキップして記録し、続行します。処理全体を失敗させないでください。

品質に関する注意事項

  • 元の内容が分からなくなるほど要約しないでください。 30 ページの章なら、メモは 3 行ではなく 8~15 行にします。圧縮はよいことですが、内容を平板化するのはよくありません。
  • 具体的な情報を保持してください。 名前、数字、日付、引用はそのまま残します。後で「Andy Wilkinson は X について何と言ったか」を検索して見つけられることが、重要な目的です。
  • 引用は厳密に扱ってください。 引用として示す場合は、一字一句そのまま書き写します。可能であればページ番号も記載します。
  • アクション項目を明示してください。 本を読んで「X をするべきだ」と思った場合は、明示的に示します。これらは最も価値の高い成果です。
  • フレームワークは個別の箇条書きにしてください。 著者がフレームワーク(例:「9 次元フィルター」、「Save the Cat のビート」)に名前を付けている場合は、メモ内でその名前を挙げます。

コメント