tw-edu-slides-creator

Installation
SKILL.md

教材轉視覺化教學簡報 v2.0

哲學定位

「好的教學簡報不是把文字搬上投影片,而是把複雜知識視覺化。」 → 25 種版型 × 8 種色盤 × 智慧內容分析,讓每張投影片都有最適合的呈現方式。


設計系統 V2.0:Edu Warm × Claude Design

基於 Claude Design(2026-04-17)+ canvas-design 官方字型規格升級

設計皮膚:Edu Warm(教育溫暖)

/* 命名空間變數(跨 skill 安全,不與 Neon Circuit 衝突) */
--edu-warm-bg: #fffbf5;      --edu-warm-text: #141413;
--edu-warm-primary: #d97757; --edu-warm-secondary: #6a9bcc;
--edu-warm-accent: #788c5d;
--edu-warm-font-heading: 'Work Sans', 'Noto Sans TC', sans-serif;
--edu-warm-font-body: 'Noto Sans TC', sans-serif;
/* 向下相容別名 */
--bg: var(--edu-warm-bg);      --text: var(--edu-warm-text);
--primary: var(--edu-warm-primary); --secondary: var(--edu-warm-secondary);
--accent: var(--edu-warm-accent);
--font-heading: var(--edu-warm-font-heading);
--font-body: var(--edu-warm-font-body);

禁用字型:Inter、Roboto、Arial — 缺乏教育溫感,系統字體不可控
禁止模式:漸層轟炸(aggressive gradients)、每頁 Emoji 裝飾、SVG 插圖嘗試
色彩延伸:需要額外色階時用 oklch()(如 oklch(75% 0.12 55) 衍生暖橙色系)

Edu Warm 字型層級

H1(投影片主標): Work Sans Bold 30px / color: #d97757
H2(小節標題):  Work Sans SemiBold 22px
內文要點:        Noto Sans TC Regular 18px / line-height: 1.75
強調文字:        Work Sans Medium 18px / color: #d97757
備注說明:        Noto Sans TC Regular 14px / color: #6B6B6B

16:9 簡報格線系統(1280×720px)

外邊距: 64px 四周
頁首帶: top 80px  — 課程主題(Work Sans Bold)
主內容: 592px 高  / 12欄格線 gutter 16px
頁尾帶: bottom 48px — 頁碼 + 108課綱對應

canvas-design 設計原則(簡報適用版)

  • 內容密度:依年級規格限制字數(見 Step 2 年級對應表)
  • 視覺主導:每張投影片的視覺元素(圖形/圖示/色塊)應佔 ≥40%
  • 最少裝飾:視覺服務概念理解,而非妝點頁面
  • 文字品質:所有文字元素加 text-wrap: pretty,每個元素必須有存在理由(no filler)

影響學習效果的簡報設計原則

文字與圖像永遠同頁同側 說明文字與對應圖像必須放在同一張投影片、相鄰位置,不可一張放圖、下一張才放說明。學生在圖片和說明之間切換頁面會增加認知負擔,干擾理解而非幫助理解。

講解新概念:先示例,再解析 引入新概念的投影片請遵循順序:先呈現「這個概念看起來是什麼樣子」(完整示例),再進入「為什麼這樣運作」(分析解釋),而不是直接拋問題要學生猜。對尚未掌握概念的學生,問題引導比示例引導更容易造成困惑。

裝飾性元素一律省略 無意義的圖示、邊框動畫、純裝飾插圖會分散學生注意力而非幫助理解。每個視覺元素都需要有「它在傳達什麼知識?」的答案,答不出來就刪掉。



Step 0:讀取必要參考文件

依序讀取以下四個文件,作為後續步驟的知識基礎:

  1. references/slide_design_principles.md — 25 種版型庫 + 選版型規則 + 色盤配對指南
  2. ../../tw_edu_grade_adapter.md — 年級偵測與內容難度適應系統
  3. ../../tw_edu_guided_collection.md — 引導式資訊收集框架
  4. ../../tw_edu_concept_alignment.md — 概念對齊協議(確認方向一致再執行)

Step 1:年級偵測 + 路徑選擇 + 引導式資訊收集

1-A. 雙路徑選擇(第一個問題)

🛤️ 請問您想用哪種方式製作簡報?

