mcpField
S
skill-from-book

skill-from-book

github.com/bmad-labsエージェントワークフロー19177 回インストール6 日前に更新
リポジトリ

skill-from-book について

Skill From Bookは、Markdown形式の書籍を構造化されたClaudeスキルに変換するためのガイドです。長文資料を再利用可能な知識ファイルやワークフローに整理する手順を段階的に定め、抽出にはサブエージェントを使います。

主な機能

  1. 01書籍を細粒度の知識ファイルに分割
  2. 02構成、タスク、進捗の計画
  3. 03段階的な抽出手順の定義
  4. 04トピック抽出でサブエージェントを必須化
  5. 05ワークフロー提案と最終レビューに対応

活用シーン

  1. 01Markdown書籍をClaudeスキルに変換
  2. 02知識トピックごとのファイルを計画
  3. 03書籍から再利用可能なワークフローを抽出
  4. 04スキル作成の各段階の進捗管理

インストール

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

$npx skills add https://github.com/bmad-labs/skills --skill skill-from-book

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
references/
analysis-guide.md
extraction-patterns.md
file-templates.md
guidelines-template.md
workflow-templates.md
scripts/
init-book-skill.py

詳細

Skill From Book

書籍コンテンツを、構造化されたコンテキスト効率の高い Claude スキルに変換します。

概要

このスキルでは、書籍(Markdown 形式)を次の要素を含む、よく整理されたスキルに変換する手順を説明します。

  • 細分化されたナレッジファイル(1 ファイルにつき 1 つのコンセプト)
  • 繰り返し実行できるタスクのワークフロー
  • ユースケースのガイドライン(タスクと関連ファイルの対応付け)
  • 複数のセッションにまたがる作業の進捗管理
  • サブエージェントによる抽出タスク

重要な指示

このワークフローに厳密に従ってください。フェーズを飛ばしたり、順序を入れ替えたりしないでください。

  1. フェーズ 1 を開始する前に、書籍の Markdown ファイルの内容を読んではいけません
  2. 各フェーズに対応するリファレンスファイルを、該当フェーズの開始前に必ず読んでください
  3. 次のフェーズに進む前に、各フェーズを必ず完了してください
  4. 抽出タスクには必ずサブエージェントを使用してください
  5. 最終決定の前に、必ずユーザーにワークフローを提案してください

ワークフロー

フェーズ 1:分析

停止してください!先に進む前に、必ず次のことを行ってください。

  1. references/analysis-guide.md を最後まで読む
  2. その後でのみ、以下の手順に進む

フェーズ 1 の手順:

  1. 目次とアウトラインのみを抽出する(書籍の全文は読まないでください)

    # Count total lines
    wc -l book.md
    
    # Extract headers/TOC - THIS IS ALL YOU NEED
    grep -E "^#{1,3} " book.md
    
  2. アウトラインからナレッジのカテゴリーを特定する

    • 核となる原則/理念
    • ルールとガイドライン
    • 例(良い例と悪い例)
    • パターンとアンチパターン
    • チェックリストとクイックリファレンス
  3. ユースケースを定義する

    • このスキルを使うのは誰ですか?
    • どのようなタスクを実行しますか?
    • どのような質問をしますか?
  4. 先に進む前に、特定したカテゴリーとユースケースをユーザーに確認してもらう


フェーズ 2:計画

停止してください!先に進む前に、必ず次のことを行ってください。

  1. references/extraction-patterns.md を最後まで読む
  2. references/file-templates.md を最後まで読む
  3. その後でのみ、以下の手順に進む

フェーズ 2 の手順:

  1. 各カテゴリーに必要なファイルを含むファイル構成を設計する

    各カテゴリーには、次の 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
    
  2. progress.md を作成する

    • 作成するすべてのファイル(必須と任意)を一覧にする
    • フェーズ/優先度ごとにグループ化する
    • 完了状況を記録する
  3. 抽出タスクを計画する

    • ナレッジファイルごとに 1 つのタスクを設定する
    • 入力(行範囲を指定した書籍のセクション)と出力(ファイルパス)を定義する
    • タスク間の依存関係を特定する
  4. 先に進む前に、ファイル構成と抽出計画をユーザーに確認してもらう


