sn-ppt-doctor SKILL.md skillA
sn-ppt-doctor from opensensenova/sensenova-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add opensensenova/sensenova-skills/sn-ppt-doctor@git:20260917.b47f4e7Pins git:20260917.b47f4e7 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- opensensenova/sensenova-skills
- Path
skills/sn-ppt-doctor/SKILL.md- Versions recorded
- 6
- Latest version
- git:20260917.b47f4e7, committed Sep 17, 2026
- First version recorded
- Apr 26, 2026
- Size
- 5,550 bytes
- Repository stars
- 6,031
- License
- MIT
Use when diagnosing PPT Skill setup or failures involving source parsing, Playwright or Chromium rendering, HTML-to-PPTX export, Workbench startup, or bundled search and image-tool configuration.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# sn-ppt-doctor 这是按需运行的能力与本地依赖检查,不是 Entry 的强制前置。Doctor 分开报告: 1. 当前 Agent 的普通搜索、图片搜索和图片生成原生工具是否注册、配置或实际验证; 2. PPT 整包自带的 `sn-ppt-tools` 是否存在并已配置。 Doctor 不检查或恢复 `sn_agent_runner.py`,不写 `.env`,也不把可选媒体能力变成硬门槛。 ## 持久配置 PPT 内置工具与 Doctor 自动读取: - Hermes:`~/.hermes/.env` - OpenClaw:`~/.openclaw/.env` - 自定义:先设置 `SN_PPT_ENV_FILE=/absolute/path/to/file` 已有进程变量优先于文件值。推荐配置: ```ini # 搜索和搜图共用;默认请求 google.serper.dev SN_PPT_SEARCH_API_KEY="<search-api-key>" # OpenAI/SenseNova 兼容的同步 /images/generations 接口 SN_PPT_IMAGE_GEN_URL="https://your-host/images/generations" SN_PPT_IMAGE_GEN_API_KEY="<image-generation-api-key>" SN_PPT_IMAGE_GEN_MODEL="<image-generation-model>" ``` 用户只需编辑一次文件,不需要每次启动 Hermes 前执行 `export`。Doctor 输出实际读取的文件、 已采用的变量名和缺失字段,但不得输出 key 值。 ## 检查内容 - 当前 workspace 是否可写,`<pwd>/ppt_decks` 是否可用; - `pypdf`、`python-docx` 是否可用于附件解析; - Standard HTML 渲染所需的 Python Playwright 是否存在; - 当前解释器缺少 Playwright 时,先保留 bare Python 的 pip 安装路径,再检查已安装的 `uv tool` Playwright 是否可作为可选隔离环境; - Playwright Chromium 是否已经安装并能实际启动(不是只检查脚本文件); - Node.js 是否可用于 Workbench 和 Static 默认 HTML -> PPTX 兼容版导出; - HTML -> PPTX 所需的 npm、`pptxgenjs`、`echarts`、Node Playwright 是否可解析,以及该 Playwright 的 Chromium 是否能实际启动; …
Read the whole file at its exact version.
How to install
mdr add opensensenova/sensenova-skills/sn-ppt-doctor@sha256:bc2ba1b05b87aa00The line at the top of this page pins the label git:20260917.b47f4e7, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_fptkujbe4776kiiz)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 6 versions of this file, between Apr 26, 2026 and Sep 17, 2026, about one every 29 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260917.b47f4e7 latest | 2026-09-17 | b47f4e7 | 5,550 B | A | view · diff |
| git:20260430.13d82ad | 2026-04-30 | 13d82ad | 2,393 B | A | view · diff |
| git:20260427.d86217d | 2026-04-27 | d86217d | 2,291 B | A | view · diff |
| git:20260426.faf310e | 2026-04-26 | faf310e | 2,167 B | A | view · diff |
| git:20260426.3ae7bd6 | 2026-04-26 | 3ae7bd6 | 2,157 B | A | view · diff |
| git:20260426.f0ab496 | 2026-04-26 | f0ab496 | 2,015 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (5550 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
opensensenova/sensenova-skills · 6,031 stars · license MIT · pushed 2026-11-03 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_fptkujbe4776kiiz GET https://markdownregistry.com/api/v1/resolve?ref=opensensenova/sensenova-skills/sn-ppt-doctor GET https://markdownregistry.com/api/v1/blob/bc2ba1b05b87aa0064e82a70359568368f5a00376c27759554e355039bb39caf
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.