Community程式設計與開發github.com

Sigma-Works/iCode-Claude-Skills

將一份或多份教案檔案(PDF、DOCX、純文字)轉換成 60–90 分鐘的課堂投影片,涵蓋所有學習目標,並在每個學習目標後附上一款互動式網頁遊戲。

iCode-Claude-Skills 是什麼?

這項技能專為教師設計,可自動從教案建立完整的課堂簡報。它會分析上傳的教案檔案(PDF、DOCX 或文字檔),提取所有學習目標,然後將其分組為 2-6 個較大的「學習目標」。每個學習目標都包含教學投影片、活動環節,以及最重要的——一款用於即時鞏固所學的互動式網頁遊戲。該技能會自動計算適當的課堂長度(60-90 分鐘),並根據學習目標數量分配時間。如果教師指定了遊戲網站,它會驗證這些網站;否則,它會從已知的免費、無需登入的網站(如 Flexbox Froggy、CSS Diner 或 CodeCombat)中選擇合適的遊戲。最終產出為一份投影片,包含詳細的講者備註、進度管理用的時間區塊,以及用於追蹤學習目標覆蓋率的檢查清單。這項技能非常適合需要將教案快速轉化為結構化、充滿活力且遊戲化課堂體驗的教師。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Sigma-Works/iCode-Claude-Skills/tree/HEAD/lesson-generator

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

課程產生器

根據使用者的教案,建立一份可直接教學的投影片。投影片必須:

  1. 涵蓋教案中的所有學習目標(不可遺漏任何目標,也不可新增與其牴觸的內容)。
  2. 執行時間為 60–90 分鐘,並根據教學內容的多寡進行調整。
  3. 在每個學習目標之後立即放入一個互動式網頁遊戲,讓學生能立即應用所學。
  4. 適用於一個小型、充滿活力的班級,人數約 4–10 名學生(通常是兒童或青少年)。

何時啟動

  • 教師上傳教案,並要求製作投影片、簡報、講義或簡報檔。
  • 教師要求重建、縮短或重新設定此技能所建立之簡報的主題。
  • 不適用於家長報告或課後班級摘要:請使用 report-generator。
  • 不適用於沒有教案且教師希望從頭設計課程的情況:請要求提供教案,或說明此技能需要教案才能運作。

步驟 1 — 收集輸入資料

完整閱讀所有上傳的教案。將其內容整理成一個工作清單:

  • 課程 / 科目名稱、單元或衝刺期、課號與標題
  • 每個已編號的目標,逐字記錄(這是您必須核對的清單)
  • 課堂大綱內容、定義、範例與程式碼片段
  • 活動、專題、實驗、所需教材、學習單
  • 任何提到的連結、準備說明或資源資料夾

然後檢查使用者的訊息,尋找以下資訊:

輸入項目如果有提供如果未提供
要使用的遊戲網站僅使用這些網站(步驟 3 中驗證每個網站)自行選擇遊戲(步驟 3)
課堂長度使用提供的時長自行計算(步驟 2)
班級人數 / 年齡使用提供的資訊假設 4–10 名學生,年齡約 8–14 歲
班級行為備註(“混亂”、“安靜”、“進階”)調整活動與管理用投影片假設為混合型精力

除非教案遺失或無法讀取,否則請勿停下來提問。完成時,用一行話說明您所做的假設。

步驟 2 — 將目標分組為學習目標並設定長度

教案通常列出許多細項目標(例如 8-12 個)。每個目標都做一個遊戲會太多。將相關的目標分組為學習目標(共享一個概念的主題),通常每堂課 2-6 個。例如:“定義 position”、“解釋 top/left”、“應用 position”、“描述 z-index”、“使用 z-index” → 一個目標:Position & 堆疊。

長度(除非使用者已設定):

學習目標數量課堂長度遊戲數量
2–360 分鐘2–3
475 分鐘4
5–690 分鐘5–6

如果兩份教案結合成一堂課,則計算兩者總和的學習目標數量。

