1实现原理 · 为什么它能做到
调色板不是「选几个颜色」而是 5 套四件套色彩角色(ink / paper / paper-tint / ink-tint),每套绑定使用场景,并明令严禁改 hex、严禁混用——hex 一改,整套印刷感就散了。
- 🖋 **墨水经典 Monocle** — ink `#0a0a0b`, paper `#f1efea`, paper-tint `#e8e5de`, ink-tint `#18181a`. 默认 / 通用商业 / 科技。
版式池 L01–L10 是「磁带式」可复用清单:数量由用户内容决定、同版式可在不同章节重复,短内容 6-12 张起步、长内容应更多。
【布局 — 10 个磁带式版式池, 可复用; **数量由【用户内容】决定**, 完整覆盖每个要点; 短内容 6-12 张起步, 长内容应更多 (同一版式可在不同章节重复使用)】
负向清单同样锁死:严禁渐变 / drop-shadow / 圆角 / 圆形装饰 / blur / SVG 图标库 / emoji 装饰——用「不许做什么」保证墨纸印刷感,而不是靠模型自觉。
- **严禁**: 渐变 / drop-shadow / 圆角 / 圆形装饰 / blur / SVG 图标库 / emoji 装饰。
杂志感由三个微观细节承担:11px uppercase + 0.12em 字距的 kicker、右下 folio「01 / 12」、顶部 hairline rule + 期刊 logo / topic。
- **杂志感细节**: kicker 用 11px uppercase letterspacing 0.12em; folio 右下角 `01 / 12`; 顶部细 hairline rule + 期刊 logo / topic。
示例用 Tailwind CDN + 少量自定义类演绎 2 个版面(L02 章节封页 + L03 数据格):.paper / .ink 反色、.display / .body-serif 衬线、.folio 用 tabular-nums 对齐数字。
<!-- L03 Big Numbers Grid · paper -->
内容真实性同样是硬约束:不许数据捏造、不许 Lorem ipsum、不许占位图片 URL,所有插图必须用纯 CSS / SVG 内联描绘。
- **不许**: 数据捏造、Lorem ipsum、占位图片 URL。所有图请用纯 CSS / SVG 内联描绘 (色块 + 简笔)。
来源与改编:frontmatter 记 example_source_url 指向 op7418/guizang-ppt-skill,正文致谢「Inspired by op7418/guizang-ppt-skill Style A」;README 称其 vendored 并保留原 LICENSE 与署名。
`deck-guizang-editorial` is vendored directly from [`op7418/guizang-ppt-skill`](https://github.com/op7418/guizang-ppt-skill) with original LICENSE and authorship preserved.
运行时由宿主承担:模板目录零可执行文件,prompt 由 assemblePrompt 拼装后交本地 agent CLI。
export function assemblePrompt(opts: {
2核心能力
3外部依赖
| 类型 | 依赖 |
|---|---|
| network | Google Fonts(Playfair Display / Inter / Noto Serif SC / Noto Sans SC) |
| network | Tailwind Play CDN(出现在产物示例 example.html 的 <script src>) |
| network | 第三方 skill 来源标注(frontmatter example_source_url,仅作出处记录,非运行时调用) |
4风险提醒 风险提醒:绿色 · 放心使用
- 宿主侧:预览 iframe 放宽沙箱 — template-picker.tsx 用 srcDoc + sandbox="allow-scripts allow-same-origin";同源脚本可自行摘除沙箱,属宿主实现风险,不判档。
- 宿主侧:会 spawn 本地 agent CLI — convert 路由经 invokeAgent 以本地已登录 CLI 执行 prompt。
- 产物示例含 CDN 外链 — example.html 引 cdn.tailwindcss.com 与 fonts.googleapis.com(见 security.reason):若要求产物完全离线自包含,需自行替换为内联样式与系统字体。
- 第三方来源授权链不完整 — README 声称保留原 LICENSE,但本 commit 目录内无 LICENSE 文件;下游若要再分发该模板,需回到上游 op7418/guizang-ppt-skill 核对授权。
- 禁区密集,改样式成本高 — 严禁渐变 / 圆角 / 投影等意味着想「现代化改造」必须重写整套主题,而非微调参数。
5第二遍独立确认
- [discrepancy] README 称 vendored 保留原 LICENSE,但该目录内是否有 LICENSE 文件 — 该 pin 的 next/src/lib/templates/skills/deck-guizang-editorial/ 下只有 SKILL.md、example.html、example.md,没有 LICENSE(deck-swiss-international/ 同样只有这三个文件)。README 的「original LICENSE ... preserved」在本 commit 未落到目录内;署名则保留于 frontmatter example_source_* 与正文致谢。
- [ok] 「10 个版面」是否在 SKILL.md 内真实列全 — 正文 L01-L10 十条齐备(Hero Cover / Act Divider / Big Numbers Grid / Quote+Image / Image Grid / Pipeline / Hero Question / Big Quote / Before-After / Mixed Media)。
- [ok] 5 套调色板是否都给全 hex — 墨水经典 / 靛蓝瓷 / 森林墨 / 牛皮纸 / 沙丘各给 ink、paper、paper-tint、ink-tint 四个 hex(如墨水经典 #0a0a0b / #f1efea / #e8e5de / #18181a)。
- [ok] 「严禁改 hex」是否与示例一致 — 示例 .paper{background:#f1efea} 与 .ink{background:#0a0a0b} 正是墨水经典 Monocle 的 paper / ink 值,色值未被改动。
- [ok] 目录内是否有脚本 / 凭证读取 / 写盘 — 三个文件均为文本;无 .sh/.py/.mjs,无 env 或凭证访问,无写盘代码。端点仅字体与 Tailwind CDN(见 security.reason)。
- [ok] 是否存在 WebGL / 动态描述被夸大 — 本模板未声称 WebGL 或动态效果;示例为静态双页展示,无需 JS 即成立。
- [ok] pin commit 与路径 — HEAD = 553ed98c283f9c0f489902d035416a972d6a9699;skill.path = next/src/lib/templates/skills/deck-guizang-editorial,含 SKILL.md。
6结论
6176059da9e335cc…553ed98c28