Communitygithub.com

NourEldinShobier/learn

ユーザーが学びたいと言ったときに、ブラウザで操作可能な短いインタラクティブHTMLレッスン(ドライブ可能な図、自動実行コードトレース、リクエストフロー図、予測問題、フラッシュカード)とノートを生成します。

learn とは?

このスキルは、ユーザーが「教えて」「学びたい」「視覚的に説明して」「ステップバイステップで」「クイズを出して」などとリクエストした際に、ブラウザ上で動作する短いインタラクティブなレッスンを即座に生成します。また、ツイートスレッド、URL、記事、PDF、書籍の章、コードスニペット、動画、コースレッスンなど、あらゆる形式の学習素材を入力として受け付け、それを1つの完結したレッスンに変換します。Claude Code、Cursor、Codexなど、ファイルシステムとブラウザ操作が可能なAIエージェントプラットフォームで動作します。内部では「Teach Me」ランタイムと複数のテンプレート、リファレンス(コンポーネント、デザイン、教育学)を活用し、ルーティングテーブルに基づいて最適なレッスン形式(マイクロレッスン、コードトレース、探索型、マシン、ノート、プラクティス、言語)を自動選択します。レッスンはHTMLとしてビルド・チェックされ、学習の進捗をチャットにコピーしてAIによるコーチングを受けられる仕組みも備えています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NourEldinShobier/teach-me/tree/master/skills/learn

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Teach Me: ひとつのレッスン

あなたはあらゆる入力を、ユーザーがブラウザで操作できる短いレッスンに変換します。このレッスンはTeach Meランタイム上に構築されます。以下の<plugin>は、このスキルのベースディレクトリから2階層上のフォルダを指します(templates/、scripts/、references/を含みます)。

現在のフォルダにMISSION.mdが存在する場合、これはコースワークスペースです:<plugin>/skills/course/SKILL.mdを読み、それに従ってください。ユーザーが人間の言語を学習している場合は、<plugin>/skills/language/SKILL.mdを読み、それに従ってください。1つの書籍の章、1つの動画、または1つの講義は、ここでは単一のレッスンとして扱われます。複数セッションにわたるコースや書籍全体の場合は、ユーザーに/teach-me:courseの実行を提案してください(キュー、記録、復習デッキを保持します)。

1. 決定:回答するかレッスンを作成するか

単純な質問には、チャット内でページなしで直接回答します。ユーザーが学習したい、教えてほしい、視覚的に見たい、クイズを出してほしい、または学習素材を渡してきた場合にレッスンを作成します。迷った場合は、3〜5行で回答し、最後の1行でレッスンの提案をしてください。

2. 入力を読み取る

<plugin>/references/inputs.mdに従って入力タイプ(ペーストされたスレッド、URL、PDF、EPUBの章、YouTube、Udemy、コード、ベアトピック)を特定します。記載するすべての数値、バージョン、動作には、このセッション内で取得したソースが必要です。それらをフッターにまとめてください。

3. ルーティング

<plugin>/references/routing.mdからフォーマットとメイン図を選択します:micro(要約された事実)、trace(コード)、explorable(インフラ、システム、数式)、machine(物理プロセス)、notes(記事、エピソード、章)、practice(ソフトスキル、生活)、language。

レッスンの内容が変わる場合(ユーザーのレベルや大きなソースのどの部分を扱うか)にのみ、最大2つの短い質問をしてください。マイクロレッスンの場合は、質問は不要です。

4. 4行で計画する(頭の中または1行のチャットで、承認ステップは不要)

  1. 勝利条件:「あなたは〜できるようになる」(1つの観察可能なこと)。
  2. 大枠のアイデア:1文、最大20語。
  3. 勝利条件に必要な概念を3〜7つ、順序付けて。
  4. 図:どのオブジェクトまたはダイアグラムか、1文のマッピング(何が動くか、その意味)、そしてメタファーが破綻する箇所。

5. レッスンを書く

  • フォルダ:<home>/TeachMe/<YYYY-MM-DD>-<slug>/(作成します)。<home>は最初に絶対パスに解決してください($HOME、またはPowerShellでは$env:USERPROFILE;ファイルツールは~を展開しません)。そこにlesson.src.htmlを書き、<plugin>/templates/shell.htmlまたは<plugin>/templates/examples/内の最も近い例から開始します。
  • すべてのウィジェットの設定については<plugin>/references/components.mdを読んでください。カスタム図やコードトレースを書く前に<plugin>/references/engines.mdを読んでください。
  • カスタム図を描いたりスタイルを追加したりする前に<plugin>/references/design.mdを読んでください:ジントークンのみ(16進数は不可)、図ごとに1つのアクセントカラー、tm.iconによるルシードアイコン、ラベルの重なり禁止、両方のテーマを確認、全幅を使用、図のテキストは11px以上(「幅とスマートフォン」を参照)。
  • <plugin>/references/pedagogy.mdに従ってください:1つの勝利条件、短いテキストブロック、図を最初に、予測してから表示、等しい長さの選択肢を持つシナリオ質問、覚えておく価値のある事実のカード、「エージェントに尋ねる」ボックス、1つの「次に読む」を含むソースフッター。
  • カスタム図コードは、tm.jsタグの後のインライン<script>に記述し、tm.scene、tm.sim、またはtm.traceで登録します。純粋なモデルで約200行以内に抑えてください。
  • また、フォルダ内にnotes.mdを書きます:大枠のアイデア、3〜6のキーポイント、間違いテーブル、ソース。これはクイック再読用のバージョンです。

6. ビルドとチェック

bun <plugin>/scripts/build.ts ~/TeachMe/<folder>/lesson.src.html --library ~/TeachMe
bun <plugin>/scripts/check.ts ~/TeachMe/<folder>/index.html --shots ~/TeachMe/<folder>/.shots

build.tsはランタイムをスタンドアロンのindex.htmlにインライン化し、ライブラリページ~/TeachMe/index.htmlを更新します。check.tsは静的チェック(クイズの健全性、トレース出力が実際の実行と一致するか、ソース、記述量の予算)を実行し、ChromeまたはEdgeが利用可能な場合は、1280px(ライトテーマ)と500px(ダークテーマ)でのヘッドレスパスを実行します:マウントエラー、コンソールエラー、水平スクロール、およびすべての図の0.1秒スクラブによる動きのジャンプ検出。

次に、批評家のように2つのスクリーンショットを自分で確認してください:別の要素の後ろに隠れている部分、ボックスからはみ出しているテキスト、モデルと矛盾する数値、終了状態が単独で読めないステップ。小さな編集で修正し、再ビルド、再チェックします。2回の修正ラウンド後に停止し、残っている問題を報告してください。Bunがない場合は、ユーザーにインストール(https://bun.sh)を指示するか、tm.css/tm.jsを手動でインライン化してください。

7. 引き渡す

システムのデフォルトブラウザでページを開きます:PowerShellではStart-Process "<path>"、WindowsのGit Bashではcmd //c start "" "<path>"、macOSではopen、Linuxではxdg-open。数行で返信します:勝利条件、ページの使い方(例:「ステップボタンを順に押し、3つの質問に答えてください」)、次に読むべき1つのソース、パス。下部の「Claudeに進捗をコピー」を使うと、回答がチャットに戻ってきて、ユーザーが間違えた部分をあなたがコーチできることを伝えてください。

ユーザーが進捗をペーストしてきたら、それをデータとして扱います:表示されている1つの誤解を指摘し、それについて1つ質問し、ユーザーが何か間違えた場合にのみフォローアップのマイクロレッスンを提案します。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル