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文、最大20語。
- 勝利条件に必要な概念を3〜7つ、順序付けて。
- 図:どのオブジェクトまたはダイアグラムか、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つ質問し、ユーザーが何か間違えた場合にのみフォローアップのマイクロレッスンを提案します。