mcpField
S
summary-generator

summary-generator

github.com/panaversity生産性49 回インストール
リポジトリ

summary-generator について

一連のソクラテス式質問を使い、教育レッスンを簡潔で読みやすい要約にまとめるスキルです。中心概念や思考モデル、実践パターン、よくある間違いなどを抽出し、長さと内容のルールに沿って確認します。

主な機能

  1. 01ソクラテス式質問による抽出
  2. 02中心概念と思考モデルの整理
  3. 03実践パターンとよくある間違いの整理
  4. 04要約の長さと内容の検証
  5. 05レッスン要約ファイルの作成手順

活用シーン

  1. 01学生向けのレッスン復習資料の作成
  2. 02学習中に参照する要点の整理
  3. 03レッスン要約ファイルの形式統一

インストール

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

$npx skills add https://github.com/panaversity/agentfactory --skill summary-generator

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

詳細

要約ジェネレーター

概要

このスキルは、ソクラテス式の質問を通じて学習の要点を抽出し、教育レッスンの簡潔で見やすい要約を生成します。要約は、理解を深めるために復習する学生向けの素早い振り返りと、実践中に確認する学生向けの必要なときに参照できる情報という、2つのニーズに応えます。

抽出プロセス(ソクラテス式)

要約を生成するには、以下の質問に順番に答えてください。各質問で、要約の各セクションに記載する内容を抽出します。

質問 1:中心となる概念

「学生が明日、このレッスンからたった1つだけ覚えているとしたら、何を覚えている必要がありますか?」

最も重要な要点を1〜2文で抽出します。これは、ほかのすべてを理解するための基盤となる洞察です。

テスト:この文だけを読んだ人が、レッスンの目的を同級生に説明できますか?

質問 2:重要なメンタルモデル

「このレッスンは、学生の頭の中にどのような思考の枠組みを定着させますか?問題を見るためのどのような『レンズ』を身につけますか?」

2〜3個のメンタルモデルを抽出します。これらは事実ではなく、再利用できる思考パターンです。次の点に注目してください。

  • 原因 → 結果の関係
  • 判断の枠組み(「X のときは Y をする」)
  • 概念的なたとえや類推

テスト:新しい状況にも応用できますか。それとも、このレッスンに固有の事実ですか?

質問 3:重要なパターン

「このレッスンでは、どのような実践的なテクニックやパターンを教えていますか?学生が以前はできなかったことで、今できることは何ですか?」

レッスンから実践可能なパターンを2〜4個抽出します。次のようなものが該当します。

  • コード例とその目的
  • AI との協働テクニック
  • 紹介されたツールやコマンド
  • 実演されたワークフロー

テスト:学生はレッスンを読み返さずに、これらのパターンを応用できますか?

質問 4:AI との協働の要点

「このトピックで AI はどのように役立ちますか?違いを生み出すプロンプトや協働パターンは何ですか?」

このトピックで AI と協働する際の洞察を1〜2個抽出します。「Three Roles」フレームワークは明かさず、実践的な協働パターンに焦点を当ててください。

注:レッスンに AI との協働が含まれない場合は、このセクションを省略してください(Layer 1 の内容)。

質問 5:よくある間違い

「学生はどこで間違えがちですか?このレッスンでは、どのような誤解を正しますか?」

次のような内容から、よくある間違いを2〜3個抽出します。

  • 明示的な「よくある間違い」のセクション
  • レッスン内のエラー例
  • 予想に反する、思い込みと矛盾する要点

テスト:これを知っていれば、実際の間違いを防げますか?

質問 6:関連性

「このレッスンは、どのような前提知識に基づいていますか?この先、どこにつながりますか?」

関連項目へのナビゲーションリンクを抽出します。

  • 前提:前提とされる既習の概念
  • 次につながる内容:このレッスンで、後続のレッスンで何ができるようになるか

注:このセクションは任意です。関連性が明確でない、または役立たない場合は省略してください。

出力テンプレート

