1实现原理 · 为什么它能做到
该 skill 是 html-anything 的「模板包」:frontmatter 供选择器取元数据,SKILL.md 正文(frontmatter 之后的 body)被 loader 原样读出后作为模型指令。
next/src/lib/templates/loader.ts
const { fm, body } = parseFrontmatter(raw);
本模板正文 26 行 / 650 字节(只列意图 + 10 条页面清单);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 → Problem·Solution·Why Now → Product → Market → Traction → Business model → GTM → Team → Ask → Thanks。
next/src/lib/templates/skills/deck-pitch/SKILL.md
- Ask: $4.5M-style page
同段还有「- Traction (柱状图大数字)」「- Market size (TAM/SAM/SOM)」等,构成投资人路演的经典顺序。
frontmatter 直接编码了「10 页」与配色方向,站点详情页与预览不加解释即可展示。
next/src/lib/templates/skills/deck-pitch/SKILL.md
description: "10 页融资 deck, 白底 + 蓝紫渐变 hero, traction 柱状, $X.XM ask"
同一份 description 被 loader 读为 SkillMeta.description,也是本条目 official_desc 的来源。
CLI 关键词路由把中文路演词映射到本模板:融资 / 路演 / 投资人 / BP 命中即选 deck-pitch。
cli/src/skills-matcher.ts
[["pitch", "融资", "pitch deck", "路演", "投资人", "BP"], "deck-pitch"],
同表的兜底是 deck-swiss-international(通用 PPT 词),本模板负责更窄的融资语义。
页容器符合全仓 deck 约定:example.html 的 10 个 <section> 均带 class 含 slide,可被应用侧 deck.ts 逐页解析。
next/src/lib/deck.ts
const SLIDE_RE =
约定写在 deck.ts 头部注释:每个 deck skill 的页面是 <section class="slide" data-slide-id="N">;应用侧据此启用逐页渲染与导出。
2核心能力
0110 页投资人叙事骨架(Cover/Problem·Solution·Why Now/Product/Market/Traction/Business model/GTM/Team/Ask/Thanks)
02Traction 页用柱状图 + 大数字呈现,Market 页用 TAM/SAM/SOM 框定市场
03Ask 页固定为融资金额句式($4.5M-style page),把「要多少钱」写成独立一页
04产品页预留截图位(Product (截图占位)),把图交给用户内容而不是编造视觉
05视觉方向由 frontmatter 声明:白底 + 蓝紫渐变 hero,供选择器与详情页展示
06CLI 自然语言路由:pitch / 融资 / 路演 / 投资人 / BP → deck-pitch
07站点侧归类为财务场景(scenario: finance),与 design/product 类模板区分
3外部依赖
| Kind | Dependency / Endpoint |
|---|---|
| cli | 宿主本机 agent CLI(由 html-anything 侧 spawn,非本 skill 指令) |
| network | Google Fonts(产物示例引用,非 skill 正文要求) |
4管控建议与判定依据
建议配套管控措施
面向 Agent
声明可访问域名与密钥范围
面向管理者
密钥最小权限,保留请求日志
判定依据(文件路径与关键语句摘要)
- 网络端点: 声明外部网络访问: example.html 顶部有 8 条 Google Fonts @import(fonts.googleapis.com),在预览 iframe
审计说明: 。判级对象=skill 目录(SKILL.md + example.html):目录内无可执行脚本、无凭证读取、无写盘指令;SKILL.md 正文零 URL、零 CDN/接口要求,页面清单与组织方式纯文字描述。目录内实际出现的端点是 example.html 的 8 条 Google Fonts @import(fonts.googleapis.com),属产物引用(浏览器渲染时才拉取)。本仓 html-anything 模板按批4口径统一 🟢 绿档:判级对象=skill 自身目录;宿主壳(loader.ts/assemblePrompt/本地 agent CLI/预览 iframe)与 example.html 里的字体、CDN 引用属产物期行为(由浏览器拉取、skill 执行时不外发),只写进 reason/risks,不判档。
5第二遍独立确认
- [ok] 文件清单(2 个文件,无脚本) — SKILL.md(650B) + example.html(28988B);无 .sh/.py/.js/.ts。
- [ok] 正文零端点复核 — SKILL.md 内 http/CDN/fetch/script/API 零命中;仅含页面清单与意图句。
- [ok] 目录内端点自证 — example.html 命中 8 条 fonts.googleapis.com 字体 @import;无远程 script、无 fetch/XHR。
- [ok] 无凭证读取 — key/secret/token/.env 零命中。
- [ok] 无写盘指令(且共享指令禁止文件工具) — SKILL.md 无 write/save 类词;shared.ts 明令禁止 Write/Edit/Bash。
- [ok] 10 页骨架逐条可复核 — Cover / Problem · Solution · Why Now / Product / Market size / Traction / Business model / Go-to-market / Team / Ask / Thanks 全在正文。
- [ok] official_desc 逐字命中 — 与 SKILL.md 第 6 行 description 引号内文本逐字一致。
- [ok] CLI 路由行真实存在 — cli/src/skills-matcher.ts 第 60 行 deck-pitch 行逐字命中。
6结论
适合: 适合需要快速产出 seed/Pre-A 级融资 deck 的创始人或投融资同学:把 BP 材料丢进来,得到 10 页固定骨架的 16:9 HTML deck,可直接转 PNG/PPTX。也适合演示「薄模板 + 共享设计指令」的 skill 写法。
不适合: 不适合需要严格品牌规范(指定 hex、指定字体授权)的场合——本模板正文不锁色值;不适合非融资类汇报(骨架是为投资人叙事设计的);不适合超长材料(骨架无数据附录类页面,长内容会被拆成多页正文)。
Install Agent-Ready
① Verified Mirror 2026-09-15
Option A · Direct DownloadDownload deck-pitch.tar.gz
sha256:
Option B · Copy Guide for Agent1572cd859b9a8468…agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
② Upstream GitHub
GitHub Repo ↗
Pinned to commit 553ed98c28.