skill-from-book について
Skill From Bookは、Markdown形式の書籍を構造化されたClaudeスキルに変換するためのガイドです。長文資料を再利用可能な知識ファイルやワークフローに整理する手順を段階的に定め、抽出にはサブエージェントを使います。
主な機能
- 01書籍を細粒度の知識ファイルに分割
- 02構成、タスク、進捗の計画
- 03段階的な抽出手順の定義
- 04トピック抽出でサブエージェントを必須化
- 05ワークフロー提案と最終レビューに対応
活用シーン
- 01Markdown書籍をClaudeスキルに変換
- 02知識トピックごとのファイルを計画
- 03書籍から再利用可能なワークフローを抽出
- 04スキル作成の各段階の進捗管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bmad-labs/ skills --skill skill-from-bookインストール後、Claude Code で/skill-from-bookを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/analysis-guide.mdextraction-patterns.mdfile-templates.mdguidelines-template.mdworkflow-templates.mdscripts/init-book-skill.py詳細
Skill From Book
書籍コンテンツを、構造化されたコンテキスト効率の高い Claude スキルに変換します。
概要
このスキルでは、書籍(Markdown 形式)を次の要素を含む、よく整理されたスキルに変換する手順を説明します。
- 細分化されたナレッジファイル(1 ファイルにつき 1 つのコンセプト)
- 繰り返し実行できるタスクのワークフロー
- ユースケースのガイドライン(タスクと関連ファイルの対応付け)
- 複数のセッションにまたがる作業の進捗管理
- サブエージェントによる抽出タスク
重要な指示
このワークフローに厳密に従ってください。フェーズを飛ばしたり、順序を入れ替えたりしないでください。
- フェーズ 1 を開始する前に、書籍の Markdown ファイルの内容を読んではいけません
- 各フェーズに対応するリファレンスファイルを、該当フェーズの開始前に必ず読んでください
- 次のフェーズに進む前に、各フェーズを必ず完了してください
- 抽出タスクには必ずサブエージェントを使用してください
- 最終決定の前に、必ずユーザーにワークフローを提案してください
ワークフロー
フェーズ 1:分析
停止してください!先に進む前に、必ず次のことを行ってください。
references/analysis-guide.mdを最後まで読む- その後でのみ、以下の手順に進む
フェーズ 1 の手順:
-
目次とアウトラインのみを抽出する(書籍の全文は読まないでください)
# Count total lines wc -l book.md # Extract headers/TOC - THIS IS ALL YOU NEED grep -E "^#{1,3} " book.md -
アウトラインからナレッジのカテゴリーを特定する
- 核となる原則/理念
- ルールとガイドライン
- 例(良い例と悪い例)
- パターンとアンチパターン
- チェックリストとクイックリファレンス
-
ユースケースを定義する
- このスキルを使うのは誰ですか?
- どのようなタスクを実行しますか?
- どのような質問をしますか?
-
先に進む前に、特定したカテゴリーとユースケースをユーザーに確認してもらう
フェーズ 2:計画
停止してください!先に進む前に、必ず次のことを行ってください。
references/extraction-patterns.mdを最後まで読むreferences/file-templates.mdを最後まで読む- その後でのみ、以下の手順に進む
フェーズ 2 の手順:
-
各カテゴリーに必要なファイルを含むファイル構成を設計する
各カテゴリーには、次の 3 つの基本ファイルを必ず含めてください。
knowledge.md- 核となる概念、定義、基礎的な理解rules.md- 具体的なガイドライン、推奨事項と禁止事項examples.md- 良い例/悪い例のコード、変更前と変更後の比較
必要に応じて追加するファイル:
patterns.md- 再利用可能な解決策smells.md- アンチパターンと避けるべきことchecklist.md- すぐに参照できるチェックリスト
skill-name/ ├── SKILL.md ├── progress.md ├── guidelines.md ├── workflows/ # NEW: Step-by-step processes │ ├── [task-1].md │ └── [task-2].md └── references/ ├── category-1/ │ ├── knowledge.md # REQUIRED │ ├── rules.md # REQUIRED │ ├── examples.md # REQUIRED │ ├── patterns.md # Optional │ └── checklist.md # Optional └── category-2/ ├── knowledge.md # REQUIRED ├── rules.md # REQUIRED ├── examples.md # REQUIRED └── smells.md # Optional -
progress.md を作成する
- 作成するすべてのファイル(必須と任意)を一覧にする
- フェーズ/優先度ごとにグループ化する
- 完了状況を記録する
-
抽出タスクを計画する
- ナレッジファイルごとに 1 つのタスクを設定する
- 入力(行範囲を指定した書籍のセクション)と出力(ファイルパス)を定義する
- タスク間の依存関係を特定する
-
先に進む前に、ファイル構成と抽出計画をユーザーに確認してもらう
フェーズ 3:抽出
停止してください!先に進む前に、必ず次のことを行ってください。
- フェーズ 1 とフェーズ 2 を完了している
- 計画についてユーザーの確認を得ている
- その後でのみ、抽出に進む
重要:抽出には必ずサブエージェント(Task ツール)を使用してください。トピックごとに 1 つのサブエージェントを割り当て、各サブエージェントがそのトピックのすべてのファイルを作成します。
フェーズ 3 のメインエージェントへの指示
次の手順に従ってください。
- トピックごとに 1 つのサブエージェントを割り当てる - 各サブエージェントは書籍のセクションを 1 回読み、そのトピックのすべてのファイル(knowledge.md、rules.md、examples.md、および任意のファイル)を作成します
- 下のテンプレートに具体的な値を入力し、サブエージェントへのプロンプトを準備する
- フェーズ 1 の分析(行番号付き目次)から行範囲を計算する
- 完全なプロンプトを作成する - プレースホルダーを未入力のまま残さないでください
- 異なるトピックのサブエージェントを並行して起動する
- すべてのサブエージェントが完了したら、progress.md を更新する
サブエージェントへのプロンプトテンプレート
重要:このテンプレートをコピーし、サブエージェントの起動前に、角括弧で囲まれたすべてのプレースホルダーを実際の値に置き換えてください。
## Task: Extract [TOPIC] Knowledge Base
You are extracting knowledge from a book section to create a complete topic reference.
### Prerequisites - Read These Files First:
1. `skills/skill-from-book/references/file-templates.md` - Templates for all file types
2. `skills/skill-from-book/references/extraction-patterns.md` - Extraction rules
### Source Material:
- **Book**: [BOOK_PATH]
- **Section**: [CHAPTER/SECTION_NAME]
- **Line range**: Read with offset=[START_LINE], limit=[LINE_COUNT]
### Output Directory: [OUTPUT_TOPIC_PATH]
### Files to Create (in this order):
#### 1. knowledge.md (REQUIRED)
Core concepts, definitions, and foundational understanding.
- Extract: definitions, terminology, key concepts, how things relate
- Use the "Knowledge File" template
#### 2. rules.md (REQUIRED)
Specific guidelines, do's and don'ts.
- Extract: explicit rules, guidelines, best practices, exceptions
- Use the "Rules File" template
#### 3. examples.md (REQUIRED)
Good/bad code examples, before/after comparisons.
- Extract: all code samples, refactoring examples, comparisons
- Use the "Examples File" template
#### 4. [OPTIONAL_FILES - list any additional files needed]
[e.g., patterns.md, smells.md, checklist.md - specify what each should contain]
### Your Instructions:
1. Read the two prerequisite files FIRST to understand templates and extraction rules
2. Read the book section ONCE using: offset=[START_LINE], limit=[LINE_COUNT]
3. From that single read, extract content for ALL files listed above
4. For each file:
- Transform content (prose → bullets, extract rules, include examples)
- Format using the appropriate template from file-templates.md
- Keep each file under 200 lines
- Write to [OUTPUT_TOPIC_PATH]/[filename].md
5. Create files in order: knowledge.md → rules.md → examples.md → optional files
### Content Guidance:
[SPECIFIC_GUIDANCE - what to focus on, what to skip]
### Language Conversion (if applicable):
- Source: [SOURCE_LANG or "N/A"]
- Target: [TARGET_LANG or "N/A"]
- Convert ALL code examples to target language
例:入力済みのサブエージェントへのプロンプト
## Task: Extract Functions Knowledge Base
You are extracting knowledge from a book section to create a complete topic reference.
### Prerequisites - Read These Files First:
1. `skills/skill-from-book/references/file-templates.md` - Templates for all file types
2. `skills/skill-from-book/references/extraction-patterns.md` - Extraction rules
### Source Material:
- **Book**: /path/to/clean-code.md
- **Section**: Chapter 3 - Functions
- **Line range**: Read with offset=450, limit=380
### Output Directory: skills/clean-code/references/functions
### Files to Create (in this order):
#### 1. knowledge.md (REQUIRED)
Core concepts, definitions, and foundational understanding.
- Extract: what makes a function clean, key terminology (side effects, arguments, abstraction levels), how functions relate to other concepts
- Use the "Knowledge File" template
#### 2. rules.md (REQUIRED)
Specific guidelines, do's and don'ts.
- Extract: size rules, argument limits, naming conventions, single responsibility, do one thing principle
- Use the "Rules File" template
#### 3. examples.md (REQUIRED)
Good/bad code examples, before/after comparisons.
- Extract: all code samples showing good vs bad functions, refactoring walkthroughs
- Use the "Examples File" template
#### 4. checklist.md (OPTIONAL)
Quick reference for reviewing functions.
- Create a checklist from the rules for code review
### Your Instructions:
1. Read the two prerequisite files FIRST to understand templates and extraction rules
2. Read the book section ONCE using: offset=450, limit=380
3. From that single read, extract content for ALL files listed above
4. For each file:
- Transform content (prose → bullets, extract rules, include examples)
- Format using the appropriate template from file-templates.md
- Keep each file under 200 lines
- Write to skills/clean-code/references/functions/[filename].md
5. Create files in order: knowledge.md → rules.md → examples.md → checklist.md
### Content Guidance:
Focus on practical, actionable content. Skip author anecdotes and historical context. Prioritize rules that are universally applicable.
### Language Conversion:
- Source: Java
- Target: TypeScript
- Convert ALL code examples to TypeScript
並列抽出戦略
並列で実行:異なるトピック(それぞれを1つのサブエージェントが担当)
- サブエージェント 1:functions/(第 3 章)
- サブエージェント 2:naming/(第 2 章)
- サブエージェント 3:classes/(第 10 章)
完了を待つ必要あり:guidelines.md と workflows の作成は、すべてのトピック担当サブエージェントが完了するまで待ちます。
サブエージェントの起動前にメインエージェントが確認する項目
- すべてのプレースホルダーを実際の値に置き換えた
- Phase 1 の目次から行オフセットと上限を計算した
- 出力ディレクトリのパスが命名規則に従っている
- 必須ファイル(knowledge.md、rules.md、examples.md)をすべて記載した
- 任意ファイルを、内容に関する明確な指示とともに指定した
- 内容に関する指示が、このトピックに特化している
- 必要な場合は、言語の変換を指定した
Phase 4:ガイドラインの作成
停止してください!先に進む前に、必ず以下を行ってください:
- Phase 3 のすべての抽出タスクを完了している
references/guidelines-template.mdを最後まで読む- その後で初めて、ガイドラインの作成に進む
Phase 4 の手順:
以下を対応付けた guidelines.md を作成します:
- タスク → 関連ファイル(およびワークフロー)
- コード要素 → 関連ファイル
- 症状/問題 → 関連ファイル
- よくあるシナリオの判断ツリー
Phase 5:ワークフローの提案
停止してください!先に進む前に、必ず以下を行ってください:
- Phase 4(ガイドライン)を完了している
references/workflow-templates.mdを最後まで読む- その後で初めて、ワークフローの提案に進む
Phase 5 の手順:
-
書籍の内容から、候補となるワークフローを特定する
以下を探します:
- プロセスの説明(「X の実行方法」)
- 繰り返し登場するタスク
- 書籍内のチェックリスト
- アンチパターンのセクション(正しいプロセスを示唆しています)
- 複数の手順で構成される作業
-
ワークフローをユーザーに提案する
候補となるワークフローのリストを提示します:
Based on the book content, I recommend these workflows: | Workflow | Purpose | Key Steps | |----------|---------|-----------| | [name] | [what it does] | [brief step summary] | | [name] | [what it does] | [brief step summary] | -
作成するワークフローをユーザーに選んでもらう
Which workflows would you like me to create? - Select from the list above - Suggest additional workflows - Skip workflow creation -
選択されたワークフローを作成する
選択されたワークフローごとに:
references/workflow-templates.mdのテンプレートを使用する- 関連するナレッジファイルへの相互参照を含める
- 各手順にチェックボックスを追加する
- 明確な終了条件を定義する
-
guidelines.md を更新して、ワークフローへの参照を追加する
guidelines.md の先頭に「Workflows」セクションを追加します:
## Workflows | Task | Workflow | |------|----------| | [task description] | `workflows/[name].md` |
Phase 6:最終仕上げ
Phase 6 の手順:
- すべてのファイルの一貫性を確認する
- progress.md を更新する(完了の印を付ける)
- サンプルクエリでテストする
- テスト結果に基づいてガイドラインを改善する
- 最終的なスキルをユーザーに確認してもらう
重要な原則
粒度
- 1 ファイルにつき 1 つの概念
- ファイルは 50~200 行にする
- 大きなトピックはサブトピックに分割する
コンテキスト効率
- 必要なものだけを読み込む
- ガイドラインファイルから、該当するナレッジへ誘導する
- ファイル間の重複を避ける
実行に役立つ内容
- 説明よりルールを重視する
- 理論より例を重視する
- すぐに参照できるチェックリストを用意する
- 繰り返し実行するタスクにはワークフローを用意する
サブエージェントでの作業への対応
- 各抽出タスクは独立している
- 入出力の仕様が明確である
- 複数の抽出を並列で実行できる
ファイルの命名規則
skill-name/
├── SKILL.md
├── guidelines.md
├── progress.md
├── workflows/ # Step-by-step processes
│ ├── [verb]-[noun].md # e.g., code-review.md, bug-fix.md
│ └── ...
└── references/
├── [category]/ # Noun, plural (e.g., functions, classes)
│ ├── knowledge.md # REQUIRED: Core concepts and definitions
│ ├── rules.md # REQUIRED: Specific guidelines
│ ├── examples.md # REQUIRED: Good/bad examples
│ ├── patterns.md # Optional: Reusable solutions
│ ├── smells.md # Optional: Anti-patterns
│ └── checklist.md # Optional: Quick reference
進捗管理
常に progress.md を維持します:
# [Skill Name] - Creation Progress
## Status: [X/Y files complete]
## Phase 1: Foundation
- [x] SKILL.md
- [x] progress.md
- [ ] guidelines.md
## Phase 2: Workflows
- [ ] workflows/[name].md
- [ ] workflows/[name].md
## Phase 3: [Category Name]
- [ ] category/knowledge.md # REQUIRED
- [ ] category/rules.md # REQUIRED
- [ ] category/examples.md # REQUIRED
- [ ] category/patterns.md # Optional
...
クイックスタート
- ユーザーが書籍の Markdown ファイルのパスを指定する
- まだ書籍の内容を読まない
- Phase 1:分析を実行する(目次のみを抽出)
- ユーザーの確認を得る
- Phase 2:計画を実行する
- ユーザーの確認を得る
- Phase 3:抽出を実行する(サブエージェントを使用)
- Phase 4:ガイドラインを作成する
- Phase 5:ワークフローを提案する(ユーザーに選んでもらう)
- Phase 6:最終仕上げを行う