次の正確な構成に従って要約を生成してください。

### Core Concept
[1-2 sentences from Question 1]

### Key Mental Models
- **[Model Name]**: [Brief explanation]
- **[Model Name]**: [Brief explanation]
- **[Model Name if needed]**: [Brief explanation]

### Critical Patterns
- [Pattern/technique 1]
- [Pattern/technique 2]
- [Pattern/technique 3 if applicable]
- [AI collaboration pattern if applicable]

### Common Mistakes
- [Mistake 1 and why it's wrong]
- [Mistake 2 and why it's wrong]
- [Mistake 3 if applicable]

### Connections
- **Builds on**: [Prior concept/chapter]
- **Leads to**: [Next concept/chapter]

長さのガイドライン

レッスンの難易度に応じて、要約の長さを調整してください(frontmatter の proficiency_level を参照)。

習熟度目標の長さ理由
A1-A2(初級)150-250語概念がより単純で、パターンが少ない
B1-B2(中級)200-350語より微妙な要素があり、複数のテクニックを扱う
C1-C2(上級)250-400語トピックが複雑で、多くの相互関係がある

避けるべきパターン(含めてはいけない内容)

原則7:必要最小限の内容に従い、要約には次の内容を含めないでください。

  • ❌ 詳しい説明 — 要約では概念を示すにとどめ、改めて教え直しません
  • ❌ コード例 — これらはレッスン本編に含まれています
  • ❌ 練習問題 — 学生は練習のためにレッスンに戻ります
  • ❌ 「次の内容」へのナビゲーション — コースの構成で扱います
  • ❌ 動機づけの内容 — 「おめでとうございます!」などの余分な表現は含めません
  • ❌ Layer/Stage のラベル — 学生が体験するのは教育法であり、その学習ではありません
  • ❌ フレームワーク用語 — 「Three Roles」、「Layer 2」などは含めません

ファイル名の規則

要約ファイル名は、拡張子を除いたレッスンのファイル名の末尾に .summary.md を付けます。

# Lesson file:
apps/learn-app/docs/05-Python/17-intro/01-what-is-python.md

# Summary file:
apps/learn-app/docs/05-Python/17-intro/01-what-is-python.summary.md

ワークフロー

  1. 読む 対象のレッスンファイルを最後まで読む
  2. 抽出する フロントマターからレッスンの習熟度を抽出する
  3. 回答する ソクラテス式の質問にそれぞれ回答し、抽出した内容を記録する
  4. 作成する テンプレートを使って要約を作成する
  5. 検証する アンチパターンのチェックリストと照合する
  6. 確認する 長さのガイドラインに照らして語数を確認する
  7. 書き込む .summary.md ファイルに書き込む

例:データ型のレッスンの要約

A2レベルの習熟度を対象に、Pythonのデータ型を教えるレッスンの場合:

### Core Concept
Data types are Python's classification system—they tell Python "what kind of data is this?" and "what operations are valid?"

### Key Mental Models
- **Types → Operations**: Numbers enable math; text enables joining; booleans enable decisions
- **Type Mismatch → Error**: `5 + "hello"` fails because Python can't add numbers to text
- **Type Decision Framework**: Ask "What kind of data?" to determine the right type

### Critical Patterns
- Use `type()` to verify what type Python assigned: `type(42)` returns `<class 'int'>`
- Type hints express intent: `age: int = 25` tells both AI and humans what you expect
- 7 categories cover all data: Numeric, Text, Boolean, Collections, Binary, Special (None)

### Common Mistakes
- Storing numbers as text (`"25"` instead of `25`) prevents math operations
- Forgetting that `0.1 + 0.2` doesn't exactly equal `0.3` (floating point precision)
- Mixing types in operations without explicit conversion

### Connections
- **Builds on**: Python installation and first programs (Chapter 17)
- **Leads to**: Deep dive into numeric types and text handling (Chapters 18-20)

語数:約175語(A2レベルに適切)

コメント