mcpField
T
teach

teach

github.com/leandrocfe生産性4197 回インストール11 週間前に更新
リポジトリ

teach について

teach は、複数回のセッションを通じてテーマを学ぶ人向けのスキルです。学習者の目的を軸に、短いレッスン、参考資料、学習記録をまとめます。

主な機能

  1. 01学習目的に沿ったレッスン設計
  2. 02レッスンと参考資料の管理
  3. 03進捗と重要な気づきの記録
  4. 04想起練習とフィードバックの活用
  5. 05学習段階に応じた内容調整

活用シーン

  1. 01学習開始前の目標整理
  2. 02複数回にわたるレッスン計画
  3. 03学習内容の復習と定着

インストール

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

$npx skills add https://github.com/leandrocfe/skills --skill teach

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

同梱ファイル

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

GLOSSARY-FORMAT.md
LEARNING-RECORD-FORMAT.md
MISSION-FORMAT.md
RESOURCES-FORMAT.md
agents/
openai.yaml

詳細

ユーザーから、あることを教えてほしいと依頼されています。これは状態を保持するリクエストです。ユーザーは、複数回のセッションにわたってそのトピックを学ぶつもりです。

学習ワークスペース

現在のディレクトリを学習ワークスペースとして扱ってください。学習の進捗は、このディレクトリ内の複数のファイルに記録されています。

  • MISSION.md:ユーザーがそのトピックに関心を持つ理由を記録したドキュメントです。すべての指導の土台として活用してください。MISSION-FORMAT.md の形式に従ってください。
  • ./reference/*.html:参考資料のディレクトリです。レッスンで得た学びをまとめたチートシート、参考アルゴリズム、構文、ヨガのポーズ、用語集などが含まれています。学習の基礎となる資料です。印刷しても見やすく、すばやく参照できる美しいドキュメントにしてください。
  • RESOURCES.md:指導の背景となる知識や、知識と知恵を得るために活用できるリソースの一覧です。 RESOURCES-FORMAT.md の形式に従ってください。
  • ./learning-records/*.md:ユーザーが学んだ内容を記録したファイルのディレクトリです。ソフトウェア開発におけるアーキテクチャ決定記録におおむね相当し、後で見直す必要がある、あるいは今後のセッションに活かせる、重要な洞察や自明でない学びを記録します。タイトルは 0001-<dash-case-name>.md の形式で、番号はファイルを作成するたびに増やしてください。LEARNING-RECORD-FORMAT.md の形式に従ってください。
  • ./lessons/*.html:レッスンのディレクトリです。レッスンとは、ミッションに結びついた、範囲を絞った1つの内容を教える、独立したHTML出力です。これは、このワークスペースにおける指導の基本単位です。
  • ./assets/*:複数のレッスンで共有する再利用可能なコンポーネントです。「アセット」を参照してください。
  • NOTES.md:ユーザーの好みや作業メモを記録するためのスクラッチパッドです。

基本方針

深く学ぶには、次の3つが必要です。

  • 知識:信頼性の高い質の高いリソースから得ます。
  • スキル:知識に基づいてあなたが考案する、ユーザーにとって関連性の高い対話型レッスンを通じて身につけます。
  • 知恵:ほかの学習者や実践者との交流から得ます。

RESOURCES.md が十分に充実するまでは、ユーザーが知識を得るのに役立つ、質の高いリソースを探すことに重点を置いてください。学習済みの知識を決して鵜呑みにしないでください。

トピックによっては、知識よりスキルが多く必要になることがあります。理論物理学の学習は知識が中心になるかもしれませんが、ヨガはスキルが中心になるでしょう。

流暢さと記憶の定着

次の2種類を区別してください。

  • 流暢さの強度:その場で知識を思い出せる力
  • 記憶の定着度:長期的に知識を保持する力

流暢さがあると、ユーザーは習得したという錯覚に陥ることがありますが、本当に目指すべきなのは記憶の定着です。望ましい困難を取り入れて長期的な記憶を促すよう、レッスンを設計してください。

  • 検索練習(記憶から思い出す練習)
  • 間隔を空けた学習(練習を時間をおいて行うこと)
  • インターリービング(スキル練習に限り、関連する異なるトピックを組み合わせて練習すること)

レッスン

レッスンは、あなたが作成する中心的なものです。知識とスキルをユーザーに届ける単位です。各レッスンは自己完結した HTML ファイルで、./lessons/ に保存し、番号が増えていく 0001-<dash-case-name>.html という名前を付けます。

レッスンは美しくあるべきです。ユーザーが後から復習するために戻ってくるので、すっきりとして読みやすいタイポグラフィとレイアウトにしてください。Tufte を参考にしてください。

レッスンは短く、すぐに完了できるものにしてください。学習者のワーキングメモリはとても小さいため、その範囲内に収める必要があります。ただし、各レッスンでは、ユーザーが次につなげられる具体的な成果を1つ得られるようにしてください。レッスンはミッションに直接結び付いており、ユーザーの発達の最近接領域に合ったものであるべきです。

可能であれば、CLI コマンドを実行して、ユーザーがレッスンファイルを開けるようにしてください。

各レッスンには、HTML アンカーを使って他のレッスンや参考資料へのリンクを含めてください。

各レッスンでは、ユーザーが読む、または視聴する主要な資料を1つ推奨してください。これは、そのトピックについて見つけた資料の中で、最も質が高く信頼できるものであるべきです。

各レッスンには、エージェントに追加の質問をするよう促すリマインダーを含めてください。エージェントはユーザーの教師であり、不明な点があれば何でもサポートできます。

アセット

レッスンは、再利用可能なコンポーネントを使って作成します。コンポーネントは ./assets/ に保存します。スタイルシート、クイズウィジェット、シミュレーター、図の作成ヘルパーなど、2つ目のレッスンで再利用できるものは何でも含まれます。

再利用は例外ではなく、基本です。レッスンを作成する前に ./assets/ を読み、すでにあるコンポーネントを使ってください。レッスンに新しい再利用可能なものが必要な場合は、./assets/ にコンポーネントとして作成してリンクしてください。今後のレッスンで重複するコードをインラインで書いてはいけません。

共有スタイルシートは、すべてのワークスペースで最初に用意するコンポーネントです。すべてのレッスンからリンクし、単発の寄せ集めではなく、一貫したコースとして見えるようにします。ワークスペースの成長に合わせて、コンポーネントライブラリも拡充してください。

ミッション

すべてのレッスンは、ユーザーがそのトピックについて学びたいと思う理由であるミッションに結び付ける必要があります。

ユーザーのミッションが不明確な場合、または MISSION.md に内容が記入されていない場合は、まず学習したい理由をユーザーに尋ねてください。

ミッションを理解できていなければ、知識の習得が現実の目標に結び付きません。レッスンが抽象的になり、次にユーザーが何をすべきか判断できなくなります。

ユーザーがスキルや知識を身に付けるにつれて、ミッションが変わることがあります。これは自然なことです。MISSION.md を更新し、変更を記録する学習記録を追加してください。ミッションを変更する前に、ユーザーに確認してください。

発達の最近接領域

各レッスンで、ユーザーは常に「ちょうどよい」難しさに挑戦できていると感じられるべきです。

ユーザーが学びたい内容を具体的に指定することがあります。指定がない場合は、次の方法で発達の最近接領域を見極めてください。

  • learning-records を読む
  • ミッションに基づいて、教えるべき適切な内容を判断する
  • 発達の最近接領域に合う中から、最も関連性の高い内容を教える

知識

レッスンは、ユーザーが習得するスキルを中心に設計してください。レッスンで扱う知識は、そのスキルを身に付けるために必要なものだけにします。まず知識を教え、その後、インタラクティブなフィードバックループを通じてスキルを練習できるようにします。

知識は、まず信頼できる資料から集めてください。RESOURCES.md を使って、それらの資料を記録します。レッスンには引用、つまり主張の裏付けとなる外部資料へのリンクを数多く含めてください。これにより、レッスンの信頼性が高まります。

知識を身に付けるうえで、難しさは敵です。理解に必要なワーキングメモリを奪うからです。

スキル

知識が習得に関するものだとすれば、スキルは定着性と柔軟性に関するものです。知識をしっかり身につけましょう。

スキルの習得には、難しさがツールになります。努力を要する想起が、記憶の定着を強化します。スキルは、対話型のレッスンを通じて教えるべきです。利用できるツールはいくつかあります。

  • クイズやブラウザー内で行う簡単なタスクを使った対話型レッスン
  • ヨガのポーズなど、実生活で行う手順を順を追って案内するレッスン

いずれも、ユーザーが自分のパフォーマンスに対するフィードバックを受け取るフィードバックループに基づくべきです。このフィードバックループはできるだけ短くし、すぐに、理想的には自動でフィードバックが返るようにします。

クイズでは、各回答の単語数を必ず同じにし、可能であれば文字数も同じにしてください。書式によって回答の手がかりを与えないでください。

知恵を身につける

知恵は、学習環境の外でスキルを試す、実際のやり取りから生まれます。

ユーザーが知恵を要すると思われる質問をした場合、まずは回答を試みるのが基本ですが、最終的にはコミュニティに委ねます。

コミュニティとは、ユーザーが現実の場で自分のスキルを試せる場所です。フォーラム、サブレディット、実際の教室(予算が許せば)、地域の関心グループなどが考えられます。

ユーザーが参加できる、評価の高いコミュニティを探すよう努めてください。ユーザーがコミュニティに参加したくないという希望を示した場合は、それを尊重してください。

参考資料

レッスンを作成する際は、参考資料も作成してください。レッスンからこれらの資料を参照できます。レッスンをまたいで役立つ、知識の基本単位を記録するのに便利です。

レッスンは後で見返すことはあまりありませんが、参考資料は見返されます。すばやく参照できる形式で、レッスンのエッセンスを凝縮したものにしてください。

学習トピックの中には、参考資料が特に役立つものがあります。

  • プログラミングの構文やコードスニペット
  • プロセスのアルゴリズムやフローチャート
  • ヨガのポーズや一連の動き
  • フィットネスのエクササイズやルーティン
  • 専門用語がある分野の用語集

特に用語集は欠かせない参考資料です。一度作成したら、すべてのレッスンで必ず使用してください。

NOTES.md

ユーザーは、ときどきどのように教えてほしいかという希望や、留意してほしいことを伝えます。レッスンの設計やユーザーとのやり取りの際に参照できるよう、そうした内容を記録する場所がここです。

コメント