每個學習目標的時間預算(調整以符合總時長):

  • 教學:5–10 分鐘(解釋、展示、快速理解檢查)
  • 試做 / 活動:2–5 分鐘(在自己的專案中動手做,或是不插電的肢體活動)
  • 遊戲:4–7 分鐘
  • 固定時段:開始時的暖身 + 規則說明 3–5 分鐘;如果教案中有專題,則專題啟動 5–8 分鐘;結束時的 Exit Ticket 2–3 分鐘

如果目標較少,使用較長的時間;如果目標有 5-6 個,則使用較短的時間(6 個目標 × 11 分鐘 + 固定時段 ≈ 76 分鐘,在 90 分鐘內留有餘裕)。如果時間仍不夠,優先縮減教學和試做時間,而非遊戲時間,且絕不將遊戲時間縮短到 4 分鐘以下。

在開始建立投影片之前,先寫出時間表(每個區段的分鐘範圍)。分鐘總和必須完全等於課堂長度。將其中一個區段標記為緩衝區,以便在課堂時間不夠時刪減。

步驟 3 — 挑選並驗證遊戲

每個遊戲都必須練習其後方學習目標的技能。偏好免費、無需登入、瀏覽器為基礎的遊戲;孩子們不應需要帳戶或付費。

如果使用者指定了網站: 擷取每個網站,列出其遊戲,並挑選與每個學習目標匹配的遊戲。記錄哪些是免費的,哪些是付費的;切勿在未標記的情況下指定付費/Pro 版本的遊戲。

如果沒有指定: 從您自己的知識庫中挑選。良好的起點(使用前請先驗證——可用性和價格可能會有變動):

主題遊戲
CSS flexbox / grid / positioningCodepip: Flexbox Froggy, Grid Garden, Anchoreum (codepip.com/games — 檢查哪些是免費版 vs Pro 版);Flexbox Defense
CSS 選取器CSS Diner
HTML 基礎Codepip HTML 遊戲(檢查是否免費)
JavaScript / 一般程式設計CodeCombat(免費關卡),Elevator Saga(較年長學生),Untrusted
積木式程式設計 / 邏輯(較年幼兒童)Blockly Games,Code.org 活動,Lightbot
PythonCodeCombat(Python 模式),CheckiO
GitLearn Git Branching
SQLSQL Murder Mystery,SQL Island
打字 / 鍵盤技能typing.com,Nitro Type
機器人 / 邏輯 / 演算法Code.org,Blockly Games(Maze,Bird),Lightbot
設計 / UXCan't Unsee,The Boolean Game,Kerning 遊戲 (type.method.ac),Color 遊戲 (color.method.ac)

務必驗證: 擷取每個選定遊戲的 URL,以確認其可載入、免費且與目標匹配。應在一個步驟中平行擷取所有候選 URL,而非一個一個來。如果某個遊戲頁面無法擷取,請選擇另一個或告知使用者。如果環境沒有網路存取權限,請在交接時說明連結未經驗證,而非聲稱已檢查過。為每個遊戲提供:確切 URL、該時段的目標關卡(例如“關卡 1–8”),以及一個“快速完成者”的延伸選項。

如果沒有遊戲符合某個學習目標,請改用一個簡短的瀏覽器內挑戰(例如編輯 CodePen / 他們自己的專案以達到某個目標),並加以說明。

步驟 4 — 規劃投影片

投影片順序(典型 22–35 張):

  1. 封面 — 課程、單元、課號、一個有趣的標題
  2. 任務地圖 — 包含分鐘範圍的時程表;遊戲休息時間以視覺方式區分
  3. 課堂規則 — 一個回應用語(例如“Hello!” → “World!” = 手離開鍵盤),“用言語幫助,不要搶滑鼠”,以及一個可賺取遊戲時間的積分系統
  4. 對於每個學習目標:
    • 章節介紹投影片(眉題“第 N 部分”,一句話概括核心概念)
    • 2–5 張教學投影片,每張一個概念,使用教案中的定義和範例
    • 1 張活動投影片(在程式中試做,或是不插電的“動作扮演”活動)
    • 1 張快速檢查投影片(預測 / 指出 / 大聲回答問題;答案在點擊後顯示或寫在備註中)
    • 遊戲投影片 — 遊戲名稱、URL、任務(關卡)、時間、快速完成者選項
  5. 專題啟動(如果教案中有專題/實驗)— 忠實複製要求;選做實驗標記為選做
  6. Exit Ticket — 每個學習目標一個問題;答案寫在講者備註中;提醒學習單 / 回家作業

