Dashi PPT Skill · 大师 PPT / 网页 PPT / 可编辑 PPTXBLOCK
An AI-agent skill that generates browser-editable presentations from multiple visual themes, exportable to HTML, PDF, and PPTX.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](./LICENSE)
English · 简体中文
一个真正适合职场人的 PPT Skill。把文档丢给你的 AI Agent,每一页都自带编辑控制台的 PPT Skill——不满意的地方直接在浏览器里改,改完还能一键导出成真实的、可编辑的 PPTX。
- 12 套视觉主题
- 1020 个版式页面
- 8576 个可调控件
12 套内置视觉主题
Skill 会展示预览让你选择主题,可以随时让 Agent 整套换掉。下面每套主题的预览,都是从它自己的版式库里挑出的 4 个正文版式(图表、分析模型、卡片、目录等),全部由这个 Skill 真实渲染,非示意图:
b54f1ff9cce3OBSERVED · 2026-10-20Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| codex | mentioned | |
| cursor | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: dashi-ppt
description: 制作 PPT、演示文稿、幻灯片、汇报材料时使用。Dashi PPT 基于预置视觉主题组合页面,生成可离线打开、可在浏览器编辑的 HTML 演示,支持导出 PPTX / PDF 文件。
---
# Dashi PPT
Dashi PPT 生成静态 HTML 横向翻页 PPT。使用本 skill 时,先把用户的自然语言需求整理成 JSON 计划,再调用本地项目生成器输出 `index.html` 和 `assets/`。
## 版本
当前版本: `0.4.14`
每次完成用户请求、准备最终回复前,运行:
```bash
node <skill-root>/scripts/check_latest_version.mjs
```
如果脚本有输出,把输出内容附在最终回复末尾提醒用户更新;如果脚本无输出或检查失败,保持静默,不要提版本检查。
## Skill 目录
当前 `SKILL.md` 所在目录就是 Skill 根目录,下文记为 `<skill-root>`。
内置生成器目录:
`<skill-root>/project`
渲染脚本:
- macOS / Linux: `<skill-root>/scripts/render_goal_deck.sh`
- Windows PowerShell: `<skill-root>/scripts/render_goal_deck.ps1`
版本检查脚本:
`<skill-root>/scripts/check_latest_version.mjs`
## 生成原则
本 Skill 为每个逻辑页生成 3 个模板方案和 1 个 Agent 定制方案,输出可离线打开的 HTML PPT。
前三个模板方案使用“锁模板填文案”:保留所选页面组件的原始视觉、结构、数量、显隐、强调、配色、图表类型和图片槽位,只替换可见文字内容。除非用户明确要求调整页面属性,不要改任何非文案 props。第四个方案由 Agent 在当前主题视觉语言内按本页内容定制,不属于模板候选。
成果验收是默认流程。每次生成后都要判断最终产物是否达到用户目标;默认检查目标、内容、结构、明显可见问题和交付完整性,不做截图审美精修,不因普通断行反复返工。用户明确要求“视觉精修”“100% 检查”“帮我调到满意”时,再扩展为视觉 QA。
## 使用规则
- 运行生成器需要 Node.js 20+ 和 npm;首次生成时渲染脚本会在 Skill 内置 `project/` 目录安装依赖。Windows 用 `render_goal_deck.ps1`(直接 PowerShell,不经 WSL/bash);macOS / Linux 用 `render_goal_deck.sh`。
- 风格选择提问:用户可见回复必须嵌入 `<skill-root>/assets/skill/theme-style-grid.png` 的 Markdown 图片,先展开绝对路径;这是回复展示用内置风格图,不可写入 `goal.json` 或任何 media 字段;列出当前可选风格和极简“适合/人群”,不能只在内部进度提示中提到风格图。
- 开工前确认两件事:主题风格、是否需要图片/视频。用户未明确表达且非整体委托时,先提问等答复,不得代选;无法提问的环境(脚本/批处理)才自选,并在交付说明中列出所选与理由。
- 委托模式:仅当用户对整体明确委托(“都你来定”“不用问,直接开干”)时,才自选主题、默认 HTML、默认不使用 image-gen,最终说明假设。用户只说内容/文案“随意”“自拟”时,仅自拟内容;风格、页数、媒体等已给的不得擅自改变,未给的按上一条先问。
- 非交互/一次性执行(无法追问)时:未指定风格按内容主题自选已验收主题;无真实素材且不能生图时优先选无媒体页,不调 image-gen;最终说明全部假设。
- Deck 语言跟随用户沟通语言:非中文用户在 `goal.json` 顶层加 `"language": "en"`;全部文案字段用目标语言撰写,页面自带的默认中文文案(含结尾页“感谢阅读”类装饰字段)一律覆盖,不得残留中文。编辑器界面语言自动跟随打开者的系统语言,右上角可手动切换,无需在生成时处理。
- 交付格式:默认 HTML;“生成 PPT”“做 PPT”“做一个 PPT”“制作 ppt”表示 PPT 呈现形态。只有明确 `PPTX`、`PowerPoint`、`可编辑 PPTX`、`导出 PPTX`、`PPT 格式` 或“格式/文件类型为 PPT/PPTX”时才交付 PPTX 文件。
- PPTX 文件:仍先生成 HTML 并启动本机预览服务,再调用本机 HTTP 导出服务;最终只给 PPTX 文件路径或下载结果。
- 当前可选风格: `theme01` 轻拟态风、`theme02` 炫光紫绿风、`theme03` 深浅代码风、`theme04` 玻璃糖果风、`theme05` 色谱图表风、`theme06` 深色图谱风、`theme07` 冷白调研风、`theme08` 黑金实验风、`theme09` 深蓝杂志风、`theme10` 金色指数风、`theme11` 高能增长风、`theme12` 声波霓虹风。
- 普通自动选择不选 `theme10`;只有用户明确指定,或金融/投资指数内容强相关且 inspect 确认可填时才用。
<!-- theme-choice-hints:start -->
- `theme01` 轻拟态风 | 适合: 产品介绍 / 企业汇报 | 人群: 创业团队 / 产品经理
- `theme02` 炫光紫绿风 | 适合: 科技发布会 / AI/自动驾驶/机器人主题 | 人群: 科技公司创始人 / 技术负责人
- `theme03` 深浅代码风 | 适合: 技术方案 / 开发者大会 | 人群: 工程师 / 技术管理者
- `theme04` 玻璃糖果风 | 适合: 年轻化品牌 / 消费产品 | 人群: 品牌团队 / 设计师
- `theme05` 色谱图表风 | 适合: 数据报告 / 市场分析 | 人群: 数据分析师 / 咨询顾问
- `theme06` 深色图谱风 | 适合: 高密度数据展示 / 战略分析 | 人群: 战略团队 / 投资人
- `theme07` 冷白调研风 | 适合: 调研报告 / 白皮书 | 人群: 研究机构 / 咨询团队
- `theme08` 黑金实验风 | 适合: 高端发布 / 品牌提案 | 人群: 高端品牌 / 创意总监
- `theme09` 深蓝杂志风 | 适合: 品牌故事 / 人物访谈 | 人群: 公关团队 / 媒体编辑
- `theme10` 金色指数风 | 适合: 金融数据 / 投资报告 | 人群: 投资机构 / 金融分析师
- `theme11` 高能增长风 | 适合: 增长复盘 / 商业计划 | 人群: 创业者 / 增长团队
- `theme12` 声波霓虹风 | 适合: 音乐娱乐 / 潮流活动 | 人群: 娱乐品牌 / 活动策划
<!-- theme-choice-hints:end -->
- 不使用旧 token、旧主题、旧媒体槽、旧风格分支或旧入场动画控制。
- 选页先用 `npm --prefix <skill-root>/project run layout:query -- --theme <themePack> --role <role> --limit 8 --seed <randomSeed>:slide-<n>`;每个逻辑页的 3 个模板方案必须是结构指纹不同的 layout。相同 seed 和输入必须稳定,也不要固定只用未打散列表的前三条。跨逻辑页允许在候选稀缺时复用,由既有跨页 layout/组合/family 软惩罚降低重复。需要媒体槽时加 `--needs-media`、`--planned-images <n>`、`--provided-images <n>` 或 `--image-gen`。
- 字段不清楚、对象/数组/count、图片/媒体:先运行 `npm --prefix <skill-root>/project run inspect:layout -- --compact <layout...>` 检查该页 3 个模板方案;单 layout 写 props 时运行 `props:safe`;schema v2 结构投影 goal 运行 goal spec 校验,不要用 `props:safe --write` 回填 props。
- 把 `layout:query` / `inspect:layout` 的 JSON 管道给程序解析时,改用 `node <skill-root>/project/scripts/layout-query.mjs` / `node <skill-root>/project/scripts/inspect-layout.mjs`:`npm run` 会在 stdout 前打印生命周期 banner,污染 JSON。
- 标准 3+1 deck:必须先逐页写 `output/<deck-name>/page-content-pack.json`,每页使用稳定 id 和下列完整 PageContentPack 结构;再运行 `npm --prefix <skill-root>/project run goal:scaffold -- --title <title> --goal <goal> --theme <themePack> --pages <n> --layout-variants 3 --content-plan output/<deck-name>/page-content-pack.json --seed <randomSeed> --chunk-size 5 --out output/<deck-name>/goal.json`。schema v2 的 3 个模板方案和 v4 定制方案必须由该 content plan 生成;没有 `--content-plan` 时不要使用 `--layout-variants 3`。
```json
{
"pages": [{
"id": "page-1",
"presentation": {
"pageIntent": "cover",
"coreMessage": "本页唯一核心结论",
"title": {"full": "完整标题", "short": "短标题"},
"summary": {"full": "完整摘要", "short": "短摘要"},
"items": [{"id": "fact-1", "label": "指标名称", "detail": {"full": "完整说明", "short": "短说明"}, "value": 42, "displayValue": "42", "unit": "%", "required": true, "priority": "high"}],
"chartData": [{"id": "fact-1", "label": "指标名称", "value": 42, "displayValue": "42", "unit": "%"}],
"media": [{"src": "assets/example.png", "kind": "image", "type": "image/png", "alt": "图片说明"}]
}
}]
}
```
- 文案长度和数组数量:优先按 `fillPlan.text[].maxChars`、`fillPlan.arrays[].visibleCount`、`fillPlan.arrays[].nestedArrays` 写;`display` / `metric` 字段只写短词、短句或数字。
- Html 字段(如 `headlineHtml` / `quoteHtml`)写文案只用 `<br>` 换行加 `<b>` / `<em>` 行内强调,禁止 `<span>` 等自由 HTML;主题默认值里的 `<span class>` 依赖主题 CSS,只是占位,不要照抄。`validate:goal-spec` 会拦截自由 HTML。
- 可见数组项必须写实文案;被 count/显隐控制隐藏的尾项可保留“请输入文本”占位。
- 元素出现动画使用页面组件自带的原生效果。
- 页面切换动画可以在预览控制面板里调整。
- 面向用户交付的 deck 默认不显示风格/主题切换选项;风格切换只保留在内部调试 demo 页面。用户明确要求保留主题切换时,在 goal 顶层写 `preview: {"themeSwitcher": true}`。
- 不手写自由 HTML slide。新生成 deck 使用 `schemaVersion: 2`;每个逻辑页只保存一份 `content`,前三项只保存 `{kind:"template", layout, contentMap, projection}` 的结构目标与 source binding,第四项保存 `{kind:"bespoke", adjustable:false, composition, contentMap, projection}` 的网格/type/style 与 source binding;goal 不持久化模板 props 或 bespoke 文案、指标、列表、图表、media src/alt 业务副本。v4 不写 `layout`、`props` 或 `controls`。
- 每套主题的前 5 页 `themeXX_page001` 到 `themeXX_page005` 都是封面候选。一个 deck 只能有 1 个逻辑封面页;标准 PageContentPack 3+1 中 `pageIntTrust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (12 observation(s))
- Network
- declared (7 observation(s))
- Shell
- declared (2 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (20)
https.get(url, { rejectUnauthorized: false }, response => {"slot": "beacon",
- HTML 交付:给用户的预览地址只给 `http://127.0.0.1:<port>/`(不给 https 或 .local 变体);本机 HTTP 可导出 HTML/PDF/PPTX,本地 HTML 或 `file://` 不能导出可编辑 PPTX。不要返回 `theme-preview`。在自带浏览器的 Agent APP(如 Codex)里生成时,提醒用户导出 PDF/PPTX 前把该
11. 渲染脚本会启动本地 HTTP 预览服务并输出 `http://127.0.0.1:<port>/`;需要指定端口时设置 `DASHI_PPT_PREVIEW_PORT` 后再运行脚本(端口用 5200-5999 段,4178/4300/4400 为用户保留端口不可用)。只能用该预览服务,不得用 `python -m http.server`、`npx serve` 等静态服务器替代:静态服
15. 验收通过后按交付格式回复:HTML 只给 `http://127.0.0.1:<port>/`;PPTX 调用 `/api/export-editable-pptx` 后只给文件路径或下载结果。
const PLACEHOLDER_POSTER_B64 = '/9j/4AAQSkZJRgABAgAAAQABAAD//gAQTGF2YzYyLjI4LjEwMAD/2wBDAAgEBAQEBAUFBQUFBQYGBgYGBgYGBgYGBgYHBwcICAgHBwcGBgcHCAgICAkJCQgICAgJCQoKCgwMCwsODg4RERT/xABLAAEBAAAAAAAAAAAAAAAA
import('../../packages/html-deck-to-pptx/src/editable.mjs'),import('../../packages/html-deck-to-pptx/src/screenshot.mjs'),import { getDecorativeKeys } from '../../src/components/themes/decorative-overrides.mjs';} from '../../src/prop-contract-core.mjs';
import { getDecorativeKeys } from '../../src/components/themes/decorative-overrides.mjs';- label: 已确认页面是通过 http://127.0.0.1:<端口>/ 打开的(不是双击 HTML 文件) / Confirmed the page was opened via http://127.0.0.1:<port>/ (not by double-clicking the HTML file)
'手动方式:在终端运行 npm --prefix <skill-root>/project run preview:start -- <输出 ppt 目录> <port>,再用它输出的 http://127.0.0.1:<port>/ 打开导出。': 'Manual option: run npm --prefix <skill-root>/project run preview:start --
gsap, html-to-image, pptxgenjs, react, react-dom, tsx, esbuild, pngjs
pdf-lib, pngjs
skills/dashi-ppt/assets/skill/theme-style-grid.png
skills/dashi-ppt/project/dist/theme-runtime/imported-theme-runtime.theme04.js
skills/dashi-ppt/project/dist/theme-runtime/imported-theme-runtime.theme05.js
skills/dashi-ppt/project/dist/theme-runtime/imported-theme-runtime.theme07.js
skills/dashi-ppt/project/dist/theme-runtime/imported-theme-runtime.theme08.js
Gates applied: no_behavioural_pass.
b54f1ff9cce3full audit observations/trust-audit/skill/chuspeeism__dashiai-ppt.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-20 | b54f1ff9cce3 | BLOCK | D | 69 | first audit |
Questions
What does the dashiai-ppt — chuspeeism/dashiai-ppt-skill skill do?
An AI-agent skill that generates browser-editable presentations from multiple visual themes, exportable to HTML, PDF, and PPTX.
Is dashiai-ppt — chuspeeism/dashiai-ppt-skill safe to install?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.
What can dashiai-ppt — chuspeeism/dashiai-ppt-skill access on my machine?
The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.
Which assistants does dashiai-ppt — chuspeeism/dashiai-ppt-skill work with?
Its documentation mentions claude-code, codex and cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (b54f1ff9cce3), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/chuspeeism/dashiai-ppt/)
Not your listing, or something out of date? Claim or update your listing.