deck-simple
General-purpose horizontal-swipe HTML deck, no magazine-like tone
1How It Works & Mechanism
This skill acts as a "template package" for html-anything: frontmatter is used by the selector to retrieve metadata, and the SKILL.md body (after frontmatter) is loaded verbatim by loader as model instructions.
const { fm, body } = parseFrontmatter(raw);
The actual prompt sent to the model = shared design instructions + this template body + [Input Format] + [User Content]; the shared instructions also include an override rule stating that the page count/layout numbers in the template are not upper limits.
return `${SHARED_DESIGN_DIRECTIVES} ${opts.body.trim()}
Output discipline is strictly enforced by shared instructions: the agent is forbidden from using any filesystem tools; HTML must be streamed as text via stdout and persisted to disk by the frontend.
- **禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。不要把 HTML 写到任何
Horizontal swiping is implemented using CSS scroll-snap: body of example.html uses scroll-snap-type: x mandatory without depending on any third-party libraries.
scroll-snap-type: x mandatory;
Self-determined slide count: cover + N content slides + closing; starting at 6-10 for short content, more for long content, with each slide having only one core message + one image/chart.
- 每页一个核心信息 + 1 张图 / 1 个图表
Keyboard navigation and hash synchronization are specified in the body: ← / → switching + hash sync, making it easy to share specific slides.
- 键盘 ← / → 切换 + hash 同步
Slide containers follow the repo-wide deck convention: all 6 sections in example.html include slide in their class (using data-od-id rather than data-slide-id).
const dataId = extractAttr(openTag, "data-slide-id");
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | 宿主本机 agent CLI(应用侧 spawn;非本 skill 指令) |
| package | 无第三方包/字体依赖(产物样例自包含) |
4Recommended Governance & Evidence
- 网络端点: External network access declaration: Zero external endpoints in directory: example.html contains no http(s) URLs, no remote <script>, no @import; only inline <script> (navigation
5Second-Pass Verification
- [ok] 文件清单(2 个文件,无脚本文件) — SKILL.md(651B) + example.html(7489B);无 .sh/.py/.js/.ts。
- [ok] 正文零端点复核 — SKILL.md 内 http/CDN/fetch/script 零命中。
- [ok] 目录内端点自证(零命中) — example.html 全文件无 http(s)://、无 @import、无远程 <script>;仅有内联 <script> 与系统字体栈。
- [ok] 无凭证读取 — key/secret/token/.env 零命中。
- [ok] 无写盘指令 — SKILL.md 无 write/save 类指令;shared.ts 明令禁文件工具。
- [ok] 产物的横向翻页为纯 CSS — example.html「scroll-snap-type: x mandatory;」与 .slide 的 scroll-snap-align 定义,无需第三方库。
- [ok] official_desc 逐字命中 — 与第 6 行 description 引号内文本一致。
- [ok] CLI 路由行存在 — cli/src/skills-matcher.ts 第 62 行 simple 行逐字命中。
6Verdict & Scenarios
eb7207bfa03a44b8…