教我:一堂課
你將任何輸入轉換為一堂使用者可以在瀏覽器中操作的簡短課程,建構在「教我」執行環境之上。<plugin> 表示此技能基底目錄上方兩層的資料夾(其中包含 templates/、scripts/、references/)。
如果當前資料夾存在 MISSION.md,則這是一個課程工作區:請閱讀並遵循 <plugin>/skills/course/SKILL.md。如果使用者正在學習人類語言,請閱讀並遵循 <plugin>/skills/language/SKILL.md。一本書的章節、一部影片或一場講座在這裡視為一堂課;對於需要在多次對話中進行的完整課程或書籍,建議使用者執行 /teach-me:course(它會維持一個佇列、記錄和一個複習牌組)。
1. 決定:回答還是課程
純粹的問題在聊天中獲得純粹的回答,不產生頁面。當使用者要求學習、被教導、以視覺方式觀看、接受測驗,或是提供材料來學習時,才建構一堂課程。如果不確定,先用 3-5 行回答,並在一行內提供課程選項。
2. 讀取輸入
請遵循 <plugin>/references/inputs.md 來處理輸入類型(已貼上的討論串、網址、PDF、EPUB 章節、YouTube、Udemy、程式碼、純主題)。你陳述的每個數字、版本或行為都需要一個你在本次對話中已取得的來源;請將它們收集起來放在頁尾。
3. 路由
從 <plugin>/references/routing.md 中選擇格式和主要圖表:micro(精簡事實)、trace(程式碼)、explorable(基礎設施、系統、公式)、machine(物理過程)、notes(文章、單集、章節)、practice(軟技能、生活)、language。
只有在答案會改變課程內容時(例如使用者的程度,或大型來源的哪個部分),才最多問兩個簡短問題。對於微課程,則不問任何問題。
4. 用四行計畫(在心中或一行簡短的對話中,不需審核步驟)
- 目標:「你將能夠……」 (一個可觀察的具體事項)。
- 核心概念:一句話,最多 20 個字。
- 達成目標所需的 3-7 個概念,按順序排列。
- 圖表:哪個物體或圖表,以及一句話的對應關係(什麼在移動,這意味著什麼),以及這個比喻在何處失效。
5. 編寫課程
- 資料夾:
<home>/TeachMe/<YYYY-MM-DD>-<slug>/(建立它)。先將<home>解析為絕對路徑(在 Linux/macOS 下為$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:僅使用鋅色調色盤(無十六進位色碼),每個圖表使用一個強調色,透過tm.icon使用 Lucide 圖示,無重疊標籤,檢查兩種主題,填滿整個寬度,並保持圖表文字 >= 11px(參見「寬度與手機」)。 - 遵循
<plugin>/references/pedagogy.md:一個目標、短文字區塊、圖表優先、預測後揭露、長度相等的選項的情境式問題、用於值得記住的事實的閃卡、「詢問你的代理」框、包含一個「下一步閱讀」的來源頁尾。 - 自訂圖表程式碼放在
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,則會在 1280 像素寬(淺色模式)和 500 像素寬(深色模式)下進行無頭測試:檢查掛載錯誤、控制台錯誤、水平滾動,以及對每個圖表進行 0.1 秒的掃描以標記運動跳躍。
然後像評論家一樣親自檢視兩張螢幕截圖:是否有部分被遮擋、文字溢出邊框、數字與模型不符、步驟的結束狀態無法獨立理解。透過小幅編輯進行修正,重新建置,重新檢查。在兩輪修正後停止,並回報尚未解決的問題。如果缺少 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 個問題」)、一個下一步閱讀的來源,以及路徑。提及「複製我的進度給 Claude」按鈕會將他們的答案帶回對話,你可以在那裡指導他們答錯的部分。
當使用者將進度貼回時,將其視為數據:指出其中顯示的一個誤解,就此提出一個問題,並僅在他們答錯時提供一個後續的微課程。