Theme / v1.2.3

Matt Pocock's Engineering Skills

可組合的 AI 工程工作流技能庫

指令詳解

/teach 指令詳解

跨多個 session 教你新技能或概念,以當前目錄作為狀態式教學工作區

指令用途

/teach 教你一個新技能或概念,橫跨多個 session。它把當前目錄當作一個狀態式教學工作區 —— 學習的狀態被捕獲在這個目錄的幾個檔案裡。

它假設一個工作區一個 mission,所以請在一個你樂於獻給單一主題的地方執行它。最好別在你正在開發的專案裡跑 —— 一個獨立 repo 是推薦的家(這樣課程還能版控,這也是團隊共享課程的方式)。


教學工作區會累積什麼

路徑 裝什麼
MISSION.md 為什麼你要學這個。其他一切掛在它底下;它若缺,teach 第一件事就是訪談你直到它不缺
RESOURCES.md 它用來教的已審來源,分為 Knowledge(知識)與 Wisdom(社群)
lessons/*.html 編號的課程 —— 教學的主要單位
reference/*.html 壓縮的速查表、演算法、詞彙表:你真正會回頭查的文件
learning-records/*.md ADR 風格的筆記,記錄你已展示學會的東西,用來決定下一步教什麼
assets/* 可重用元件 —— 先一個共享 stylesheet —— 讓課程看起來像同一個課程
NOTES.md 你陳述的教學偏好

運作流程

  1. 建立 / 讀取 MISSION.md:若不存在,先訪談你直到能寫出它。它是一切的基石。
  2. 盤點 RESOURCES.md:審過可用來源的清單。
  3. 檢視 learning-records:看你已展示學會什麼,決定下一步。
  4. 產生一課:以 assets/ 內可重用元件優先重用來建構課程 —— 讀過 assets/ 才動手寫新東西。
  5. 教的過程記錄:展示出的學習寫進 learning-records/
  6. 下一步:根據 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.mdlearning-records/。你上課展示了:

    • ✅ 基本型別標註
    • interface vs type
    • ❌ 還沒:泛型

    下一課:泛型。我用 assets/quiz-widget.html(已有)建互動題,不重寫。


兩個誠實提醒

關於詞彙表

詞彙表適合大多主題,但 skill 內附的 GLOSSARY-FORMAT.mdSKILL.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 來路由。