フェーズ 3:抽出

停止してください!先に進む前に、必ず次のことを行ってください。

  1. フェーズ 1 とフェーズ 2 を完了している
  2. 計画についてユーザーの確認を得ている
  3. その後でのみ、抽出に進む

重要:抽出には必ずサブエージェント(Task ツール)を使用してください。トピックごとに 1 つのサブエージェントを割り当て、各サブエージェントがそのトピックのすべてのファイルを作成します。

フェーズ 3 のメインエージェントへの指示

次の手順に従ってください。

  1. トピックごとに 1 つのサブエージェントを割り当てる - 各サブエージェントは書籍のセクションを 1 回読み、そのトピックのすべてのファイル(knowledge.md、rules.md、examples.md、および任意のファイル)を作成します
  2. 下のテンプレートに具体的な値を入力し、サブエージェントへのプロンプトを準備する
  3. フェーズ 1 の分析(行番号付き目次)から行範囲を計算する
  4. 完全なプロンプトを作成する - プレースホルダーを未入力のまま残さないでください
  5. 異なるトピックのサブエージェントを並行して起動する
  6. すべてのサブエージェントが完了したら、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:ガイドラインの作成

停止してください!先に進む前に、必ず以下を行ってください:

  1. Phase 3 のすべての抽出タスクを完了している
  2. references/guidelines-template.md を最後まで読む
  3. その後で初めて、ガイドラインの作成に進む

Phase 4 の手順:

以下を対応付けた guidelines.md を作成します:

  • タスク → 関連ファイル(およびワークフロー)
  • コード要素 → 関連ファイル
  • 症状/問題 → 関連ファイル
  • よくあるシナリオの判断ツリー

Phase 5:ワークフローの提案

停止してください!先に進む前に、必ず以下を行ってください:

  1. Phase 4(ガイドライン)を完了している
  2. references/workflow-templates.md を最後まで読む
  3. その後で初めて、ワークフローの提案に進む

Phase 5 の手順:

  1. 書籍の内容から、候補となるワークフローを特定する

    以下を探します:

    • プロセスの説明(「X の実行方法」)
    • 繰り返し登場するタスク
    • 書籍内のチェックリスト
    • アンチパターンのセクション(正しいプロセスを示唆しています)
    • 複数の手順で構成される作業
  2. ワークフローをユーザーに提案する

    候補となるワークフローのリストを提示します:

    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] |
    
  3. 作成するワークフローをユーザーに選んでもらう

    Which workflows would you like me to create?
    - Select from the list above
    - Suggest additional workflows
    - Skip workflow creation
    
  4. 選択されたワークフローを作成する

    選択されたワークフローごとに:

    • references/workflow-templates.md のテンプレートを使用する
    • 関連するナレッジファイルへの相互参照を含める
    • 各手順にチェックボックスを追加する
    • 明確な終了条件を定義する
  5. guidelines.md を更新して、ワークフローへの参照を追加する

    guidelines.md の先頭に「Workflows」セクションを追加します:

    ## Workflows
    
    | Task | Workflow |
    |------|----------|
    | [task description] | `workflows/[name].md` |
    

Phase 6:最終仕上げ

Phase 6 の手順:

  1. すべてのファイルの一貫性を確認する
  2. progress.md を更新する(完了の印を付ける)
  3. サンプルクエリでテストする
  4. テスト結果に基づいてガイドラインを改善する
  5. 最終的なスキルをユーザーに確認してもらう

重要な原則

粒度
  • 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
...

クイックスタート

  1. ユーザーが書籍の Markdown ファイルのパスを指定する
  2. まだ書籍の内容を読まない
  3. Phase 1:分析を実行する(目次のみを抽出)
  4. ユーザーの確認を得る
  5. Phase 2:計画を実行する
  6. ユーザーの確認を得る
  7. Phase 3:抽出を実行する(サブエージェントを使用)
  8. Phase 4:ガイドラインを作成する
  9. Phase 5:ワークフローを提案する(ユーザーに選んでもらう)
  10. Phase 6:最終仕上げを行う

コメント