deck-course-module
Warm paper background + Playfair, persistent left-side learning objectives, includes MCQ self-assessment slide
1How It Works & Mechanism
Slide sequence is strictly structured as an instructional loop: Cover (module title + instructor) → Learning objectives → Main body (concept + examples) → MCQ self-assessment slide → Wrap-up + Next module preview. This is an instructional design framework, not merely a layout recommendation.
- Cover (模块名 + 讲师)
The 'persistent left-side learning objectives' is implemented via a 260px + 1fr CSS grid two-column layout: every body slide duplicates the same <ul class="obj-list"> sidebar so it remains visible across slide transitions, rather than using a fixed-position floating overlay.
.tpl-course-module .slide{padding:64px 80px;background:var(--bg);display:grid;grid-template-columns:260px 1fr;gap:56px;align-content:start}
Learning objectives carry three-state semantics: default ○, completed ●, and current ▸ (toggled via ::before on .obj-list li / li.done / li.current), updating synchronously on each slide as the course advances.
.tpl-course-module .obj-list li.current::before{content:"▸";color:var(--accent-2)}
MCQ self-assessment slide = .mcq list + .mcq.correct highlighting the right answer, with the sidebar displaying 'Self-assess / You should get 3/3', and question prompts being immediately actionable single-choice questions (e.g., Which function will recurse forever?).
<p class="dim" style="font-size:13px">You should get 3/3.</p>
The warm paper palette replaces all pure white: background #fbfaf6, card surface #f6f3ea, accents in teal #2d7d6e / amber #d88a3a, with titles set in Playfair Display 72px.
--bg:#fbfaf6;--bg-soft:#f4f1e8;--surface:#ffffff;--surface-2:#f6f3ea;
Fully equipped with handout components: Exercise dashed boxes (::before renders the '✎ Exercise' badge), dark brown background JetBrains Mono code blocks, concept-box cards, and slide-number footer with 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}
Runtime execution is handled entirely by the host: the template directory contains zero executable files, the prompt is assembled by assemblePrompt and passed to the local agent CLI, and deck pagination is handled by the host deck viewer parsing <section class="slide">.
The convention adopted by every deck skill
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| network | Google Fonts(Playfair Display / Noto Sans SC / JetBrains Mono / Inter) |
| network | 宿主共享指令声明的 Tailwind CDN(宿主侧要求,非本模板要求) |
4Recommended Governance & Evidence
- SKILL.md: Pure prompt instructions and rule text; no script execution or external impact.
5Second-Pass Verification
- [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),与目录内容相符。
6Verdict & Scenarios
f859affcf97be929…