Skip to content
Productivity
Skill

/sn-ppt-standard

仅在 `sn-ppt-entry` 与 `sn-ppt-story` 已准备绝对 `DECK_DIR` 和 `outline.md` 后使用;生成每页独立 HTML(1600×900)、渲染 PNG、逐页讲稿、`present.html`,并按 `static_postprocess` 选择生成由 Standard 自有 exporter 转换的 PPTX。**`present.html` 始终是必交付产物,缺失即技术故障,不得交付;`static_postprocess` 含 `pptx` 时 PPTX 同为必交付产物(缺一即技术故障),且只能由

From plugin
sensenova-skills
6.1k84 skills

Claude Code

$ npx -y skills add OpenSenseNova/SenseNova-Skills --skill sn-ppt-standard --agent claude-code

SKILL.md

sn-ppt-standard.SKILL.md
name: sn-ppt-standard
description: 仅在 `sn-ppt-entry` 与 `sn-ppt-story` 已准备绝对 `DECK_DIR` 和 `outline.md` 后使用;生成每页独立 HTML(1600×900)、渲染 PNG、逐页讲稿、`present.html`,并按 `static_postprocess` 选择生成由 Standard 自有 exporter 转换的 PPTX。**`present.html` 始终是必交付产物,缺失即技术故障,不得交付;`static_postprocess` 含 `pptx` 时 PPTX 同为必交付产物(缺一即技术故障),且只能由 Standard 自有 exporter 生成;仅当用户明确要求只要 HTML(`static_postprocess` 为 `[]`)时,PPTX 才可不交付。**

sn-ppt-standard

把本文件当作**路线图**,不要当作需要一次背完的规范全集。只读取已准备任务的 Entry/Story 交接、该路径要求的 reference 和职责卡。

Box-Agent 兼容入口

当当前 harness 暴露 `sub_agent`、`inspect_images`、`generate_image`、`bash` 等 Box-Agent 原生工具时,开始任何制作动作前必须完整读取 `references/box-agent-tool-contract.md`。该契约只覆盖工具名称、参数、脚本路径、委派方式和权限边界;本文件及各职责卡的事实、设计、质量和交付标准仍然有效。委派任何角色时,都要在 `task` 中显式要求其先读取同一契约与自己的 `subagents/<role>.md`。

Hermes 环境等效工具

Hermes 不暴露 Box-Agent 工具名,但提供等价能力。在 Hermes 宿主中,正文下文中出现的 `bash` / `inspect_images` / `generate_image` / `sub_agent` 调用一律按下表翻译后执行, 且无须读取 `references/box-agent-tool-contract.md`(该契约仅用于 Box-Agent harness):

| Box-Agent 写法(正文) | Hermes 等效工具 | 翻译要点 | | --- | --- | --- | | `bash(command, timeout)` | `terminal(command, timeout)` | 参数直接对应;Hermes 专属参数(workdir/pty)按需使用 | | `inspect_images(image_paths=[...], instruction=..., strategy="native")` | `vision_analyze(image_url=<单张路径>, question=<instruction>)` | 每张图一次调用;`strategy` 参数 Hermes 无,忽略 | | `generate_image(prompt, output_path, size, watermark=false)` | `image_generate(prompt, aspect_ratio=<按尺寸取>)` | 无 `output_path`,生成后回读返回路径验证落盘 | | `sub_agent(title, task, required_tools, write_scope, budget)` | `delegate_task(goal=<task>, context=<背景>)` | 用 Hermes 参数形态;自包含 task、语言合同、绝对路径与产物双读验证的要求不变 |

委派仍要求子任务自包含、携带语言合同与职责卡绝对路径,并用 `read_file` / `search_files` 验证声明的产物;正文的阶段划分、质量标准与交付要求不因宿主变化而放宽。

Entry / Story 输入契约(最高优先级)

本 Skill 不接收裸 query,不自行创建任务目录。只接受绝对 `DECK_DIR`,且必须存在 `task_pack.json`、`info_pack.json` 和 `outline.md`。 `choices.output` 必须为 `static_html`,且 `ppt_mode` 必须为 `standard`。开始和恢复时重新读取磁盘上的 `outline.md`;不得自行 Research、重复解析材料、改写 outline、增删页面、重排页序或新增事实。输入不满足时返回 Entry。

1. 所有模式共享的合同

1.1 Orchestrator 的职责与边界