在開始建立之前,將步驟 1 中的每個目標對應到至少一張投影片。如果有任何目標沒有對應的投影片,請新增一張。

步驟 5 — 撰寫內容

針對 4–10 名兒童的班級:

  • 大字型、短句、每張投影片一個概念。兒童應能在 5 秒內理解每張投影片。
  • 使用他們世界中的類比(午餐隊伍、貼紙、電玩遊戲、房屋)。
  • 每講 8–10 分鐘,就改變模式:站起來的活動、配對挑戰、測驗或遊戲。
  • 指定個人職責(計時員、“隊長”)來引導精力。
  • 使用配對或兩個小型團隊,而非大型團體。
  • 在深色程式碼面板上顯示真實程式碼,並附有語法色彩;每張投影片的程式碼保持在約 12 行以內。
  • 如果投影片格式允許嵌入,請加入小型即時展示(例如運作中的 CSS 動畫)。

每張投影片都應有講者備註——教師閱讀這些備註,而非兒童。包含:

  • 該投影片涵蓋哪個目標(“目標 3:…”)
  • 要說什麼 / 問什麼,以及預期答案
  • 需注意的常見學生錯誤
  • 如果時間不夠可以刪減的內容
  • 對於遊戲投影片:如何開始、設定計時器以及如何結束(“Hello!” → “World!”)

每張投影片的頁尾:課程名稱和該區段的時間範圍,以便教師始終知道自己是否按時進行。

步驟 6 — 建立投影片

使用當前環境中可用的最佳投影片輸出格式,按以下順序:

  1. 使用者指定的格式(PowerPoint、Google Slides)— 使用對應的技能。
  2. 如果工作階段提供Slides 成品類型,則使用它(先列出成品類型)。遵循該類型的說明。
  3. 否則透過 pptx 技能建立 .pptx 檔案,或建立一個自包含的 HTML 投影片。

設計:一種深色、一種淺色、1–2 種強調色(如果知道課程/腰帶/品牌顏色,則從中選取);可讀的對比度;圓潤或友善的顯示字體搭配乾淨的無襯線字體作為內文;用等寬字體顯示程式碼。遊戲休息時間的投影片應與教學投影片看起來不同(例如深色背景、大字遊戲標題),以便兒童能立即辨識。

步驟 7 — 交接前檢查

  • 每個教案目標都出現在至少一張投影片上(並在備註中標記)
  • 每個學習目標後都有一個遊戲,且遊戲練習了該目標的技能
  • 每個遊戲 URL 都經過驗證且是免費的(或已標記)
  • 各區段的分鐘數加起來等於課堂長度(60–90)
  • 專題 / 實驗的要求與教案完全相符
  • 每張投影片都有講者備註

反模式

  • 每個細項目標一個遊戲(8 個以上的遊戲):先將目標分組為學習目標(步驟 2)。
  • 憑記憶列出遊戲 URL 而不擷取它,或指定 Pro/付費版本而未標記。
  • 時間表的分鐘數加總不符,或每個目標的時間無法容納在課堂長度內。
  • 發明教案中沒有的目標,或更改專題要求。
  • 文字過多的投影片或超過約 12 行的程式碼區塊;答案直接印在投影片上而非寫在備註中或點擊後顯示。
  • 在已有合理預設值的情況下,停下來詢問班級人數、長度或遊戲相關問題(步驟 1)。

步驟 8 — 交接

簡短回覆:投影片涵蓋的內容、課堂長度及其原因、使用了哪些遊戲(以及跳過了哪些付費遊戲)、所做的任何假設,以及如果課堂時間不夠可以刪減哪個緩衝區段。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能