指令用途
/teach 教你一個新技能或概念,橫跨多個 session。它把當前目錄當作一個狀態式教學工作區 —— 學習的狀態被捕獲在這個目錄的幾個檔案裡。
它假設一個工作區一個 mission,所以請在一個你樂於獻給單一主題的地方執行它。最好別在你正在開發的專案裡跑 —— 一個獨立 repo 是推薦的家(這樣課程還能版控,這也是團隊共享課程的方式)。
教學工作區會累積什麼
| 路徑 | 裝什麼 |
|---|---|
MISSION.md |
為什麼你要學這個。其他一切掛在它底下;它若缺,teach 第一件事就是訪談你直到它不缺 |
RESOURCES.md |
它用來教的已審來源,分為 Knowledge(知識)與 Wisdom(社群) |
lessons/*.html |
編號的課程 —— 教學的主要單位 |
reference/*.html |
壓縮的速查表、演算法、詞彙表:你真正會回頭查的文件 |
learning-records/*.md |
ADR 風格的筆記,記錄你已展示學會的東西,用來決定下一步教什麼 |
assets/* |
可重用元件 —— 先一個共享 stylesheet —— 讓課程看起來像同一個課程 |
NOTES.md |
你陳述的教學偏好 |
運作流程
- 建立 / 讀取 MISSION.md:若不存在,先訪談你直到能寫出它。它是一切的基石。
- 盤點 RESOURCES.md:審過可用來源的清單。
- 檢視 learning-records:看你已展示學會什麼,決定下一步。
- 產生一課:以
assets/內可重用元件優先重用來建構課程 —— 讀過assets/才動手寫新東西。 - 教的過程記錄:展示出的學習寫進
learning-records/。 - 下一步:根據 learning-records 決定下一課。
重用優先(reuse-first)
課程是用 ./assets/ 內的可重用元件建的 —— stylesheet、quiz widget、模擬器、圖表 helper。重用是預設:
- 代理先讀
./assets/,從已有的東西建構。 - 任何新且可重用的東西,抽出成元件而非 inline 進單課。
- 這讓所有課程看起來像同一個課程,並讓未來課程能重用。
實戰對話範例
範例一:第一次啟動
-
You:
/teach -
AI:
我把這個目錄當作你的學習工作區。先建立
MISSION.md。你想學什麼?為什麼?(不是「學 React」這種主題,而是「為了什麼」—— 它會決定教什麼、跳過什麼。)
-
You:
我想學 TypeScript,因為我們 team 要把一個 JS 專案遷移過去,我要帶頭。
-
AI:
寫進
MISSION.md:帶領 JS→TS 遷移。這會讓教學聚焦在 migration-relevant 的部分(型別推論、tsconfig、漸進遷移),而非 TS 的全部。接著建立
RESOURCES.md—— 我會列入官方 handbook、TS repo、你的 codebase 作為 Knowledge;TS 社群 Discord 作為 Wisdom。
範例二:跨 session 繼續
- You(新 session):
繼續教我。
- AI:
我讀過
MISSION.md、learning-records/。你上課展示了:- ✅ 基本型別標註
- ✅
interfacevstype - ❌ 還沒:泛型
下一課:泛型。我用
assets/quiz-widget.html(已有)建互動題,不重寫。
兩個誠實提醒
關於詞彙表
詞彙表適合大多主題,但 skill 內附的 GLOSSARY-FORMAT.md,SKILL.md 已不再連結它 —— 所以你要才會有,主動要求才會生成。
關於工作區位置
工作區不總是建在你預期的地方 —— 這是個已知 bug(issue #377)。SKILL.md 用 ./ 同時指兩個不同的根:./MISSION-FORMAT.md 和它的夥伴確實就在 skill 安裝目錄旁,但 ./lessons/、./reference/、./learning-records/ 和 ./assets/ 應該在你的目錄。一個把第一種 root 解析到 skill 安裝目錄的代理,會繼續把第二種也解析到那裡,把你的課程寫進 skill 資料夾。在第一課落地後檢查它在哪,並開始時明確指定目錄,而非依賴「當前目錄」被理解。
何時應該使用
- 想跨多個 session 學一個主題:teach 為此設計。
- 想要一個有狀態的學習工作區:進度、來源、記錄都留著。
- 團隊要共享課程:獨立 repo + 版控 = 可分享。
何時不應該使用
- 快速查一個 API / 概念:用
/research查官方來源更快。 - 主題小到一個 session 搞定:不必啟動整套工作區。
- 在開發中的專案裡:用獨立 repo,避免污染。
與其他技能的關係
/teach 是 productivity bucket 的隨時可用獨立 skill,與 /research(調查、不教)互補。它的「工藝」面(把課程做成可重用元件)與 /writing-for-agents 的文件工藝精神相通。不確定該用哪個 skill 時,用 /ask-matt 來路由。