1实现原理 · 为什么它能做到
该 skill 是 html-anything 的「模板包」:frontmatter 供选择器取元数据,SKILL.md 正文(frontmatter 之后的 body)被 loader 原样读出后作为模型指令。
next/src/lib/templates/loader.ts
const { fm, body } = parseFrontmatter(raw);
本模板正文 24 行 / 597 字节(本批 9 个模板里最短);frontmatter 走 parseFrontmatter 拆成 fm/body 两份,目录内没有任何脚本参与。
真正送进模型的 prompt = 共享设计指令 + 本模板正文 + 【输入格式】+【用户内容】;共享指令还带一条覆盖规则,声明模板里的页数/版面数字不是上限。
next/src/lib/templates/shared.ts
return `${SHARED_DESIGN_DIRECTIVES} ${opts.body.trim()}
同文件里紧随的覆盖规则逐字写着:模板只定义"可用版面 / 风格 / 配色 / 字体 / 组件库", **不定义** slide / 帧 / 卡片 / section 的数量。
产出纪律由共享指令硬性约束:禁止 agent 使用任何文件系统工具,HTML 必须以 stdout 文本流式输出、由前端落盘。
next/src/lib/templates/shared.ts
- **禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。不要把 HTML 写到任何
本模板自身不声明落盘方式,完全依赖这条共享约束。
分享叙事用「Cover → Agenda → 正文若干 → Demo → Q&A」五段式组织,正文页以代码块 + 关键观点承载。
next/src/lib/templates/skills/deck-tech-sharing/SKILL.md
- 正文页若干 (代码块 + 关键观点)
同段还有「- Demo 页 (terminal 截图)」与「- Q&A 页」,把技术 talk 的典型环节固定下来。
视觉基调为 GitHub-dark 配色 + JetBrains Mono 等宽,代码可读性优先。
next/src/lib/templates/skills/deck-tech-sharing/SKILL.md
- GitHub-dark 配色 + JetBrains Mono
封面页要求写清议题 + 讲者 + handle,符合会议 talk 的署名惯例。
CLI 关键词路由:tech / sharing / 技术分享 / tech talk → deck-tech-sharing。
cli/src/skills-matcher.ts
[["tech", "sharing", "技术分享", "tech talk"], "deck-tech-sharing"],
同表的「博客/post/文章」映射到 article-magazine,说明「技术内容」按体裁分流到不同模板。
页容器符合全仓 deck 约定:example.html 的 8 个 section 均带 class 含 slide,可进宿主导出链路。
next/src/lib/export/deck.ts
/** Export the deck as a multi-slide PPTX. Each slide goes in as a full-bleed PNG. */
导出 PDF/PNG/PPTX 是宿主能力(export/deck.ts),本 skill 只负责产出符合约定的 HTML。
2核心能力
01技术 talk 五段式结构:Cover(议题+讲者+handle) → Agenda → 正文页若干 → Demo → Q&A
02正文页以代码块 + 关键观点承载,适配工程分享的信息形态
03Demo 页用终端截图位,把现场演示写进结构而非口头补充
04收尾 Q&A 页
05GitHub-dark 配色 + JetBrains Mono 等宽字体,代码可读性优先
06CLI 关键词路由:tech / sharing / 技术分享 / tech talk → deck-tech-sharing
07页容器符合全仓 deck 约定,可进宿主导出链路(PDF/PNG zip/多页 PPTX)
3外部依赖
| Kind | Dependency / Endpoint |
|---|---|
| cli | 宿主本机 agent CLI(应用侧 spawn;非本 skill 指令) |
| network | Google Fonts(产物示例引用,非 skill 正文要求) |
4管控建议与判定依据
建议配套管控措施
面向 Agent
声明可访问域名与密钥范围
面向管理者
密钥最小权限,保留请求日志
判定依据(文件路径与关键语句摘要)
- 网络端点: 声明外部网络访问: example.html 命中多条 fonts.googleapis.com 字体 @import(含 JetBrains Mono);无远程 <sc
审计说明: 。判级对象=skill 目录(SKILL.md + example.html):无可执行脚本、无凭证读取、无写盘指令;SKILL.md 正文零 URL、零 CDN/接口要求(只有结构清单与「GitHub-dark 配色 + JetBrains Mono」这一字体/配色描述)。目录内端点自证:example.html 的多条 fonts.googleapis.com @import(产物引用)。本仓 html-anything 模板按批4口径统一 🟢 绿档:判级对象=skill 自身目录;宿主壳(loader.ts/assemblePrompt/本地 agent CLI/预览 iframe)与 example.html 里的字体、CDN 引用属产物期行为(由浏览器拉取、skill 执行时不外发),只写进 reason/risks,不判档。
5第二遍独立确认
- [ok] 文件清单(2 个文件,无脚本) — SKILL.md(597B) + example.html(30407B)。
- [ok] 正文零端点复核 — SKILL.md 内 http/CDN/fetch/script 零命中(JetBrains Mono 是字族名不是 URL)。
- [ok] 目录内端点自证 — example.html: 多条 fonts.googleapis.com @import(含 JetBrains Mono);无远程 script、无 fetch/XHR。
- [ok] 无凭证读取 — key/secret/token/.env 零命中。
- [ok] 无写盘指令 — SKILL.md 无 write/save 类指令;shared.ts 明令禁文件工具。
- [ok] 五段结构逐条可复核 — Cover(议题+讲者+handle) / Agenda / 正文页若干(代码块+关键观点) / Demo(terminal 截图) / Q&A 全在正文。
- [ok] official_desc 逐字命中 — 与第 6 行 description 引号内文本一致。
- [ok] CLI 路由行存在 — cli/src/skills-matcher.ts 第 74 行 tech-sharing 行逐字命中。
6结论
适合: 适合工程内部技术分享、会议 talk、代码评审开场、新框架宣讲:需要议程 + 代码页 + Demo + Q&A 的标准结构,且偏好暗色开发者审美。
不适合: 不适合需要亮色投影/打印的场合(只有暗色基调);不适合非代码主题的分享(等宽字体与代码块会空转,改用 deck-swiss-international / deck-simple);不适合需要讲者逐字稿的演讲(无 aside.notes 机制)。
Install Agent-Ready
① Verified Mirror 2026-09-15
Option A · Direct DownloadDownload deck-tech-sharing.tar.gz
sha256:
Option B · Copy Guide for Agent0f3b5b26571a3c37…agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
② Upstream GitHub
GitHub Repo ↗
Pinned to commit 553ed98c28.