Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add huangrichao2020/pretty-skills --skill dashiai-ppt-pptgit clone --depth 1 https://github.com/huangrichao2020/pretty-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/huangrichao2020/pretty-skills/dashiai-ppt-ppt)<a href="https://agentmods.dev/skills/huangrichao2020/pretty-skills/dashiai-ppt-ppt"><img src="https://agentmods.dev/badge/skills/huangrichao2020/pretty-skills/dashiai-ppt-ppt/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/huangrichao2020/pretty-skills/dashiai-ppt-ppt"><img src="https://agentmods.dev/badge/skills/huangrichao2020/pretty-skills/dashiai-ppt-ppt.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 135 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.05963 |
| Opus 5.5 | $0.00025 | $0.02385 |
| Sonnet 5.5 | $0.00012 | $0.01193 |
| Haiku 4.5 | $0.00006 | $0.00596 |
Grade A, and why
dashiai-ppt scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 250 lines — stays where its author put it; the contents beside it link to each section on GitHub.
DashiAI PPT
DashiAI PPT 生成静态 HTML 横向翻页 PPT。使用本 skill 时,先把用户的自然语言需求整理成 JSON 计划,再调用本地项目生成器输出 index.html 和 assets/。
版本
当前版本: 0.2.0
每次完成用户请求、准备最终回复前,运行:
node <skill-root>/scripts/check_latest_version.mjs
如果脚本有输出,把输出内容附在最终回复末尾提醒用户更新;如果脚本无输出或检查失败,保持静默,不要提版本检查。
Skill 目录
当前 SKILL.md 所在目录就是 Skill 根目录,下文记为 <skill-root>。
内置生成器目录:
<skill-root>/project
渲染脚本:
<skill-root>/scripts/render_goal_deck.sh
版本检查脚本:
<skill-root>/scripts/check_latest_version.mjs
生成原则
本 Skill 是模板编排器。默认目标是快速、稳定地把用户需求套入已登记页面组件,输出可离线打开的 HTML PPT。
默认模式是“锁模板填文案”:保留所选页面组件的原始视觉、结构、数量、显隐、强调、配色、图表类型和图片槽位,只替换可见文字内容。除非用户明确要求调整页面属性,不要改任何非文案 props。
默认不做视觉精修,不做截图审美判断,不因为普通断行或局部排版不完美反复返工。只有用户明确要求“视觉精修”“100% 检查”“帮我调到满意”时,才进入视觉 QA 流程。
使用规则
- 运行生成器需要 Node.js 18+ 和 npm;首次生成时渲染脚本会在 Skill 内置
project/目录安装依赖。 - 风格选择提问:用户可见回复必须嵌入
<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 确认可填时才用。
theme01轻拟态风 | 适合: 产品介绍 / 企业汇报 | 人群: 创业团队 / 产品经理theme02炫光紫绿风 | 适合: 科技发布会 / AI/自动驾驶/机器人主题 | 人群: 科技公司创始人 / 技术负责人theme03深浅代码风 | 适合: 技术方案 / 开发者大会 | 人群: 工程师 / 技术管理者theme04玻璃糖果风 | 适合: 年轻化品牌 / 消费产品 | 人群: 品牌团队 / 设计师theme05色谱图表风 | 适合: 数据报告 / 市场分析 | 人群: 数据分析师 / 咨询顾问theme06深色图谱风 | 适合: 高密度数据展示 / 战略分析 | 人群: 战略团队 / 投资人theme07冷白调研风 | 适合: 调研报告 / 白皮书 | 人群: 研究机构 / 咨询团队theme08黑金实验风 | 适合: 高端发布 / 品牌提案 | 人群: 高端品牌 / 创意总监theme09深蓝杂志风 | 适合: 品牌故事 / 人物访谈 | 人群: 公关团队 / 媒体编辑theme10金色指数风 | 适合: 金融数据 / 投资报告 | 人群: 投资机构 / 金融分析师theme11高能增长风 | 适合: 增长复盘 / 商业计划 | 人群: 创业者 / 增长团队theme12声波霓虹风 | 适合: 音乐娱乐 / 潮流活动 | 人群: 娱乐品牌 / 活动策划
- 不使用旧 token、旧主题、旧媒体槽、旧风格分支或旧入场动画控制。
- 选页先用
npm --prefix <skill-root>/project run layout:query -- --theme <themePack> --role <role> --limit 8;需要媒体槽时加--needs-media、--planned-images <n>、--provided-images <n>或--image-gen。候选顺序每次随机,从中任选合适的即可,不要固定只用列表第一条。 - 字段不清楚、对象/数组/count、图片/媒体:先运行
npm --prefix <skill-root>/project run inspect:layout -- --compact <layout...>;写对象、数组、数量或图片 props:运行props:safe,整份 goal 用props:safe -- --goal <file> --write。 - 把
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。 - 长 deck:先用
npm --prefix <skill-root>/project run goal:scaffold -- --title <title> --goal <goal> --theme <themePack> --pages <n> --chunk-size 5 --out output/<deck-name>/goal.json生成唯一 layout 骨架和goal.fill-plan.json,再按fillPlan分段补 props。 - 文案长度和数组数量:优先按
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;面向用户交付的每页必须写
layout+props。role只允许在草稿阶段辅助选页,渲染前必须换成具体layout。 - 每套主题的前 5 页
themeXX_page001到themeXX_page005都是封面候选。一个 deck 只能从前 5 页中选择 1 页作为封面,不要同时使用多个封面页;正文页从第 6 页以后选择。 - 同一套 PPT 中不要出现重复的页面组件:最终
slides[].layout必须唯一。选页时记录已用layout,不同内容页要换同主题其它候选,不要通过改文案复用同一个 layout。 - 面向用户交付的 deck 不能只写
role后依赖页面默认文案。除非用户明确要默认 demo,每一页可见内容都必须写和用户主题对应的props文案。 - 优先只写
layout:query/inspect:layout暴露的文案字段。字段是对象或数组时按fillPlan和propShapes填内部 key。copyKeys已展开嵌套路径(如copy.quote、items[].label),按列出的路径直接填。 inspect:layout标contentLocked: true的页正文由组件固定、props 填不进:换一页能填正文的布局,或仅当用户接受其默认正文时使用。数组按fillPlan.arrays[].visibleCount填满可见项;decorativeKeys是装饰位,不要填。- 不要改页面元数据、组件源码、className、CSS、样式字段或默认视觉结构来完成内容填充。只在
props内填写内容和用户明确要求的页面属性。 - 允许用顶层
text覆盖可见文字槽位,但只用于替换文字内容。不要在普通生成中启动浏览器批量抽取全页面文本槽位;只有用户明确要求“彻底清除所有模板默认文案/逐页校对可见文案”时才做运行时槽位抽取。 - 禁止复用
output/里已有的旧goal.json或旧 HTML。每次请求都新建本次输出目录和本次 JSON 计划。 - 输出目录写在当前会话工作目录,不要写入
<skill-root>/project/output。 - HTML 交付:给用户的预览地址只给
http://127.0.0.1:<port>/(不给 https 或 .local 变体);本机 HTTP 可导出 HTML/PDF/PPTX,本地 HTML 或file://不能导出可编辑 PPTX。不要返回theme-preview。在自带浏览器的 Agent APP(如 Codex)里生成时,提醒用户导出 PDF/PPTX 前把该地址在系统浏览器中打开。 - PPTX 交付:调用
/api/export-editable-pptx;最终只给 PPTX 文件路径或下载结果。 - 无浏览器会话、脚本直调、或预览导出接口返回 403/5xx 时:改用
npm run export:pptx -- <deck>/ppt <out.pptx>(PDF 用export:pdf)直接产出文件,不需要先起浏览器会话。 - 如果输出正文里出现与用户主题无关的默认文案,例如 AI Capital / 投融资 / SoundWave / 声浪 / Key Metrics / Roadmap / End of Report 等,必须重写 JSON 后重新渲染,不能交付。
What ships with it
24 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- content.md 13 KB
- dashiai-ppt传统PPT讲解-v2.pdf 6293 KB
- dashiai-ppt传统PPT讲解-v3.pdf 1469 KB
- dashiai-ppt传统PPT讲解-v4.pdf 1467 KB
- dashiai-ppt传统PPT讲解.pdf 6898 KB
- images/p1-cover.png 90 KB
- images/p2-cover.png 125 KB
- images/p2-painpoints.png 125 KB
- images/p3-cover.png 145 KB
- images/p3-workflow.png 145 KB
- images/p4-cover.png 155 KB
- images/p4-themes.png 155 KB
- images/p5-cover.png 134 KB
- images/p5-install.png 134 KB
- images/p6-cover.png 54 KB
- images/p6-usage.png 54 KB
- images/p7-cover.png 183 KB
- images/p7-layout.png 183 KB
- images/p8-cover.png 166 KB
- images/p8-stock.png 166 KB
- images/p9-comparison.png 116 KB
- images/p9-cover.png 116 KB
- manifest.json 1.7 KB
- README.md 3.9 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 250 lines · 62 tokens per session scan A af056672a2c1
dashiai-ppt is a skill published in the GitHub repository huangrichao2020/pretty-skills (54 stars, last pushed 1mo ago), licensed MIT. It adds 62 tokens to every session and 5,963 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
story-long-write
A Chinese-language coaching workflow for creating a long online novel from the initial idea through the outline and chapter text. It starts by defining the intended emotion, then uses research and story-planning stages to guide writing.
story-import
A Chinese-language workflow for turning an existing novel into a structured writing project that can be continued later.
story-review
A review process for finding problems in a novel’s structure, characters, wording, and world rules. It can use several reviewers or one reviewer when others are unavailable.
story-short-write
A tool for writing complete short online novels, from the initial idea through the finished manuscript. It focuses on a single main emotional effect and usually uses first-person narration.
story-long-analyze
A structured process for deeply analysing a long online novel, starting with its opening three chapters and continuing chapter by chapter.
story-short-analyze
A tool for taking apart short online fiction to explain its story idea, structure, emotional progression, reversals, and writing techniques.