# Notebooklm Course Builder

> 以條件式瀏覽器自動化或 14 階段嚮導建構 NotebookLM 課程教材。適用於：(1) 將課程大綱轉為包含來源引用、逐節講義、Quiz 與 Study Guide 的完整課程；(2) 規劃 Notebook 與研究分群、來源審核、Coverage 分析；(3) 自動操作 NotebookLM 或延續既有建置進度。

- Skill: `hmj1026/notebooklm-course-builder` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add hmj1026/notebooklm-course-builder`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hmj1026/notebooklm-course-builder/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: hmj1026 (https://skillmd.com/u/hmj1026)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/hmj1026/notebooklm-course-builder

---


# NotebookLM Course Builder

把課程大綱轉成一套有來源、可驗收、可持續推進的 NotebookLM 教材。代理負責規劃、產生短版 Prompt、判讀結果與守住品質關卡；可用的瀏覽器工具負責介面操作，使用者透過少量結構化關卡保留來源 Import 與 Module 定稿決定。

## 啟動路由

除非使用者指定手動嚮導，先解析本 `SKILL.md` 所在目錄並執行其中的 `node scripts/detect-browser-tools.mjs --json`。Node 不存在、腳本失敗或輸出無法解析時 fail closed 至 guided mode：

- `mode=auto`：完整讀取 [references/automation.md](references/automation.md)，載入所選瀏覽器工具的技能指引，依其中的 Run 授權、動作迴圈與兩個批次關卡執行。
- `mode=guided`：使用本檔的手動嚮導。若宿主提供結構化問題工具，讓使用者選擇安裝 `agent-browser`、安裝 `playwright-cli` 或繼續手動；否則用一個簡短問題詢問。
- 使用者明確指定 adapter 時仍先驗證該工具；不可用時依 `agent-browser → playwright-cli → guided` 降級。

當 `node.ready=false`、Node 指令不存在，或使用者要求建置自動環境時，完整讀取 [docs/browser-automation-setup.md](docs/browser-automation-setup.md)，一次只引導其中一個安裝或驗證步驟。每步取得可觀測完成結果後再繼續；安裝工具前仍需使用者明確確認。

瀏覽器登入、Notebook 寫入與狀態更新需要每次 Run 的一次性確認。Run 授權只涵蓋已命名的課程與 Notebook，不跨 `/resume` 或新對話沿用。

## 互動契約

- Guided mode 每次只推進一個可完成的步驟；auto mode 可連續推進已通過可觀測完成判準的步驟，只在批次關卡、例外關卡或完成時回報。
- Guided mode 的回覆只包含：目前目標、NotebookLM 精確操作位置（依左側來源／中間對話／右側工作室面板）、這一步要貼的單一短 Prompt 或單一審核表、完成判準、使用者回傳格式。完整介面與按鈕對照請參閱 [references/notebooklm-ui-guide.md](references/notebooklm-ui-guide.md)。
- 已有足夠資訊時直接產生當前步驟；只有會改變課程結構、來源取捨或教材邊界的缺失才詢問。
- Auto mode 由代理讀取頁面結果與擷取必要截圖；使用者只處理 Run 啟動、來源匯入、Module 定稿與例外關卡。Guided mode 才要求使用者貼回結果。
- 介面名稱或位置以使用者實際畫面為準。看不清狀態時請使用者提供目前畫面；依使用者實際可見的按鈕操作。
- 使用者若只回覆「完成」「下一步」或一張截圖，先依目前狀態判斷結果，不重新開始流程。
- 預設以繁體中文協作；依使用者要求切換教材語言。技術術語第一次出現時可保留英文。

## 不可混淆的 NotebookLM 物件

始終區分三種物件：

1. **Course Outline Source**：大綱本身，透過新增來源或貼上文字加入 Notebook，會成為 Source。
2. **Research Prompt**：輸入快速研究搜尋區以探勘候選來源，僅於搜尋視窗流轉，與 Notebook Sources 保持嚴格隔離。
3. **Candidate Source**：研究結果中的候選文件；經逐項審核與使用者確認後才 Import，Import 後才成為 Notebook Source。

若研究 Prompt 被誤存為 Source，先請使用者移除該錯誤 Source，再繼續；維持既有大綱與已核准來源不變。

## 建置狀態

開始時建立並持續更新下列狀態；工作區可寫入時可複製 [templates/build-state.md](templates/build-state.md)，否則在對話內維持精簡版本。各階段查核細項請參閱 [references/checklist.md](references/checklist.md)。

- 課程名稱、受眾、先備知識、教材語言、範圍邊界
- Module 與單元清單、單元依賴、預期能力
- Notebook 規劃、Research Cluster 與狀態
- Source Ledger：候選、決策、理由、支援主題、重複情況
- 各單元 Coverage、缺口與是否接受缺口
- 各講義版本、Review 結果、Final Check 結果
- Module 驗收、Quiz、Study Guide 與目前下一步

每次只顯示和當前決策相關的狀態，維持上下文簡潔。

## 工作流程與關卡

### 1. 解析課程大綱

支援三種輸入模式，降低課綱整理阻力：
1. **範本模式**：使用者複製 [templates/course-outline-template.md](templates/course-outline-template.md) 填妥直接貼入。
2. **雜湊文字吸納模式**：使用者直接丟入零散筆記、簡報大綱或粗略要點，代理自動結構化為標準單元。
3. **3 題快速訪談模式**：使用者若只有主題名稱，代理發動 3 題快速提問（受眾先備知識、預期終點能力、明確不教的邊界），自動生成初始課綱。

收到後解析：
- Module、單元、順序與明示／推定的依賴
- 每個單元的核心問題、學習成果、實作或案例
- 受眾、先備知識、課程深度與不應提前教授的內容
- 名稱不一致、重疊、斷層與需要確認的歧義

輸出精簡的「課程地圖」、Mermaid 單元依賴拓撲圖與必要假設。Auto mode 將其納入 Run 啟動確認；guided mode 直接請使用者確認。待結構獲確認後再啟動來源研究。

**完成判準：** Module／單元結構、受眾與課程邊界獲使用者確認。

### 2. 規劃 Notebook 與 Source Research Cluster

預設每個 Module 建立一本 Notebook。若 Module 很小且高度共享來源，可合併；若單一 Module 過大或來源領域明顯分裂，可拆分。說明偏離預設的理由。

將單元依共同知識、共同權威來源與教學依賴分成 Research Cluster。Cluster 以知識主題為單位，不以「每節各搜一次」為預設；每群通常涵蓋數個相近單元，但複雜或獨立主題可單獨成群。

輸出當前 Module 的 Notebook 名稱、包含單元、Cluster、每群研究目標與停止條件。Auto mode 將其納入同一次 Run 啟動確認；guided mode 直接請使用者確認。

**完成判準：** 當前 Module 的 Notebook 與 Cluster 設計獲確認。

### 3. 指引建立 Notebook 與大綱 Source

建立／開啟 Notebook，再至左側「來源 (Sources)」面板 ➔ 點擊「+ 新增來源 (+ Add sources)」 ➔ 選擇「複製的文字 (Copied text)」貼上當前 Module 大綱並點擊「插入 (Insert)」，確認大綱成為 Course Outline Source。Auto mode 由代理操作並驗證；guided mode 一次只給使用者一個介面動作，再請其回報來源清單或截圖。

**完成判準：** 左側來源清單中只有正確大綱與既有核准來源；研究指令沒有被誤存成 Source。

### 4. 產生 Fast Research Prompt

進入來源研究時，完整讀取 [references/research-and-sources.md](references/research-and-sources.md)，依其中規則只為目前一個 Cluster 產生短版 Prompt。Prompt 應描述主題、必要知識、來源偏好、排除項與教材目的，不重貼整份大綱。

至左側「來源」面板 ➔ 點擊「+ 新增來源」 ➔ 選擇「快速研究 (Fast Research)」標籤頁，將 Prompt 貼入搜尋框按 Enter。研究完成後展開候選清單供逐項評估，保留未匯入狀態。

**結果擷取：** Auto mode 直接從 snapshot 讀取候選，視覺資訊不足時由代理擷取暫存截圖。Guided mode 才請使用者截取候選清單貼回，無需手動複製標題與網址。

**完成判準：** Auto mode 已擷取完整候選資料；guided mode 已收到候選清單文字或完整畫面截圖。

### 5. 互動式審核候選來源

依 [references/research-and-sources.md](references/research-and-sources.md) 對每個候選逐項標記：

- `Import`：核心、權威、直接支援且非不必要重複。
- `可選`：品質尚可，但屬補充案例、第二觀點或與核心來源部分重複。
- `不要 Import`：錯題、低品質、過時、內容農場、產品線混淆、深度不合或重複價值低。

每項必須寫一個具體理由與支援的單元／知識點。來源看似權威不等於切題；官方文件若產品或主題不符，也可列為不要 Import。若畫面只顯示部分候選，先完成可見項目的暫評；auto mode 嘗試展開清單，仍不完整便進入例外關卡，guided mode 則請使用者補齊畫面。候選未完整前不建議按全選。

**極簡勾選碼：** 審核表最後必須附上一句快速操作指令，例如：`請在候選視窗中：勾選 [1, 2]，忽略 [3, 4]，點擊匯入`。

Auto mode 進入 Source Import Gate，核准後由代理勾選並點擊右下角「匯入 (Import)」；guided mode 指引使用者依審核表操作。更新 Source Ledger 後才開始下一 Cluster。

**完成判準：** 該 Cluster 每個候選皆有決策，且核准來源已 Import 加入左側面板。

### 6. Coverage Analysis

所有初始 Cluster 完成後，在中間「對話 (Chat)」面板底部的對話輸入框貼入短版 Coverage Prompt。Coverage 必須逐單元評為 `High`、`Medium`、`Low` 或 `Missing`，列出已有核心知識、真正缺口與是否需要補來源。

關鍵字出現在來源中不等於有足夠 Coverage。以「能否寫出符合課程深度、技術正確且有引用的講義」判斷。

**完成判準：** 每個單元都有 Coverage 與可執行的缺口判斷。

### 7. 補足 Low／Medium 缺口

- `High`：停止為該單元搜尋。
- `Medium`：只補影響核心學習成果的缺口；案例、進階規模化或明確屬後續 Module 的缺口可接受並記錄理由。
- `Low`／`Missing`：針對一個明確缺口建立一輪補充 Fast Research。

每輪只攻一個缺口，審核候選後重跑 Coverage。相同缺口最多連續補兩輪；仍不足時，縮小該單元承諾、換用使用者提供的來源，或明確回報阻塞，不以大量低品質來源堆高表面 Coverage。

**完成判準：** 所有單元為 High，或 Medium 缺口已明確判定不影響當前課程目標。

### 8. 逐節建立講義 Draft

進入講義階段時，完整讀取 [references/lesson-production.md](references/lesson-production.md)。一次只處理一節，依課程順序產生短版 Draft Prompt：只保留本節目標、必要結構、承接／邊界、必備案例或心智模型、語言與引用要求。

在中間「對話 (Chat)」面板底部的對話輸入框貼入 Draft Prompt 並發送。Sources 已承擔知識內容，Prompt 不重述完整教材。若 Prompt 仍太長，優先刪除說明性文字；必要時拆成「先列結構」與「依已確認結構生成」兩則。

**免全文搬運機制：** 講義全文直接留存於 NotebookLM 中。Auto mode 由代理讀取並判斷生成結果；guided mode 的使用者**無需複製全文貼回終端機**，只需回報「已生成」或大綱章節。

**完成判準：** NotebookLM 已生成完整 v1；auto mode 已由 snapshot 驗證，guided mode 已收到使用者確認。

### 9. 教材 Review

**同串內審雙閉環：** 代理產生針對本節風險的 Review Prompt，不重寫講義。在中間「對話 (Chat)」面板（**延續同一個對話串**）底部的對話輸入框直接貼入 Review Prompt，讓 NotebookLM 自檢。

檢查技術正確性、來源支援、教學順序、範圍邊界、與前後節重複／斷層，以及學習者能否建立預定心智模型。

Review 只允許：`PASS`、`Needs Minor Revision`、`Needs Major Revision`，並要求只列具體可執行項目；文風偏好不構成修改理由。Auto mode 由代理直接讀取判定與問題清單；guided mode 的使用者只需貼回這兩項，不搬運講義全文。

**完成判準：** 收到 Review 判定（PASS 或具體問題清單）。

### 10. Minor Revision v2

- `PASS`：保留 v1，避免無謂重寫。
- `Needs Minor Revision`：用 Review 的具體清單產生 v2；只修改列出的問題，保留正確內容與原結構，不擴張範圍。
- `Needs Major Revision`：先回到 Draft 規格或補強來源缺口，重新定位後再產出合規版本。

**完成判準：** v2 解決審查清單中所有阻塞項並維持原結構，或原 v1 直接判定 PASS。

### 11. Final Check

Final Check 只驗證上一輪修正、是否引入新錯誤、主要主張是否有來源支援、是否符合受眾與單元邊界。在中間「對話」面板底部的對話輸入框發送 Final Check 指令。只輸出 `PASS` 或 `FAIL`；FAIL 只列阻止定稿的問題。

PASS 後停止修改，並在該則講義回答氣泡下方點擊「儲存至記事 (Save to note)」（便條紙圖示），將講義保存至右側「工作室 (Studio)」面板的記事區。Auto mode 由代理完成並驗證；guided mode 指引使用者操作。FAIL 時聚焦於阻礙定稿的關鍵問題進行最小修正，再重跑 Final Check。

**完成判準：** 本節 PASS、已點擊「儲存至記事」，且狀態表記錄正式版本。

### 12. Module 整體驗收

所有單元定稿後，完整讀取 [references/module-completion.md](references/module-completion.md)，在中間「對話」面板底部的對話輸入框發送 Module Review Prompt。驗收整個 Module 的順序、知識斷層、明顯重複、術語首次介紹、技術矛盾、跨節心智模型、範圍與來源支援。

只在影響學習或技術正確性時要求修改。結果使用 `PASS / Needs Revision` 與 `是否可進入下一 Module：YES / NO`。

**完成判準：** `PASS + YES`；否則只修正阻止通過的單元，再重跑 Module 驗收。

### 13. Quiz 與 Study Guide

Module 通過後建立 Quiz 與 Study Guide：
- 方式 A（快捷工具）：在右側「工作室 (Studio)」面板點擊「測驗 (Quiz)」或「學習指南 (Study Guide)」卡片自動生成。
- 方式 B（專屬 Prompt）：在中間「對話」面板底部的對話輸入框貼入 Prompt，生成後點擊回答氣泡下方的「儲存至記事 (Save to note)」保存。

Quiz 以理解、資料流、比較、除錯或情境應用為主；Study Guide 應整合能力、關鍵心智模型、常見誤解、單元連結與複習順序，不只是章節摘要。

**完成判準：** Quiz 與 Study Guide 已建立並與 Module 學習成果對齊。

### 14. 下一 Module

封存目前 Module：列出已完成單元、核准來源、接受的 Coverage 限制、正式版本、Module Review、Quiz 與 Study Guide。若仍有下一 Module，先建立其 Notebook／Cluster 規劃。Auto mode 將該規劃納入當前 Module Finalization Gate；guided mode 顯示規劃並請使用者確認，再回到步驟 3。

整門課完成時，直接輸出課程層級的完成清單與仍存在的明示限制。

**完成判準：** 當前 Module 完整封存至狀態表，下一 Module 規劃獲確認（或全課完成清單已輸出）。

## Prompt 與來源的共同規則

- Prompt 預設為可直接貼入 NotebookLM 的短版；一次一個任務、一個輸出格式、一組關鍵邊界。
- 生成內容只使用目前 Notebook 已 Import 的 Sources，保留 NotebookLM 原生引用，嚴格錨定既有來源。
- 來源優先順序：適切的官方文件／標準／原始研究，其次大學、政府、同儕審查與公認權威，再其次高品質二手解說。實作案例不能取代理論或技術主張的核心來源。
- 快速變動的產品、API 與平台行為重視新鮮度；經典基礎概念可保留舊但具代表性的原始文獻。
- 以最小充分來源集為目標。新來源必須填補缺口、提供更高權威，或帶來有教學價值的不同觀點。
- 以核心學習目標與權威證據為依據判定研究完成度。
- 每節清楚承接已學內容並標示後續 Module 邊界，避免重複教授或過早深入。

## Guided mode 回覆格式

除來源審核表外，當前步驟使用這個精簡骨架，明確標註進度儀表板與三大面板位置：

```text
[進度: Module X / 單元 Y.Z (階段名稱)]

目前：<Module／單元／階段>

請在 NotebookLM：<精確面板（左側來源／中間對話／右側工作室）與按鈕動作>

<單一可貼入的短 Prompt；若此步不需 Prompt 則省略>

完成判準：<可觀察結果>
快速操作／回傳：<極簡勾選碼、回報代碼或截圖>
```

Guided mode 嚴格等待當前步驟結果判讀完成後，再輸出下一階段 Prompt。Auto mode 使用 [references/automation.md](references/automation.md) 的進度與關卡格式。

## 中斷與續推機制 (/resume)

若對話中斷或使用者重啟工作階段，使用者只要輸入 `/resume` 或「繼續進度」，代理立即讀取 `build-state.md` 定位目前暫停的階段、單元與 Notebook。Auto mode 重新執行 preflight 與 Run 授權，並從最後一個已驗證 checkpoint 繼續；guided mode 直接輸出當前步驟的操作指引。

