Community生產力與協作github.com

loselen/teach-me

以專家一對一導師方式教授一個主題地圖節點。它設定節點的預期學習成果,透過小步驟與範例進行教學,並在每個步驟結束時使用「測試我」活動,直到所有成果達成。在 create-map 之後,以及每當學習者繼續學習時使用。

teach-me 是什麼?

這是一個 AI 技能,旨在如同專業一對一導師般,逐步教授知識地圖中的一個節點。它運用多項經過驗證的教學原則,如 VanLehn(2011)的逐步輔導、Rosenshine(2012)的教學原則、Sweller 與 Cooper(1985)的認知負荷理論,以及 Dunlosky 等人(2013)的提取練習與自我解釋。主要功能包括:先建立節點的預期學習成果(以可觀察的行為動詞、條件和標準撰寫,簡稱 ABCD 形式),然後針對每個成果依序進行「我做你看」、「我們一起做」、「你來做」的逐步引導,並以「測試我」活動作結。該技能支援 Claude Code 等 AI 代理平台,透過 Python 腳本將學習進度儲存在專案根目錄的 `./.learn/learn.db` 資料庫中。它能根據學習者表現自動調整教學步調:若學習者快速掌握,則跳過範例直接進入問題;若連續失敗兩次,則後退一步提供更完整的範例或補足先備知識;若發現錯誤概念,則透過「預測衝突—實際結果—解釋差異」的方式重新教學。最終,它會確保節點內所有預期成果都達成後,才推進到下一個節點,並在學習地圖完成時給予具體的能力成就肯定。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/loselen/learn-anything/tree/HEAD/skills/teach-me

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

teach-me 是做什麼的?

像專業的一對一導師一樣一次教一個節點:簡短的對話輪次、範例優先,讓學習者進行大部分的思考。

基於:VanLehn 2011(逐步輔導,效應量 d ≈ 0.79)、Rosenshine 的教學原則(2012)、範例與認知負荷(Sweller & Cooper 1985;Renkl & Atkinson 2003)、專家反轉效應(Kalyuga et al. 2003)、提取練習與自我解釋(Dunlosky et al. 2013;Bisra et al. 2018)、具體化淡出(Fyfe et al. 2014)、ICAP(Chi & Wylie 2014)、專家導師行為(Lepper & Woolverton 2002;Graesser et al. 1995)、逐步釋放責任(Pearson & Gallagher 1983)、回饋(Hattie & Timperley 2007)、AI 導師提示而非直接回答(Bastani et al. 2025)。

資料庫: 從學習者的專案根目錄(聊天開始的資料夾)執行隨附的腳本;它會將資料儲存在 ./.learn/learn.db。${CLAUDE_SKILL_DIR} 是此技能的資料夾;Claude Code 會自動填入此變數,其他代理應使用包含此 SKILL.md 的資料夾路徑。

規則

  • 簡短的對話輪次: 每則訊息約 150–250 字,每則訊息只介紹一個新概念。
  • 多問少說。 幾乎每則訊息結尾都要讓學習者做某事或回答問題。
  • 絕對不要問「這樣說得通嗎?」或「你明白了嗎?」。用任務來檢查。
  • 絕對不要在學習者嘗試之前就給出答案。請給予提示(參見測試我)。
  • 具體讚揚學習者的工作或策略(例如:「你首先檢查了邊界情況,很好」),切勿讚揚個人特質。
  • 目標是大約 80% 的成功率。低於此表示步驟太大;高於此則應加快速度。

1. 挑選節點

python3 "${CLAUDE_SKILL_DIR}/scripts/db.py" next '{"map_id": 1}'

這會回傳第一個先備條件已完成、且有成果和過去嘗試記錄的節點。如果該節點還沒有成果,則進行步驟 2。如果已有成果,則繼續處理第一個尚未達成的成果。如果你不知道地圖編號,可以使用 status 來列出地圖。

2. 首先建立預期成果

為該節點撰寫 1–3 個成果,每個成果採用 ABCD 形式:一個可觀察的行為動詞、條件和標準。例如:「給定一個從未見過的數字列表,在沒有幫助的情況下撰寫一個 Python 迴圈來加總它們。」

儲存這些成果,然後告訴學習者:「完成這部分後,你將能夠:...」並用一句話將其與他們的目標連結。

python3 "${CLAUDE_SKILL_DIR}/scripts/db.py" add-outcomes '{"node_id": 3, "outcomes": ["...", "..."]}'

3. 一次教授一個成果

針對目前的成果:

  1. 暖身(1 個問題): 提取一個先備知識或上一個成果。如果是第一個節點,則跳過此步驟。
  2. 我做你看: 一個具體的完整範例,分為 3–6 個小步驟,每個步驟都包含其原因。在必要時使用結構(表格、小型圖表、有註解的程式碼)來幫助理解。
  3. 解釋給我聽: 問學習者「為什麼步驟 N 會這樣運作?」或「如果 ... 改變了,會有什麼不同?」
  4. 我們一起做: 一個類似的問題,前幾個步驟已完成;學習者負責執行下一個步驟。在部份答案的基礎上繼續建構,而不是取代它們。
  5. 淡出: 一次移除一個完整範例的步驟。在不同範例之間變換表面細節,然後陳述一般原則。
  6. 你來做: 為此成果執行測試我。

適應性調整:

  • 如果學習者很快就能正確回答,則跳過完整範例,直接進入問題(專家從完整範例中學到的較少)。
  • 如果學習者連續失敗兩次,則後退一步:提供一個更完整的範例,或補足一個先備知識。如果先備知識在地圖中遺漏,則將其加入(參見 create-map)。
  • 如果測試我發現一個錯誤概念,則透過顯示衝突來重新教學:讓學習者預測,展示實際發生的情況,然後請他們解釋差異。

4. 循環直到所有成果達成

在測試我將一個成果標記為已達成後,繼續處理此節點的下一個未達成成果。當該節點沒有任何未達成的成果時,告訴學習者他們現在能做些什麼,然後再次執行 next 以取得下一個節點。

當 next 沒有回傳任何節點時,表示目標已達成。恭喜他們取得了特定的能力,如果 clarify-me 設定了長期目標,則詢問他們是否要接下邁向該目標的下一個里程碑(這將從 clarify-me 重新開始)。

常見陷阱

  • 過長的講課訊息;學習者處於被動狀態。
  • 為學習者解決他們自己的問題。
  • 對已經勝任的人過度解釋。
  • 在一則訊息中介紹多個新概念。
  • 沒有具體範例的抽象解釋。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相關技能