diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 681addb..6a03bbe 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -13,6 +13,8 @@ jobs:
run: |
for f in skills/html-slide-deck/scripts/*.mjs skills/html-slide-deck/references/*.mjs skills/html-slide-deck/references/offline-build-template/scripts/*.mjs; do node --check "$f"; done
node --check skills/html-slide-deck/references/offline-build-template/build.js
+ for f in skills/html-slide-deck/references/live-poll/*.mjs skills/html-slide-deck/references/live-poll/screen/*.js skills/html-slide-deck/references/live-poll/worker/src/*.js; do node --check "$f"; done
+ node -e "JSON.parse(require('fs').readFileSync('skills/html-slide-deck/references/live-poll/worker/src/polls.json','utf8'))"
python -m py_compile skills/html-slide-deck/scripts/montage.py examples/pptx-edits-back-to-html.py
bash -n install.sh skills/html-slide-deck/scripts/*.sh
pip install ruff && ruff check skills/html-slide-deck/scripts/montage.py examples/pptx-edits-back-to-html.py
diff --git a/.gitignore b/.gitignore
index 2e68810..1cc798a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,5 @@ node_modules/
__pycache__/
.DS_Store
.rt-frame.md
+.dev.vars
+.wrangler/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4e71e10..7137895 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@
## Unreleased
+- 新增觀眾手機即時投票 `skills/html-slide-deck/references/live-poll/`:Cloudflare Worker+Durable Object 後端(手機頁、題目 JSON、WebSocket 推播、斷線輪詢)、投影片端 `screen/live-poll.js`/`.css`、`load-test.mjs`(150 支手機壓測);新腳本 `scripts/poll-slides.mjs` 把占位 section 換成加入頁與投票頁並注入講者端程式。源自 2026-10 一場約 150 人講座的實際做法。
+- 新增 `references/interactive-pages.md`:互動地圖(經緯度投影 SVG、距離圈)、製作技巧頁(格式比較表+AI 協作清單)、PPTX 轉 HTML 插入互動頁與頁碼重編。`docs/TECHNIQUES.md` 補 4.5–4.7,README 同步。
+- X 簡報技巧整理的「流程與設計原則」「現成 Skill 與工具」併入 skill:`references/design-principles.md`,SKILL.md 第 1 步要求規劃前先讀;原 docs 檔標註兩處一起改。
+
- 新增 `docs/html-slides-tips-from-x-2026-10-17.md`:整理自 X 使用者分享的 HTML 簡報流程原則、現成 Skill/工具與本專案固定規則(含來源連結);README 目錄樹補連結。
- 修正:固定規則原本只在 `docs/`,`install.sh` 不會安裝、skill 也沒引用。改為在兩個 skill 各附 `references/fixed-rules.md`(規則文字照抄),並在各自 `SKILL.md` 要求先讀並遵守;README 開頭簡介補上這兩點。
diff --git a/README.md b/README.md
index 0774744..928cc24 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
reveal.js 簡報製作流程,包成兩個 Agent Skill。
Claude Code・Codex CLI・Gemini CLI・Grok Build 都能裝。
-安裝後的 skill 內建作者的固定規則(`references/fixed-rules.md`);X 上分享的簡報技巧整理見 [docs/html-slides-tips-from-x-2026-10-17.md](docs/html-slides-tips-from-x-2026-10-17.md)。
+安裝後的 skill 內建作者的固定規則(`references/fixed-rules.md`)與規劃設計原則(`references/design-principles.md`);X 上分享的簡報技巧整理見 [docs/html-slides-tips-from-x-2026-10-17.md](docs/html-slides-tips-from-x-2026-10-17.md)。
[](https://github.com/keanu77/htmlpptskill/actions)
[](LICENSE)
@@ -18,7 +18,7 @@ Claude Code・Codex CLI・Gemini CLI・Grok Build 都能裝。
實際講座成品:封面 GSAP 逐字浮現、七張卡片一次翻面、頁內真的能作答的測驗、網站+repo 雙 QR。54 頁、3 MB、拔掉網路照樣播。
-安裝 · 10 分鐘上手 · 快捷鍵、換場與動畫技巧 · 疑難排解 +安裝 · 10 分鐘上手 · 現場互動 · 快捷鍵、換場與動畫技巧 · 疑難排解
@@ -35,12 +35,13 @@ Claude Code・Codex CLI・Gemini CLI・Grok Build 都能裝。
+
+左:投影片即時顯示全場作答比例,講者按 A 揭曉;右:觀眾手機同步顯示答案。2026-10 一場約 150 人的講座實際使用。
+
+### 觀眾用手機即時作答
+
+頁內測驗只有台上一個人點;要全場一起作答,用 [`references/live-poll/`](skills/html-slide-deck/references/live-poll/README.md)。
+
+| 你要的 | 做法 |
+|---|---|
+| 觀眾不用裝 App、不用登入 | 掃 QR 開網頁作答,匿名、可改答案、不重複計票 |
+| 投影片上即時看到全場答案 | 選擇題顯示百分比,猜數字顯示直方圖與中位數,加入頁顯示在線手機數 |
+| 揭曉時台下也看得到 | 講者按 `A`,投影片標出正解與說明,答案同步推到每支手機;揭曉前手機拿不到答案 |
+| 彩排完要清掉測試票 | 在該題按 `Shift+R` |
+| 會場網路斷了 | 投影片顯示提示並改輪詢;`A` 照樣揭曉 |
+| 人多會不會塞車 | 150 支手機壓測:150 票約 0.2–1.2 秒寫入並推到投影片 |
+
+後端是 Cloudflare Worker+Durable Object(免費方案即可),部署一次之後只改題目檔。
+
+```html
+
+
+```
+```bash
+cp -R $SKILL/references/live-poll/worker my-poll && cd my-poll && npm install
+npx wrangler login && npx wrangler secret put ADMIN_KEY && npx wrangler deploy # 同一把 key 也寫進 .dev.vars
+node $SKILL/scripts/poll-slides.mjs index.html index-live.html --worker my-poll --url https://slide-poll.<子網域>.workers.dev
+```
+
+產出的 `index-live.html` 內含講者控制用的 ADMIN_KEY,**只放講者電腦**;要分享的版本用原本的 `index.html`。
+
+### 互動地圖與製作技巧頁
+
+- **互動地圖**:點場館顯示項目、最近據點與直線距離,按鈕切換「20 km 圈」「標出 20 km 外」;經緯度投影的 SVG,離線可用。
+- **製作技巧頁**:Q&A 前一頁放 PowerPoint/PDF/HTML 優缺點比較表與 AI 協作清單。
+- **PPTX 轉 HTML 插入互動頁**:以「原 PPTX 第幾頁之後」指定位置,插頁後自動重編頁碼。
+
+程式碼與內容範例:[`references/interactive-pages.md`](skills/html-slide-deck/references/interactive-pages.md)。
+
## 🎬 快捷鍵、換場與動畫技巧
以下是作者 55 頁工作坊簡報實際用過、驗證過的做法,適用 reveal.js 5.2。點開每一項看可直接複製的程式碼。同一份內容也在 [docs/TECHNIQUES.md](docs/TECHNIQUES.md)。
@@ -472,6 +515,8 @@ show();
+> 全場用手機作答、互動地圖、製作技巧頁:見上方 [📱 現場互動](#-現場互動手機投票互動地圖)。
+
### 🧪 讓動畫不妨礙 QA、PDF 與無障礙