1仕組みと動作原理
スライド順序は教育的なクローズドループとして設計を固定:表紙(モジュール名 + 講師)→ 学習目標 → 本文(概念 + 具体例)→ MCQ自己診断スライド → ラップアップ + 次回予告。これは組版の推奨事項ではなく、インストラクショナルデザインの骨格です。
- Cover (模块名 + 讲师)
「左側に学習目標を常時表示」は 260px + 1fr の CSS grid 2カラム構成で実装:各本文スライドに同一の <ul class="obj-list"> サイドバーを複製配置することで、固定配置(fixed)のフローティング層ではなく、ページめくりに合わせて継続的に表示されます。
.tpl-course-module .slide{padding:64px 80px;background:var(--bg);display:grid;grid-template-columns:260px 1fr;gap:56px;align-content:start}
学習目標には3つの状態セマンティクスを付与:デフォルト ○、完了 ●、進行中 ▸(.obj-list li / li.done / li.current の ::before で切り替え)。講義の進行に合わせてスライドごとに同期して更新されます。
.tpl-course-module .obj-list li.current::before{content:"▸";color:var(--accent-2)}
MCQ自己診断スライド = .mcq リスト + .mcq.correct による正解の明示。サイドバーには「Self-assess / You should get 3/3」が同期され、設問はそのまま回答可能な単一選択形式(Which function will recurse forever? など)です。
<p class="dim" style="font-size:13px">You should get 3/3.</p>
暖かみのある紙のカラーパレットにより純白を完全排除:背景 #fbfaf6、カード面 #f6f3ea、アクセントカラーにティール #2d7d6e / アンバー #d88a3a、タイトルには Playfair Display 72px を採用。
--bg:#fbfaf6;--bg-soft:#f4f1e8;--surface:#ffffff;--surface-2:#f6f3ea;
配布資料パーツを完備:Exercise 破線ボックス(::before で「✎ Exercise」バッジを出力)、ダークブラウン背景の JetBrains Mono コードブロック、concept-box カード、フッターの slide-number(data-current / data-total)。
.tpl-course-module .exercise::before{content:"✎ Exercise";display:block;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--accent-2);margin-bottom:10px;text-transform:uppercase}
ランタイム実行も同様にホスト側が担当:テンプレートディレクトリ内に実行可能ファイルは皆無であり、プロンプトは assemblePrompt によって構築されローカルの agent CLI に渡され、スライドのページ分割はホスト側の deck viewer が <section class="slide"> を解析して行います。
The convention adopted by every deck skill
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| network | Google Fonts(Playfair Display / Noto Sans SC / JetBrains Mono / Inter) |
| network | 宿主共享指令声明的 Tailwind CDN(宿主侧要求,非本模板要求) |
4推奨統制措置と判定根拠
- SKILL.md: 純粋なプロンプト指示およびルールテキストのみで構成され、スクリプト実行や外部への影響はありません。
5二重目の独立検証
- [ok] 「左侧学习目标常驻」在示例中是否真的持续可见 — 5 张内容页(Objectives / Concept / Example / Exercise / Check)各带一份 <aside class="sidebar"> 与 <h5>Learning objectives</h5>;Cover 与 Summary 为整页(.slide.full)无侧栏——符合「持续显示」意图。
- [ok] MCQ 自测页是否可判分 — 正确项带 .mcq.correct 且文案含「✓ Correct.」;侧栏同步把前 4 条标 done、第 5 条标 current。
- [ok] SKILL.md 的「含 MCQ 自测页」是否与示例一致 — 示例第 6 页即 <p class="kicker">CHECK YOUR UNDERSTANDING</p> 的单选题页,claim 无夸大。
- [ok] 目录内是否有脚本 / 网络调用 / 凭证读取 — 目录仅 SKILL.md + example.html;<script> 计数 0;无 fetch/XHR/env/写盘代码;无凭证读取。
- [ok] SKILL.md 是否要求运行时外链 — SKILL.md 只声明字族(Playfair serif / warm paper bg)与页序,全文无 URL;字体 @import 属 example.html(产物示例)。
- [ok] pin commit 与路径 — HEAD = 553ed98c283f9c0f489902d035416a972d6a9699;skill.path = next/src/lib/templates/skills/deck-course-module,含 SKILL.md。
- [ok] README 收录一致性 — README deck 表列出 deck-course-module(Course module deck),与目录内容相符。
6結論
f859affcf97be929…