A. 🖥️ Claude 內建(直接生成 .pptx 檔案,可立即下載,適合快速製作)
B. 🎨 Canva 路徑(呼叫 Canva 生成高設計感版本,視覺效果更精美)

→ 請輸入 A 或 B,或直接描述您的需求(我會自動判斷)

1-B. 核心資訊收集(最多 3 個必填問題)

Q1: 「這份簡報的教學主題或課文是什麼?」
Q2: 「給哪個年級的學生使用?」(若未偵測到)
Q3: 「您有現成的教材想提供嗎?(可貼文字、上傳 Word/PDF、提供網址)」

提示:您可以直接貼上文字內容、上傳 Word 或 PDF、
      提供網頁連結,或用文字描述想要什麼內容。

1-C. 風格選擇(選填)

Q4: 「想要哪種色盤?
    A. 簡約現代(白底深藍,正式課堂)
    B. 活潑彩色(鮮明藍橘,低年級互動)
    C. 深色沉穩(深藍底,高中/程式/專業)
    D. 台灣特色(棕紅米色,本土文化課)
    E. 自然清新(綠色系,自然/環境/健康)
    F. 科技感 (靛青深底,資訊/AI課程)
    G. 溫暖橙調(橙色系,藝術/社會/SEL)
    H. 學術紫  (深紫系,文學/哲學/研究)」

Q5: 「圖示風格?
    A. Emoji(輕量預設,零依賴)
    B. SVG 圖示(需要網路,下載 Iconify 公開資源)
    C. 純文字(無圖示)」

Q6: 「幾張投影片?(預設依內容自動判斷,通常 12-18 張)」

1-D. 確認摘要(執行前輸出)

✅ 主題:{主題}
🎓 年級:{年級}(→ 字體/密度已自動調整)
🛤️ 路徑:{A. Claude 內建 / B. Canva}
🎨 色盤:{色盤選擇}
🖼️ 圖示:{emoji / svg / none}
📊 張數:約 {N} 張(含封面/目標/內容/結尾)
📄 輸出:{主題}_教學簡報.pptx

Step 2:年級對應簡報規格

學習階段 每頁字數上限 圖文比例 字體大小 動畫建議
國小低年級(1-2年) 20字 圖 70% 標題 40pt / 內文 28pt 多(出現動畫)
國小中高年級(3-6年) 40字 圖 55% 標題 36pt / 內文 24pt 適中
國中(7-9年) 80字 圖 40% 標題 32pt / 內文 22pt
高中(10-12年) 120字 圖 30% 標題 28pt / 內文 20pt 無或極少

Step 2.5:內容智慧分析(核心步驟)

依輸入素材類型,先做前處理:

輸入類型 前處理方式
直接貼入文字/課文 直接進入分析
Word/PDF 上傳 python3 -m markitdown /mnt/user-data/uploads/[檔名] 轉成文字後分析
只給主題(無素材) 依主題+年級+108課綱脈絡自行生成完整內容
網頁 URL WebFetch 抓取正文後分析

內容分析輸出(JSON 格式):

根據輸入素材與 references/slide_design_principles.md 的版型選擇規則, 輸出以下結構化 JSON(存為 /tmp/slides_content.json):

{
  "title": "課文/主題名稱",
  "subject": "科目",
  "grade": "年級",
  "objectives": [
    "能(布魯姆動詞)...",
    "能(布魯姆動詞)...",
    "能(布魯姆動詞)..."
  ],
  "slides": [
    {
      "layout": "hero_message",
      "headline": "開場大標語",
      "subtext": "副標題或引導語"
    },
    {
      "layout": "content",
      "title": "概念標題",
      "bullets": ["重點一", "重點二", "重點三"],
      "note": "教師提示"
    },
    {
      "layout": "two_column",
      "title": "比較標題",
      "left_title": "左欄標題",
      "left_bullets": ["..."],
      "right_title": "右欄標題",
      "right_text": "..."
    }
    // ... 依內容自動選擇最適版型
  ],
  "discussion_question": "思考提問句",
  "summary": [
    ["關鍵詞一", "說明一"],
    ["關鍵詞二", "說明二"],
    ["關鍵詞三", "說明三"],
    ["關鍵詞四", "說明四"]
  ],
  "homework": "課後任務說明"
}