Orchestrator 只负责:**读取 Entry/Story 交接、规划、委派、合并、验收和确定性收尾**。

  • 可写:`plan/`、`base.css`、知识汇总和构建产物。
  • 不直接写:`slides/slide_NN.html`;页面由 Slide 或 Review 修改。
  • 不伪装工具能力,不把计划动作写成已完成动作。
  • 每个 subagent 必须有显式 label;失败、超时或未自然收尾的结果不得当成完成品。
  • `sub_agent(title, task, skills, required_tools, files, write_scope, budget)` 负责委派;其返回的结构化 contract、artifact paths 与 `handoff_path` 是父级交接真相,Orchestrator 不读取子 Agent 的 `messages.json`、`tool_log.json` 或 system/tool 快照来轮询进度。父级负责通过 `inspect_images` 完成视觉检查,以及通过 bash、render、build 和 export 完成确定性收尾。

1.2 角色

| 角色 | 数量与时机 | 唯一职责 | | --- | --- | --- | | Image | 按素材量并行 | 获取或生成位图素材,返回实际路径 | | Slide | 新建或复杂编辑时按设计亲缘页组并行 | 只制作/重做自己的页组并完成组内像素闭环 | | Review | 首次验收 1 个,修复后最多复验 2 次;简单编辑时也是执行者 | 先诊断、后集中修复、批量重渲和最终讲稿收口 |

所有角色开工前完整读取自己的 `subagents/<role>.md`。任何选中的文件或章节出现截断提示时,续读到结束;**未被路由命中的 reference 不读**。

1.3 语言与能力

开始前锁定:

  • `response_language`:过程与最终回复语言;
  • `deliverable_language`:屏显、规划和讲稿语言;
  • attachments、web、真实图片获取、图片生成、渲染、vision、写文件等能力状态。

默认采用用户 query 的主要语言;用户明确指定交付语言时单独覆盖。只能规划实际可用的能力。 `inspect_images(image_paths=["/absolute/path/to/slide_NN.png"], instruction="复述第一眼焦点、阅读路径、主要视觉载体、溢出与裁切", strategy="native")` 由当前角色使用;视觉判断、问题账本和看图后的回复使用 `response_language`,不得因模型默认语言切换,屏显原文与专有名词可保留原语言。

1.4 工作区真相源

task_pack.json
info_pack.json
outline.md
plan/design-brief.md
plan/deck.md
plan/slide_NN.md
base.css
assets/
slides/slide_NN.html
renders/slide_NN.png
speech.md
present.html   ← 必交付产物:由 `deck.py build` 生成,缺失即技术故障
`<DECK_DIR>/<DECK_ID>.pptx`   ← 必交付产物(`static_postprocess` 含 `pptx` 时):只能由 `scripts/export_pptx/html_to_pptx.mjs` 生成

`outline.md` 是页面事实、页数、页序、标题、结论和内容关系的真相源;`grounded-knowledge.md` 仅是 Entry/Story 生成的研究汇总,Standard 只读,不得覆盖 `outline.md`。 `design-brief.md` 是视觉真相源; `slide_NN.md` 是页面内容合同; `base.css` 是全局设计系统; 最终判断必须基于最新 PNG,而不是只看 HTML。

1.5 Reference 路由

| 场景 | 读取 | | --- | --- | | 场景定调 | `design-rules.md` §T1–T3、§1–3 + 命中的主题节;`design-styles.md` 目录 + 一个风格家族 | | 全局与逐页规划 | `planning-contract.md`;每页只读 `layout-patterns.md` 对应页型 | | 编辑现有 deck | `editing-contract.md` | | Slide | 自己的逐页计划、`base.css`、`quality-checklist.md`“一、单页检查”与本页命中章节 | | Review | 完整读取 `quality-checklist.md`:先用“一、单页检查”核对视觉语义,再做“二、整套检查”和“三、可机核 lint 项” |

字体只在默认角色不足或场合敏感时读 `fonts.md`。不要在开工前扫描所有 design、style、layout、font 文档。

无论是否读取 `fonts.md`,中文眉签、部门名、页脚、来源和元数据都不得使用等宽字体或拉丁 ALL CAPS 的疏字距:使用 `--font-sans` / `--font-serif`,字距保持 `0–0.03em`。`--font-mono`、`--tracking-caps`、`.is-latin-label` 只用于纯拉丁技术标识、代码、坐标和真实编号。

