ebook-analysis
電子書籍を解析し、引用元を追跡可能な形で概念やエンティティを抽出します。コンテンツをタイプや階層で分類し、複数の書籍コレクションにまたがった知識の統合・合成を行います。
description の原文を見る
Parse ebooks, extract concepts and entities with citation traceability, classify by type/layer, and synthesize across book collections.
SKILL.md 本文
電子書籍分析: 非フィクション知識抽出
電子書籍を分析して、完全な引用可能性を備えた知識を抽出します。このスキルは2つの補完的な抽出モードをサポートします:
- 概念抽出 - 抽象化レベルで分類されたアイデアを抽出(原則→戦術)
- エンティティ抽出 - 複数の書籍に渡って永続する名前付きのもの(研究、研究者、フレームワーク、逸話)を抽出
中核原則
すべての抽出は、その正確なソースまで追跡可能でなければなりません。 引用可能性は譲歩の余地がありません。完全な出所を伴うより少ない抽出が、それなしのより多い抽出より優先されます。
2つの抽出モード
モード1: 概念抽出
抽象化レベルで組織されたアイデアを抽出するためのモード。
使用場面: 書籍を移転可能なアイデアについて分析する、概念分類法を構築する、抽象的な原則が具体的な戦術とどう関連するかを理解する。
出力: JSONファイル(analysis.json、concepts.json)
例: 「間隔反復は保持を向上させる」はレイヤー2のメカニズムです。
モード2: エンティティ抽出
複数の書籍に渡ってクロスリファレンスできる名前付きのものを抽出するためのモード。
使用場面: 同じ研究、研究者、またはフレームワークが複数の書籍に登場するナレッジベースを構築する。目標はエンティティ解決です—「Range」の「Hogarth のフレームワーク」が他の場所で言及された「kind/wicked environments(種類/悪い環境)」と同じであることを認識することです。
出力: ナレッジベース構造のMarkdownファイル
例: 「Kind vs Wicked Environments」はRobin Hogarth によるフレームワークです。
モードの選択
| 目的 | 使用モード |
|---|---|
| 書籍の議論構造を理解する | 概念抽出 |
| 書籍全体にわたる参考文献ライブラリを構築する | エンティティ抽出 |
| 実行可能な要点を作成する | 概念抽出 |
| 研究者が複数のソースで何を言っているかを追跡する | エンティティ抽出 |
| 両方 | 両モードを順序立てて実行 |
エンティティ抽出モード(詳細)
エンティティタイプ
| タイプ | キャプチャする内容 | 例 |
|---|---|---|
| study | 研究成果、実験、データ | Flynn Effect、Marshmallow Test |
| researcher | 人物とその貢献 | Anders Ericsson、Robin Hogarth |
| framework | メンタルモデル、分類法、システム | Kind vs Wicked、Desirable Difficulties |
| anecdote | ポイントを説明するために使用される物語 | Tiger vs Roger、Challenger Disaster |
| concept | フレームワークではないアイデア | Cognitive entrenchment、Match quality |
拡張エンティティタイプガイダンス
5つのタイプにきれいに当てはまらないエンティティもあります。ガイドライン:
| エンティティ種類 | 使用タイプ | 理由 |
|---|---|---|
| シミュレーション/ゲーム(Superstruct、EVOKE) | anecdote | 仮説的なものであっても、説明的なイベント |
| 機関(IFTF、WEF) | researcher | 個人と同様に組織もアイデアを貢献 |
| 歴史的イベント(Challenger 災害) | anecdote | 原則を説明する物語 |
| 仮想シナリオ | anecdote | 「Imaginable」などの書籍からの未来シナリオ |
| 思考実験 | framework | 体系的な場合は framework、そうでなければ concept |
不確実な場合: ナラティブ/イベントはデフォルトで anecdote に、アイデアは concept に、体系的な方法は framework に設定します。
著者アズサブジェクトパターン
書籍の著者が重要なエンティティでもある場合(例:「Imaginable」のJane McGonigal):
以下の場合は researcher エンティティを作成する:
- 著者に注目すべき先行業績または機関関係がある
- 著者がWikipediaまたは他の参照ソースに登場する
- 著者の背景/認証情報が書籍を理解するのに関連している
- あなたのコレクション内の他の書籍が彼らを参照するかもしれない
以下の場合はスキップする:
- 著者がこの書籍のためにのみ知られている
- エンティティを検証/充実させる外部ソースがない
著者サブジェクト向けのテンプレート追加:
## Note
この研究者はあなたのコレクション内の [Book] の著者です。彼らのフレームワークとコンセプトは別途ドキュメント化されています。
エンティティファイルテンプレート
# [Entity Name]
**Type:** study | researcher | framework | anecdote | concept
**Status:** stub | partial | solid | authoritative
**Last Updated:** YYYY-MM-DD
**Aliases:** alias1, alias2, alias3
## Summary
[2-3 文の統合された理解]
## Key Findings / What It Illustrates
1. [主張または成果(ソース付き)]
— Source: [Book], Ch.[X]
2. [別の主張]
— Source: [Book], Ch.[X]
## Key Quotes
> "引用可能なテキストはここ。"
> "別の印象的な引用。"
## Sources in Collection
| Book | Author | How It's Used | Citation |
|------|--------|---------------|----------|
| Range | Epstein | [書籍での役割] | Ch.X |
## Sources NOT in Collection
- [このエンティティを充実させるであろう書籍]
## Related Entities
- [Other Entity](../type/other-entity.md) - 関係の説明
## Open Questions
- [まだわかっていないこと]
ナレッジベース構造
/knowledge/
├── _index.md # マスターレジストリ
├── _entities.json # 検索可能なインデックス(生成)
│
├── nonfiction/
│ ├── _index.md # ドメインインデックス
│ ├── _[book]-quotes.md # 書籍固有の引用ファイル
│ ├── studies/
│ │ ├── flynn-effect.md
│ │ └── chase-simon-chunking.md
│ ├── researchers/
│ │ ├── hogarth-robin.md
│ │ └── tetlock-philip.md
│ ├── frameworks/
│ │ ├── kind-vs-wicked-environments.md
│ │ └── desirable-difficulties.md
│ ├── anecdotes/
│ │ ├── tiger-vs-roger.md
│ │ └── challenger-disaster.md
│ └── concepts/
│ ├── cognitive-entrenchment.md
│ └── match-quality.md
│
├── cooking/ # ドメイン固有構造
│ ├── techniques/
│ ├── ingredients/
│ └── equipment/
│
└── technical/
├── patterns/
└── technologies/
引用抽出
引用可能な引用は、個別の抽出タイプです。各書籍について、引用ファイルを作成します:
ファイル: _[book-slug]-quotes.md
構造:
# Quotable Quotes from [Book Title]
**Author:** [Author]
**Last Updated:** YYYY-MM-DD
## On [Theme 1]
> "引用テキストはここ。"
> "同じテーマに関する別の引用。"
## On [Theme 2]
> "別のテーマに関する引用。"
良い引用の条件:
- 重要なインサイトをキャプチャするための忘れられない表現
- 自己完結型(文脈がなくても理解できる)
- 驚くべきまたは直感に反する定式化
- プレゼンテーション、執筆、または参照に有用
エンティティ抽出ワークフロー
- 書籍をスキャン - 名前付き研究、研究者、フレームワーク、説明的なストーリーを特定しながら読む
- 既存エンティティを確認 -
kb-resolve-entity.tsを使用してエンティティが既に存在するかを確認 - 作成または更新 - 新規エンティティ→ファイルを作成; 既存→ソースとして追加
- 引用を追加 - 印象的な引用を引用ファイルに抽出
- クロスリンク - Related Entities セクションを追加
- インデックスを再生成 -
kb-generate-index.tsを実行
エンティティ抽出状態(KB0-KB5)
| 状態 | 症状 | 対処 |
|---|---|---|
| KB0 | ナレッジベースがない | ディレクトリ構造を作成 |
| KB1 | 構造は存在するが、エンティティがない | 抽出を開始 |
| KB2 | 書籍から抽出中 | エンティティファイルを作成 |
| KB3 | エンティティが作成されたが、リンクされていない | Related Entities を追加 |
| KB4 | リンクされたが、インデックスがない | kb-generate-index.ts を実行 |
| KB5 | この書籍の抽出完了 | 次の書籍に進む |
書籍間統合ワークフロー
トリガー: 2冊以上の書籍がナレッジベースに抽出されたとき。
目標:
- 複数の書籍に登場するエンティティを見つける
- 書籍間の概念的なつながりを特定する
- 矛盾または補完的な視点を表面化させる
- 複数ソースの統合でエンティティファイルを更新する
プロセス:
-
エンティティ重複検出
# 2つ以上のソースを持つエンティティを見つける grep -l "Sources in Collection" knowledge/nonfiction/**/*.md | \ xargs grep -l "| .* | .* |" | head -20または、新しいソースで更新されたエンティティを手動で確認。
-
概念的なつながりマッピング
- 書籍全体のフレームワークを比較(例:Range の「wicked environments」↔ Imaginable の「futures thinking」)
- 共有研究者を特定(例:Tetlock が Range と Imaginable の両方に登場)
- 補完的なテーマを探す(予測失敗→不確実性にもかかわらず準備)
-
統合ドキュメント 2冊以上の書籍に登場するエンティティの場合、Summary セクションを更新:
## Summary [両方のソースからの統合された理解。合意と相違を記載] -
書籍間インサイト
context/insights/cross-book-{theme}.mdでテーマ的なつながりを記録:# Cross-Book Insight: [Theme] ## Books Contributing - Range (Epstein) - [視点] - Imaginable (McGonigal) - [視点] ## Synthesis [書籍がどのように補完または矛盾するか]
概念抽出モード(詳細)
概念タイプ(抽象→具体)
| タイプ | 定義 | 例 |
|---|---|---|
| Principle | 基本的な真理または公理 | 「コミュニティは共有アイデンティティの周りに形成される」 |
| Mechanism | 何かがどのように機能するか | 「互恵性が社会的絆を作成する」 |
| Pattern | 繰り返される構造またはアプローチ | 「コミュニティライフサイクルパターン」 |
| Strategy | 目標を達成するための高レベルなアプローチ | 「貢献を要求する前に信頼を構築する」 |
| Tactic | 具体的で実行可能なテクニック | 「24時間以内にウェルカムメールを送信する」 |
抽象化レイヤー
| レイヤー | 名前 | 抽象化 | 例 |
|---|---|---|---|
| 0 | Foundational | 普遍的な原則 | 「人間は帰属を求める」 |
| 1 | Theoretical | ドメイン固有の理論 | 「コミュニティは共有の目的を必要とする」 |
| 2 | Strategic | アプローチとフレームワーク | 「エンゲージメントのファネルモデル」 |
| 3 | Tactical | 具体的な方法 | 「オンボーディングシーケンス」 |
| 4 | Specific | 具体的な実装 | 「フォーラムに Discourse を使用」 |
関係タイプ
| 関係 | 意味 | 使用場面 |
|---|---|---|
| INFLUENCES | A が B に影響を与える | 因果または相関関係 |
| SUPPORTS | A が B のエビデンスを提供する | 引用、例、検証 |
| CONTRADICTS | A が B と矛盾する | 相反する主張 |
| COMPOSED_OF | A が B を含む | 部分全体の関係 |
| DERIVES_FROM | A が B から導出される | 論理的結論 |
概念抽出状態(EA0-EA7)
| 状態 | 症状 | 対処 |
|---|---|---|
| EA0 | 入力ファイルがない | ファイル準備をガイド |
| EA1 | 生のファイル、未パース | ea-parse.ts を実行 |
| EA2 | パースされたが、未抽出 | LLM が概念を抽出 |
| EA3 | 抽出されたが、未分類 | タイプとレイヤーを割り当て |
| EA4 | 分類されたが、未注釈 | テーマと関係を追加 |
| EA5 | 単一書籍完了 | エクスポートまたは統合に進む |
| EA6 | 複数書籍準備完了 | 書籍間統合 |
| EA7 | 分析完了 | レポートを生成 |
概念抽出ワークフロー
- パース -
ea-parse.tsを実行して書籍をチャンク化(位置追跡付き) - 抽出 - チャンクを LLM に提示して、正確な引用付きの概念識別を行う
- 分類 - タイプ(原則→戦術)とレイヤー(0-4)を割り当てる
- 注釈 - テーマと機能分析を追加
- リンク - 関連概念を接続
- エクスポート - analysis.json、concepts.json、report.md を生成
利用可能なツール
パースツール
ea-parse.ts
メタデータと位置追跡を含むチャンクに電子書籍ファイルをパースします。
deno run --allow-read scripts/ea-parse.ts path/to/book.txt
deno run --allow-read scripts/ea-parse.ts path/to/book.epub --format epub
deno run --allow-read scripts/ea-parse.ts book.txt --chunk-size 1500 --overlap 150
出力: メタデータ、章(検出された場合)、および位置情報付きチャンクを含む JSON。
ナレッジベースツール
kb-generate-index.ts
ナレッジベースをスキャンし、検索可能なエンティティインデックスを生成します。
deno run --allow-read --allow-write scripts/kb-generate-index.ts /path/to/knowledge
出力: すべてのエンティティ、別名、メタデータを含む _entities.json を作成。
kb-resolve-entity.ts
重複を作成する前に既存のエンティティを検索します。
deno run --allow-read scripts/kb-resolve-entity.ts "Flynn Effect"
deno run --allow-read scripts/kb-resolve-entity.ts "Hogarth" --threshold 0.5
deno run --allow-read scripts/kb-resolve-entity.ts "kind learning" --json
オプション:
--threshold <0-1>- 最小マッチスコア(デフォルト: 0.3)--limit <n>- 最大結果数(デフォルト: 5)--json- JSON として出力
検証ツール
ea-validate.ts
引用精度とスキーマ完全性について分析出力を検証します。
deno run --allow-read scripts/ea-validate.ts analysis.json --report
アンチパターン
抽出の洪水
パターン: 潜在的に興味深いすべての語句を抽出する。 改善: 抽出する前に「これを引用するか?」と聞きます。量より質。
引用ブラックホール
パターン: 正確な引用または位置を保存せずに抽出する。 改善: 常にキャプチャ: 正確な引用、章参照、文脈。
重複エンティティ
パターン: 存在しているかどうかを確認せずに新しいエンティティを作成する。
改善: 常に kb-resolve-entity.ts を最初に実行。
孤立したエンティティ
パターン: Related Entities リンクのないエンティティ。 改善: すべてのエンティティが少なくとも2つの他のものに接続する必要があります。
引用のないエンティティ
パターン: エンティティがアイデアをキャプチャするが、忘れられない表現がない。 改善: 著者の正確な言葉で Key Quotes セクションを含める。
単一書籍サイロ
パターン: 書籍をクロスリファレンスせずに分析する。 改善: 2冊以上の書籍の後、統合を実行してつながりを見つける。
ワークフロー例
完全なエンティティ抽出(Range の例)
1. 章ごとに書籍をスキャン
2. すべての名前付き研究、研究者、フレームワーク、逸話を特定
3. すべての潜在的なエンティティをリストアップする在庫ドキュメントを作成
4. 各エンティティについて:
a. kb-resolve-entity.ts "[entity name]" を実行して存在を確認
b. 適切なタイプディレクトリに Markdown ファイルを作成
c. 調査結果と引用でテンプレートを入力
d. Key Quotes セクションを追加
5. 有印象的なすべての引用を含む _range-quotes.md を作成
6. 新規エンティティで _index.md を更新
7. kb-generate-index.ts を実行して _entities.json をリビルド
クイック概念スキャン
1. ea-parse.ts book.txt --chunk-size 2000
2. 各チャンクについて、上位 3-5 の概念を抽出
3. タイプとレイヤーで分類
4. concepts.json と report.md を生成
出力の永続化
エンティティ抽出出力
| ファイル | 場所 |
|---|---|
| エンティティファイル | knowledge/{domain}/{type}/{entity-slug}.md |
| 引用ファイル | knowledge/{domain}/_[book]-quotes.md |
| エンティティインデックス | knowledge/_entities.json |
| ドメインインデックス | knowledge/{domain}/_index.md |
概念抽出出力
| ファイル | 場所 |
|---|---|
| 完全な分析 | ebook-analysis/{author}-{title}/analysis.json |
| 概念のみ | ebook-analysis/{author}-{title}/concepts.json |
| 引用 | ebook-analysis/{author}-{title}/citations.json |
| レポート | ebook-analysis/{author}-{title}/report.md |
検証(Oracle)
このスキルが検証できること
- 引用位置が存在する - 引用テキストが請求された位置に表示されることを検証
- スキーマの完全性 - 必要なフィールドが存在する
- クロスリファレンス整合性 - 参照されたエンティティが存在する
- 重複検出 - エンティティが既に存在しない(kb-resolve-entity.ts 経由)
人間の判断が必要なこと
- 重要性 - これは抽出する価値があるか?
- 分類 - これは本当に「framework」対「concept」か?
- 関係の有効性 - A は本当に B に影響を与えるか?
- 引用品質 - これは本当に印象的か?
統合グラフ
インバウンド(他のスキルから)
| ソース | リード先 |
|---|---|
| research | 複数書籍統合準備完了 |
| reverse-outliner | 概念抽出用の構造データ |
アウトバウンド(他のスキルへ)
| 開始状態 | リード先 |
|---|---|
| エンティティ抽出完了 | dna-extraction(深い機能分析) |
| 概念抽出完了 | media-meta-analysis(クロスソース統合) |
補完的なスキル
| スキル | 関係 |
|---|---|
| dna-extraction | 注釈用の6軸機能分析 |
| reverse-outliner | フィクション向けの構造的アプローチ |
| voice-analysis | 著者スタイルのフィンガープリント |
| context-network | ナレッジベース保守 |
キャリブレーションデータ(Range + Imaginable 抽出より)
書籍密度別
| 書籍タイプ | 予想エンティティ数 | 推定工数 |
|---|---|---|
| 密度の高い非フィクション(Range、Thinking Fast & Slow) | 60-100 | 4-6 時間 |
| 中程度の非フィクション(ほとんどのビジネス書) | 30-50 | 2-3 時間 |
| 軽い非フィクション(ポピュラーサイエンス) | 15-30 | 1-2 時間 |
| 技術書 | 20-40 | 2-3 時間 |
書籍サブタイプ別
異なる非フィクションサブタイプは、異なるエンティティプロファイルを生成します:
| サブタイプ | 例 | エンティティプロファイル | 予想数 |
|---|---|---|---|
| 研究統合 | Range | 多くの研究、研究者、フレームワーク | 60-100 |
| 方法論的/ハウツー | Imaginable | 多くのフレームワーク、少数の研究 | 30-50 |
| 回顧録/ナラティブ | Educated | 少数のフレームワーク、多くの逸話 | 20-40 |
| 参考 | 技術マニュアル | 多くの概念、少数の逸話 | 可変 |
研究統合書は多くの研究と研究者を引用し、ドメイン全体でアイデアを接続します。 方法論的書はテクニックとフレームワークを教えますが、外部ソースの引用が少数です。 回顧録/ナラティブ書は個人的なストーリーを使用して、研究ではなくポイントを説明します。
メタデータ信頼性警告
書籍分類メタデータ(Calibre タグ、ライブラリカテゴリ)はしばしば:
- 間違い - フィクション/非フィクションの誤分類
- 汎用 - 「General Fiction」または「Self-Help」が広く適用される
- 不一貫 - 同じ書籍がソース全体で異なるカテゴリに分類される
抽出前に分類が意味があることを常に確認してください。「Imaginable」などの方法論的書籍の「fiction」タグはメタデータエラーです。
推論要件
標準推論
- 単一チャンク概念抽出
- タイプ/レイヤー分類
- シンプルな関係特定
- 個別エンティティ作成
拡張推論(ultrathink)
以下のために拡張思考を使用:
- 複数書籍統合 - 複数のネットワークを同時に保持する必要がある
- 矛盾検出 - ソース間のセマンティック比較
- テーマの出現 - 大規模なセット全体のパターン特定
- 知識ギャップ特定 - 不足しているものについての推論
トリガーフレーズ: 「書籍間で統合する」、「矛盾を見つける」、「ギャップを特定する」、「包括的分析」
あなたが行わないこと
- 引用可能性なしで抽出する
- 重複をチェックせずにエンティティを作成する
- リンク段階をスキップする(孤立したエンティティは有用ではない)
- 引用なしでエンティティを残す
- フィクションを非フィクションとして扱う
- セマンティック分析に正規表現を使用する(LLM 判断のみ)
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jwynia
- リポジトリ
- jwynia/agent-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/jwynia/agent-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。