版型多樣性要求:一份簡報應包含 ≥4 種不同版型, 避免連續 3 張以上使用相同版型。


Step 3:路徑分歧

路徑 A:Claude 內建 .pptx

執行腳本:

python scripts/generate_slides.py \
  --title "[主題名稱]" \
  --subject "[科目]" \
  --grade "[年級]" \
  --stage "[elementary_low|elementary_high|junior|senior]" \
  --style "[modern|colorful|dark|local|nature|tech|warm|purple]" \
  --icons "[emoji|svg|none]" \
  --content_file "/tmp/slides_content.json" \
  --slides_count [張數] \
  --output "/mnt/user-data/outputs/[主題]_教學簡報.pptx"

路徑 B:Canva 高設計感版本

若 Canva MCP 可用:

呼叫 Canva MCP:
generate-design(
  design_type="presentation",
  query="[主題] [年級]教學簡報,[色盤風格],共[N]頁,
         包含:[slide titles 列表]"
)

若 Canva MCP 不可用:

⚠️ 偵測到 Canva MCP 未連線

→ 請至 Claude Code 設定 → Connectors → 啟用 Canva
→ 或切換到「路徑 A - Claude 內建」繼續製作
  (內容分析已完成,可直接執行 .pptx 生成)

Step 4:25 種版型說明(摘要)

詳細版型規格見 references/slide_design_principles.md

版型 用途摘要
content 條列文字(預設)
discussion 思考提問 + 計時器
two_column 左右雙欄說明
activity 步驟卡 + 時間/分組
vocab 詞彙格子(注音+釋義)
timeline 橫向時間軸節點
comparison 雙色對照欄
big_quote 大字金句居中
data_highlight 大數字統計卡
image_focus 圖片佔位框 + 說明
process_flow 橫向箭頭流程
kanban 三欄 KWL 分類
concept_web 放射狀概念圖
pros_cons ✅優/❌缺 雙欄
section_cover 章節分隔頁
hero_message 全版大標語
three_cards 三卡並列
four_quadrants 四象限矩陣
icon_list 圖示條列清單
stat_bar 文字進度條比較
pyramid 金字塔層次
agenda 議程目錄
testimonial 人物引言卡
split_screen 非對稱分割
blank_canvas 空白模板

微調模式(Delta-Update)

生成簡報後,用戶輸入以下動詞開頭時,只修改指定部分:

動詞 動作 範例
替換內容/樣式 「換第3張標題」→ 只更新第3張 headline
修改屬性 「改色盤為深色沉穩」→ 只更新 CSS 色彩變數
插入投影片 「在第4張後加一張討論題」→ 插入 discussion 版型
移除投影片 「刪掉第7張」→ 從 JSON 中移除該 slide
調 微調數值 「調字體更大」→ 依年級規格上調 font-size

Step 5:品質確認清單

  • 設計皮膚是否為 Edu Warm(Work Sans 標題 + Noto Sans TC 內文)?
  • 16:9 格線:頁首帶 80px / 主內容 592px / 頁尾帶 48px
  • 視覺元素(圖形/圖示/色塊)是否佔每頁 ≥40%?
  • 封面有完整資訊(主題/科目/年級)
  • 學習目標頁使用布魯姆動詞
  • 每頁字數符合年級規格
  • 版型種類 ≥ 4 種(視覺多樣性)
  • 無連續 3 張相同版型
  • 主色調一致,最多使用 3 種顏色
  • 重要概念有視覺化呈現
  • 至少一張互動/提問投影片(discussion)
  • 結尾頁有重點整理(summary)
  • 無「相關概念一」等通用佔位符
  • 無漸層轟炸、無 SVG 插圖嘗試(改用 CSS 色塊)?
  • 每個元素有存在理由(no filler — 不加裝飾性文字/圖示)?

MCP 整合說明

Canva MCP(路徑 B)

  • 連線方式:Claude Code 設定 → Connectors → Canva
  • 呼叫方式:generate-design(design_type="presentation", query="...")
  • 適合需要精美設計感的簡報(品牌感、行銷型)

Google Drive MCP(若已連接)

  • 直接讀取 Drive 中的教材文件
  • 完成後直接儲存回 Drive
  • 觸發:使用者提供 Google Drive 連結
Related skills
Installs
13
GitHub Stars
5
First Seen
Apr 10, 2026