同一句中文标题、结论或标签必须使用同一字体家族;强调词只通过颜色、字重、字号或下划线建立层级,禁止把其中几个字换成卡通、手写或另一套展示字体。**全册字体家族总数 ≤ 3 且必须全册统一**:同一角色在每页都用同一家族,不因页面题材临时换字体;严谨型收敛到 1–2 族。字体选择服从场景与 Style Lock——中文正文/表格/页脚/眉签一律 `--font-sans`(严谨衬线可 `--font-serif`),**中文绝不放进 `--font-mono`**(IBM Plex Mono 无中文字形,会回退成卡通体);`--font-mono` 只服务纯拉丁代码、坐标、ID。`playful`、圆趣、手写和书法字体只有在主题与受众真正支持时启用(至多占那 3 族里的 1 个点缀位),并在对应元素加 `.is-expressive-type` 或 `data-type-intent="expressive"`,让渲染检查确认这是有意选择。

1.6 视觉媒介优先级

按内容选择媒介:

1. 真实人物、地点、产品、事件:真实照片; 2. 氛围、隐喻、故事场景、视觉主画面:生成图或高质量位图; 3. 数据:ECharts; 4. 大型流程、架构、机制、关系示意:**Canvas 绘制几何 + HTML 文字层**,或“无文字图片 + HTML 标注”; 5. SVG:仅用于 icon、logo、箭头、标记和小型装饰。

普通内容页只要存在人物、地点、产品、作品、活动、体验、自然/城市环境、故事场景或情绪画面等可见主体,优先让一张有分量的真实/生成位图成为主视觉,而不是用彩色块、图标或抽象线框替代。配图数量服从叙事,不机械凑数;但能够增加识别、证据、临场感或情绪价值的位图机会不得静默放弃。

**默认禁止把手写 SVG 当作 hero、半屏/全屏主视觉或大型示意图。**SVG 只承担小型辅助图形;复杂的非位图主视觉若确需程序化表达,优先使用 Canvas 几何 + HTML 文字层。只有用户明确要求矢量交付,或必须复用用户提供的准确矢量资产时才例外。详细实现见 `design-rules.md` §5 和 `layout-patterns.md` 的 Canvas diagram 章节。

2. 新建 PPT

阶段 0:解析任务

1. 读取 `task_pack.json`、`info_pack.json` 和当前磁盘 `outline.md`;页数、页序、标题、结论、事实与内容关系全部以 `outline.md` 为准,场景、受众、材料与 Research 路径以 task/info pack 为准。 2. 锁定语言、能力、附件清单和交付范围,不向用户追问非阻塞偏好,并在规划中显式记录合理假设。 3. `static_html` 新建流程不启动 Research 或 Material,只读取 Entry/Story 已生成的产物;若 required Research 报告缺失则返回 Entry,事实不足时不编造数字、不改写 Story,`grounded-knowledge.md` 仅作为生产汇总。

阶段 1:按需接地

Grounding gate

Entry/Story 产物交接后,Orchestrator 先校验 `info_pack.json`、Entry/Story 的 Research 报告和当前磁盘 `outline.md`;缺少必需报告时返回 Entry,不能在 Standard 内重

Read more
@opensensenova
Ships withsensenova-skills

The SenseNova model family plugs directly into agent runtimes such as OpenClaw and hermes-agent, with the skills in this repository extending the models with concrete, end-to-end office capabilities.

Stars on GitHub

Momentum

stars in total
6.1k
Star history of OpenSenseNova/SenseNova-Skills on GitHub, a chart by star-history.com

Other skills on sensenova-skills.

sn-da-excel-workflow

sn-da-excel-workflow

Excel 数据分析多步编排器。覆盖:(1) 读取多 Sheet Excel 文件并统计行数,(2) 大文件检测(≥10k 行自动 Parquet 优化),(3) 数据清洗(缺失值、文本标准化、无效字符),(4) 条件筛选与分类提取,(5) 跨 Sheet…

category-coloring

category-coloring

当Excel文件总行数超过1万行时,通过转换为Parquet格式提升读取性能,提取目标指标并计算最大值,最后将结果输出为Excel并对特定行进行高亮标注。

threshold-cell-coloring

threshold-cell-colorin…

根据Excel总行数自动切换Parquet加速读取,计算特定维度的时间序列平均值,并使用openpyxl输出带有条件格式(如低于均值标绿)和自定义样式的分析报告。

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about sn-ppt-standard.

Which coding agents can use sn-ppt-standard?
sn-ppt-standard installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.