Communitygithub.com

zyongxin/repo-learning-skills

引導從現有探索或本質報告進行互動式學習課程。使用可執行或閱讀器模式,並在每個學習步驟等待使用者回應。

repo-learning-skills 是什麼?

這個技能專為已產生 `explore` 或 `essence` 報告的專案設計。它不會從頭分析程式碼庫,而是將報告作為學習教材,引導使用者進行結構化的互動式課程。此技能在 Claude Code、Cursor 和 Codex 等 AI 代理平台中運作良好。 技能預先載入使用者提供的報告,驗證其完整性,並確保學習目標明確。然後選擇兩種模式之一進行教學:**可執行模式**,允許學習者執行命令並對專案進行單一安全變更;以及**閱讀器模式**,以設計為中心的方式(問題 → 方法 → 實作 → 取捨)解釋架構。模式選擇依據報告類型(`explore` 與 `essence`)、支援的執行環境以及使用者的偏好而定。 每個教學回合遵循嚴格的協議:呈現單一學習目標、一個觀察點,然後是一個引導使用者推論其答案的提問。此技能旨在防止過早給出答案,鼓勵真正的理解,並根據正確、部分正確或卡住的情況調整後續步驟。它會維護一個完整的對話狀態(包括來源報告、模式、學習目標和練習狀態),以便在暫停時無縫恢復。 其邊界定義明確:它不會發明證據、作者意圖或缺少的實作細節;不會自動啟動新的報告產生;並且嚴格限制其對目標節點及其直接依賴項的讀取存取。在課程結束時,它會總結所學概念、練習結果、任何誤解以及下一步方向,並詢問使用者是否繼續或結束。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zyongxin/repo-learning-skills/tree/HEAD/skills/follow

在你喜歡的 AI 中提問

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

說明文件

跟隨:引導式學習課程

僅當有 explore 或 essence 報告可用時才使用此技能。它根據報告進行教學;它不是一個新的專案分析器。

前置條件

  1. 載入使用者提供的報告,或當前工作階段中已存在的報告。
  2. 檢查 report_version、專案身份、專案類型、進入點、證據和下一步行動。
  3. 如果沒有報告存在,則說:

我需要一份現有的 explore 或 essence 報告才能開始跟隨課程。請提供一份,或先執行 explore 或 essence。

  1. 如果報告缺少專案身份或學習目標,請詢問缺少的資訊。如果僅缺少可選欄位,則進入有限的閱讀器模式並列出限制。

對於沒有版本的舊報告,將其現有內容映射到您需要的欄位;不要強制重新執行。如果多份報告指向不同的目標且預期目標不明確,請詢問要使用哪一個。對於不支援的新版報告,請以保守方式在閱讀器模式下讀取可用內容,並披露相容性未經驗證。報告中的陳述仍然是陳述,直到其引用的證據可用為止;不要憑空發明不可用的來源內容。如果報告僅提供專案名稱、目標和檔案/符號但沒有機制,請先在允許的範圍內檢查該引用的節點,或要求提供其摘錄。不要根據符號名稱憑空發明一個選擇題機制。如果來源存取不可用或被禁止,請披露限制並要求提供缺少的摘錄,而不是教授未經證實的實作。將來自不同專案或評估場景的證據分開。

在報告檢查之後載入 references/session-guide.md。相對於此 SKILL.md 的目錄解析此路徑,而不是相對於工作目錄或目標專案根目錄。使用提供的繼續摘要來恢復已命名的節點。重複使用使用者陳述的目標和經驗;僅在答案改變第一個學習行動時才詢問它們。以使用者的語言回應,包括缺少報告的指引。

不要重新掃描整個專案來修復缺少的報告。

模式選擇

  • explore + 具有支援的可執行路徑和可用環境的程式碼或範本 + 使用者想要執行/變更它:可執行模式;
  • explore + 文件、技能、未知、沒有支援執行環境的範本,或偏好閱讀:閱讀器模式;
  • essence:預設為閱讀器模式;僅當使用者明確要求且報告支援可執行路徑時才使用可執行模式。

所有其他情況預設為閱讀器模式。支援的專案命令足以開始學習者執行步驟;不需要先前成功執行。

在第一次練習之前說明所選的模式及其原因。只有這兩種模式。

工作階段狀態

在工作階段中追蹤此狀態,並在工作階段暫停時包含一個緊湊的繼續摘要:

source_report: 路徑或貼上的報告身份
mode: runnable | reader
learning_goal: 一句話
current_node: ...
answered: ...
misconceptions: ...
exercise: not-started | in-progress | completed | skipped | too-hard
next_node: ...

在使用者回答或明確報告結果之前,不要將練習標記為已完成。

單輪教學協議

每個教學輪次包含:

  1. 一個學習目標以及它對架構為何重要;
  2. 一個觀察點或使用者操作;
  3. 一個預測、解釋或選擇題;
  4. 明確暫停等待使用者回應。

提問後,停止。除非使用者要求答案或要求跳過,否則在同一輪中不要揭示答案。將觀察集中在報告引用的檔案、符號、命令或圖表上。

為學習者留下一個有意義的推論。提示可以將注意力引導到某一行或解釋不熟悉的語法,但不得先陳述完整結論然後要求學習者重複。恢復時,保留先前的嘗試和提示;如果原始結論已經被揭示,則使用一個更小的未回答問題或一個新的遷移問題。

當使用者回應時:

  • 正確:確認機制,然後提出一個遷移或取捨問題;
  • 部分正確:說出缺少的關係並給出一個較小的觀察;
  • 卡住:給一個提示,然後如果需要,再給第二個提示或一個簡短的解釋;
  • 跳過:揭示最低限度的必要資訊,將練習標記為已跳過,然後繼續。

問題應測試對設計的推理,而不僅僅是「接下來會發生什麼?」。

可執行模式規則

讓使用者執行命令並進行一個安全變更。命令必須來自報告、專案文件或清晰標記的通用設定指南。在使用者報告輸出或實際執行確認之前,不要聲明命令已成功執行。在此技能內部,不要代表使用者安裝依賴項、執行專案或編輯程式碼。

可以在未執行的情況下向學習者提供專案文件記錄的命令。區分支援的命令和觀察到的成功執行。如果沒有支援的命令可用、環境不可用或使用者偏好閱讀,則切換到閱讀器模式並解釋原因。不要僅根據設定檔名稱推斷執行環境、版本或套件管理器;使用報告和直接專案文件。

閱讀器模式規則

以問題 → 方法 → 實作 → 取捨的方式教授設計。解釋每個引用的檔案體現了什麼、它對架構為何重要,以及使用者應該檢查什麼。必要時,您也可以對目前節點的直接依賴項進行有針對性的讀取;不要重新掃描儲存庫。如果報告修訂版本過時,僅檢查目前節點及其直接依賴項。如果機制發生了重大變化,請披露不一致之處並要求提供更新的報告;不要將過時的事實當作當前事實來教授。

邊界與完成

  • 不要發明缺少的證據或作者意圖。
  • 不要自動呼叫 explore 或 essence。
  • 不要添加第三種模式。
  • 不要代表使用者修改檔案、安裝依賴項或執行專案/設定命令。允許有針對性的唯讀檢查;允許解釋性程式碼片段。單獨的委派執行請求會改變任務範圍,必須在教學步驟之外明確處理。
  • 預設透過聊天傳送。僅在請求或已授權時儲存報告或續傳檔案。
  • 結束時回顧所學概念、練習結果、誤解和下一步方向。

結果:

跟隨課程:{專案}
模式:runnable | reader
先決條件報告:explore | essence
練習結果:completed | partial | skipped | too-hard
下一步方向:...
狀態:complete | paused

在回顧之後,詢問使用者是否想要另一個練習或結束課程。

Individual skills in this repo

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

相關技能