Token导航 LogoToken导航

Agent Skill · 研究检索

html2pptx(html2pptx 演示文稿)

html2pptx 用于查找、检索和筛选相关信息,适合在 Local Agent 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

html2pptx 是研究检索类 Agent Skill,可用宿主为 Local Agent,通过unknown获取,权限为调用外部服务;许可证信息还不明确,暂无第三方扫描结果,按安装量在研究检索类的 73,675 个 Skill 里排第 39,535。

总安装 1,397周安装 60下载 490核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:html2pptx(html2pptx 演示文稿)
来源仓库:https://html2pptx.app
仓库路径:html2pptx
安装命令:
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。当前暂无明确安装命令,请以来源页面说明为准。

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于查找与筛选 HTML 相关工具及演示文稿转换方案。适合在 Local Agent 中定位可用技能或集成第三方服务。安装方式未明确定义,需参考来源站点说明。html2pptx 属于研究检索类 Skill,可作为该场景下的辅助能力补充。建议确认是否触发网络请求或外部 API 调用。

涉及文件操作时应检查本地写入权限与路径安全。

来源仓库内路径:html2pptx

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Local Agent;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    没有现成安装命令,按unknown的说明从来源页面获取,仓库路径是 html2pptx。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要调用外部服务,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

html2pptx 怎么安装?

公开资料没有给出可以直接复制的命令,需要按来源页面说明手动安装,仓库内路径为 html2pptx。

html2pptx 支持哪些 AI 工具?

公开资料标注支持 Local Agent。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

html2pptx 需要什么权限?

权限级别是调用外部服务。该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

html2pptx 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

html2pptx 用的人多吗?

公开数据是累计安装 1,397 次,近一周安装 60 次,下载 490 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

html2pptx 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 Local Agent 一种宿主,触发方式和使用习惯不用来回切换。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Local Agent,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 要求有安全扫描结论才肯安装的团队。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
html2pptx

html2pptx 演示文稿 · 本页

1,397—调用外部服务未明确未收录

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

html2pptx

Convert natural language instructions into production-ready PowerPoint files. This skill teaches you how to author slide-safe HTML/CSS, validate it, and export it to PPTX via the html2pptx.app MCP server.

MCP Server Setup

Connect the html2pptx MCP server to get direct tool access.

claude mcp add --transport http html2pptx https://html2pptx.app/mcp

Available MCP Tools

ToolDescription
html2pptx_create_export_jobCreate an HTML-to-PPTX export job. Set waitForCompletion: true to get the completed payload in one call. MCP default is "both" (blob resource + download URL). Do not override unless you have a specific reason.
html2pptx_get_export_jobCheck export job status by jobId.
html2pptx_wait_for_export_jobPoll until job completes or fails.
html2pptx_list_export_plansFetch the public plan catalog and recommended tier.
html2pptx_get_usageCheck current weekly usage, remaining quota, and plan limits.
html2pptx_get_docsFetch html2pptx.app documentation by section (overview, quickstart, api-reference, html-contract, skills, mcp, or all) and language (en/ja).
html2pptx_list_templatesList available templates with metadata. Optional category filter.
html2pptx_get_template_htmlFetch the source HTML of a template by ID. Use to study designs and create improved versions.

Available Resources

Read these via resources/read with the URI:

URIContent
docs://html2pptx/overviewService overview, architecture, CSS support, comparison
docs://html2pptx/quickstartFirst export in 4 steps
docs://html2pptx/api-referenceREST endpoints, auth, rate limiting, errors
docs://html2pptx/html-contractHTML structure rules and supported CSS
docs://html2pptx/skillsSkills integration guide
docs://html2pptx/mcpMCP integration guide

Available Prompts

PromptDescription
create_presentationGenerate a complete PowerPoint from a topic. Args: topic (required), slide_count, language
convert_html_to_pptxConvert provided HTML/CSS to PPTX. Args: html (required), css, file_name

Workflow

This workflow uses a three-phase approach to produce high-quality slide designs. Separating content planning, creative HTML authoring, and PPTX adaptation prevents technical constraints from flattening the design into something generic.

Phase 1: Content Planning (no HTML yet)

Step 1: Derive the design direction from the user's intent

Think deeply about what the user is trying to communicate and who the audience is. Use your reasoning to craft a unique design direction — do not pick from a fixed menu. Consider:

  • Topic & audience — a startup pitch deck looks different from a research presentation or an internal strategy doc
  • Mood & tone — the user's words, topic, and context suggest an emotional direction (bold, calm, playful, authoritative, futuristic, warm, etc.)
  • Cultural context — Japanese corporate vs. tech startup vs. creative agency vs. academic — each has different design expectations
  • Content density — data-heavy presentations need structured grids; narrative presentations need breathing room
  • Language — if the user's request is in Japanese or targets a Japanese audience, apply the Japanese slide design rules from references/japanese-slide-design.md (conclusion-first structure, 体言止め titles, 105-char/slide limit, line-height 1.6+, Noto Sans JP, 3-color palette, 4.5:1 contrast for all text)

From these considerations, invent a specific design concept — not just "dark theme" or "professional", but something like "midnight observatory — deep navy with constellation-like dot patterns, warm amber data highlights, and generous negative space that evokes looking at the night sky."

Design inspiration palette (use as starting points to remix, combine, or depart from — NOT as a fixed list):

  • Dark backgrounds + neon/bright accents → tech, futuristic, bold
  • Off-white + serif + wide margins → editorial, refined, intellectual
  • Muted earth tones + rounded shapes → warm, approachable, human
  • Primary colors + oversized sans-serif + geometric shapes → energetic, confident, playful
  • Monochrome + extreme whitespace + thin type → minimal, luxury, Apple-like
  • Rich gradients + layered depth + glassmorphism → modern SaaS, contemporary
  • Retro palette + mixed serif/sans → vintage-modern, distinctive, memorable
  • Navy + gray + structured grid → consulting, corporate, authoritative

Anti-patterns — NEVER do these:

  • Do NOT default to white background + blue accent (the most generic look possible)
  • Do NOT center-align everything on every slide
  • Do NOT use the same layout on consecutive slides
  • Do NOT shrink font size to fit more content — split into multiple slides instead
  • Do NOT reuse the same design you generated in a previous conversation
Step 2: Plan the slide outline

Before writing any HTML, plan the content structure as a simple outline:

  • How many slides
  • Each slide's role and layout type (see below)
  • Key text and data for each slide

Vary layout across slides — use different structures:

Slide roleLayout
TitleFull-bleed background, centered oversized text, minimal elements
Content2-column (60/40 or 70/30 split, NOT 50/50)
Data/StatsSingle visualization filling 70% of space, annotation beside it
Quote/CalloutLarge centered text (36-48px), decorative accent, minimal
Grid/Bento3-4 cards in asymmetric grid with icon + stat + label
TimelineHorizontal or diagonal flow with connected nodes
ComparisonSide-by-side panels with contrasting background shades
ClosingReturn to brand colors, single CTA, matching title slide energy

Rule: never repeat the same layout structure on 2+ consecutive slides.

Step 3: Define the visual parameters

Lock in concrete values based on your design direction. Be specific — vague intentions produce generic output:

Color palette — pick 3-5 hex codes:

  • 1 background color
  • 1 primary text color
  • 1-2 accent colors
  • 1 muted/secondary color

Typography hierarchy (presentation-scale — bigger than you think):

  • Slide title: 44-64px, bold/heavy
  • Section header: 32-40px, medium weight
  • Body text: 24-32px (NOT smaller — this is a presentation, not a document)
  • Caption/label: 16-20px, light weight, often uppercase with letter-spacing
  • Data callout (big number): 72-120px, bold
  • Maximum 2 font families per deck

Visual motifs — choose 2-3 from the archetype:

  • Gradients (linear, radial, multi-stop)
  • Geometric shapes (circles, rectangles, triangles as decoration)
  • Cards with shadows and rounded corners
  • Accent lines / dividers
  • Large decorative numbers
  • Icon + label pairs
  • Background texture patterns (dots, lines, subtle shapes)

Phase 2: Creative HTML Authoring (minimal constraints only)

Step 4: Author the HTML freely

Translate the outline and visual direction into HTML with three mandatory constraints:

  1. Each slide is <section class="slide" style="width:1600px;height:900px"> (16:9 aspect ratio)
  2. Content must not overflow the 1600x900 canvas
  3. Every text element MUST be protected from PPTX text splitting. Without explicit sizing, the PPTX converter creates text boxes too narrow for the content, splitting words mid-character (e.g. "2026" → "202" + "6"). Use one or more of the following techniques on every text-containing element: Available techniques (use all that apply, not just one): Example — "2026" at 72px: <!-- Apply MULTIPLE techniques together --> <div style="min-width:280px; white-space:nowrap; font-size:72px; font-weight:700;">2026</div> Example — flex row with stats: <div style="display:flex; gap:40px;"> <div style="flex:0 0 300px; text-align:center;"> <div style="font-size:56px; font-weight:700; white-space:nowrap;">+15%</div> <div style="font-size:20px; white-space:nowrap;">前年比成長率</div> </div> <div style="flex:0 0 300px; text-align:center;"> <div style="font-size:56px; font-weight:700; white-space:nowrap;">¥2.4B</div> <div style="font-size:20px; white-space:nowrap;">年間売上高</div> </div> </div>

- white-space: nowrap — prevents line breaks entirely. Use on all single-line text (headings, labels, years, stats, names, badges) - width: Npx — sets exact text box width. Calculate: char_count × font_size × 0.7 for Latin, × 1.1 for Japanese, then add 20% padding - min-width: Npx — guarantees minimum width while allowing growth. Safer than width for variable content - flex: 0 0 Npx (flex shorthand) — prevents flex from shrinking the element below the specified size. Use on flex children - display: inline-block; width: Npx — creates a sized inline container. Use for badges, tags, stat numbers - For absolutely positioned elements: always set explicit width (absolute elements have no parent-derived width) - For grid children: use grid-column: span N with known column widths, or set min-width on the cell - For multi-line text blocks: set width or max-width to control line length, and ensure the container is wide enough for the longest line

Beyond that, design with full creative freedom as a professional slide designer. Use any CSS you want — gradients, shadows, transforms, complex layouts. The goal is the best possible visual design.

Supported creative techniques:

  • Multi-layer backgrounds — stack gradients, radial glows, decorative shapes using position: absolute
  • Bento Grid layouts — asymmetric card grids with varying sizes using flexbox/grid
  • Glassmorphism — semi-transparent backgrounds with rgba(), blur not supported but soft overlays work
  • Bold typography — mix font sizes dramatically (72px headlines + 14px body), use letter-spacing, text-transform
  • Decorative elements — floating circles, diagonal dividers, accent lines, all via positioned div elements
  • Rich gradients — linear-gradient, radial-gradient, multi-stop gradients, gradient text backgrounds
  • Depth & shadow — box-shadow for card elevation, layered elements for visual depth
  • Data visualization — progress bars, stat cards, comparison layouts, all with div+flexbox
  • SVG — inline SVG for icons, charts, diagrams (rasterized to high-quality PNG)

Save the HTML file to ./html2pptx/<fileName>.html.

Phase 3: PPTX Adaptation (minimal changes)

Step 5: Read the HTML contract

Call html2pptx_get_docs with section="html-contract" to load the structural rules.

Step 6: Adapt the HTML for PPTX compatibility

Review the HTML from Phase 2 against the PPTX contract and make only the minimum changes needed. Do NOT redesign or simplify the layout — preserve the creative intent.

Typical adaptations:

  • Remove <script>, <iframe>, <canvas>, <video>, CSS animations, @keyframes
  • Replace unsupported CSS (mix-blend-mode, mask, clip-path chains, background-clip: text) with visually similar alternatives
  • Ensure flexbox children have explicit flex:1 or width to prevent text wrapping (see "Preventing unwanted text wrapping" below)
  • Replace <table> with div+flexbox if it uses gradient backgrounds or rich cell content
  • Put text directly in background-colored elements (not in nested <span>) for proper alignment
  • Convert relative image paths to base64 data URIs or absolute URLs
  • Use fixed px values instead of %, vw, vh, em, rem for layout dimensions

The principle: change as little as possible. If something works in both browser and PPTX, leave it alone.

Step 6b: Converting an existing HTML file

When the user provides an existing HTML file (not writing new HTML from scratch), follow this process:

  1. Read the file to understand the structure.
  2. Keep <style> tags in the HTML — do NOT extract or inline CSS. The API server automatically extracts <style> tag contents and applies them as CSS. This preserves element selectors (table, th, td), pseudo-selectors (th:first-child), and compound selectors (.table-total td) that would be lost by manual inlining.
  3. Extract slides — find all <div class="slide"> blocks and change them to <section class="slide">. Keep the inner HTML exactly as-is, including all class attributes.
  4. Remove non-slide elements — strip <script>, <head>, <body>, export status UI, and anything outside the slide divs. Keep <style> tags — prepend them before the first <section>.
  5. Handle images — if <img> tags use relative paths (images/foo.png):

- Locate the image files relative to the HTML file's directory - Compress to JPEG (max 800px width, quality 70) to stay within payload limits - Convert to base64 data URIs: data:image/jpeg;base64,... - Replace the src attribute with the data URI

  1. Send the HTML as-is to html2pptx_create_export_job: html2pptx_create_export_job({html: "<style>.slide {...}.headline {...} th {...}</style><section class='slide'>...</section>", fileName: "output.pptx", waitForCompletion: true}) The css parameter is optional — you can also pass CSS there, but including <style> tags in the HTML works just as well since the server extracts them automatically.

Why this matters: The server-side sanitizer (export-input-sanitizer.mjs) extracts <style> tag contents before DOMPurify removes them, then merges the extracted CSS with any css parameter value. This means the full CSS cascade is preserved without any client-side preprocessing.

Step 7: Export to PPTX

Call html2pptx_create_export_job with waitForCompletion: true. Do NOT specify responseFormat — the MCP server defaults to "both".

Step 8: Download and open

After the job completes, always download the file locally:

mkdir -p ./html2pptx
curl -s -L -o ./html2pptx/<fileName>.pptx "<downloadUrl>"

Extract the download URL from the Download: text block in the response. Then open the file with open./html2pptx/<fileName>.pptx so the user can verify immediately.

Do NOT ask the user to manually download — always automate the full flow.

Output directory structure

All generated files MUST be saved under ./html2pptx/:

./html2pptx/
  Growth_Engine_2026.html
  Growth_Engine_2026.pptx

HTML Technical Notes

Slide structure

<section class="slide" style="width:1600px;height:900px;margin:0;padding:0;box-sizing:border-box;overflow:hidden;position:relative;background:...;">
  <div style="position:absolute;top:0;left:0;width:100%;height:100%;padding:60px 80px;box-sizing:border-box;">
    <!-- content here -->
  </div>
</section>
  • Background goes on .slide itself (fills full canvas)
  • Content padding goes on an inner div
  • Use position:relative on .slide for absolute-positioned decorative elements
  • Use fixed px values, not %, vw, vh, em, rem

Fully supported CSS

Flexbox, Grid, linear-gradient, radial-gradient, box-shadow, text-shadow, border-radius, transform (rotate, scale, translate, skew), opacity, overflow: hidden

Tables — use div+flexbox for styled layouts

Native <table> works for plain data, but for styled layouts (gradient headers, rich cell content), use div+flexbox instead. This gives full visual control without PPTX table limitations.

Text in shaped elements (buttons, badges, stat cards)

Put text directly in the background element with display:flex;justify-content:center;align-items:center;text-align:center and explicit width/height. This keeps text and shape aligned in PPTX output.

CRITICAL: Preventing text wrapping and splitting in PPTX

The PPTX converter creates text boxes with widths calculated from the HTML layout. If a text box is too narrow, text wraps or splits mid-word (e.g. "2022" becomes "202" + "2"). This is the most common PPTX conversion issue and MUST be prevented at authoring time.

This applies to ALL layouts — flexbox, grid, absolute positioning, and inline elements.

Apply all applicable techniques from this list to every text-containing element:

TechniqueCSSWhen to use
No-wrapwhite-space: nowrapAll single-line text: headings, labels, years, stats, names, badges, short phrases
Explicit widthwidth: NpxWhen the exact width is known. Calculate: char_count × font_size × 0.7 (Latin) or × 1.1 (Japanese) + 20%
Minimum widthmin-width: NpxWhen content may vary but needs a guaranteed minimum. Safer than width for dynamic content
Flex fixed basisflex: 0 0 NpxFlex children that must not shrink. Replaces flex: 1 which has no minimum guarantee
Inline blockdisplay: inline-block; width: NpxBadges, tags, stat numbers, year labels — sized inline containers
Absolute + widthposition: absolute; width: NpxAll absolutely positioned text elements (they have NO parent-derived width)
Grid spangrid-column: span N + min-widthGrid children — explicit span plus minimum width as safety net
Max-width for multi-linewidth: Npx or max-width: NpxMulti-line text blocks — controls line length and prevents overly narrow reflow

Always combine multiple techniques. For example, a year number should get BOTH white-space: nowrap AND min-width:

<!-- WRONG — only one technique, still may break -->
<div style="font-size:72px;">2026</div>

<!-- RIGHT — multiple techniques combined -->
<div style="font-size:72px; white-space:nowrap; min-width:280px; display:inline-block;">2026</div>

Width calculation reference:

TextFont sizeMinimum width needed
"2026" (4 Latin chars)48px4 × 48 × 0.7 × 1.2 = 162px → use 200px
"2026" (4 Latin chars)72px4 × 72 × 0.7 × 1.2 = 242px → use 280px
"+15%" (4 Latin chars)56px4 × 56 × 0.7 × 1.2 = 188px → use 220px
"エンタープライズ" (8 JP chars)32px8 × 32 × 1.1 × 1.2 = 338px → use 360px
"売上推移" (4 JP chars)44px4 × 44 × 1.1 × 1.2 = 232px → use 260px

Checklist before export — verify EVERY text element has at least 2 protections:

  • white-space: nowrap on all single-line text
  • Explicit width, min-width, or flex: 0 0 Npx on all text containers
  • Absolutely positioned text has explicit width
  • No text container relies solely on flex: 1 without min-width
  • Large text (40px+) containers are calculated with the width formula above

Not supported

<script>, <iframe>, <canvas>, <video>, CSS animations, @keyframes, hover states, external fonts without autoEmbedFonts

Operating Rules

  • Use waitForCompletion: true for simplest flow.
  • Do NOT specify responseFormat — the MCP default ("both") is optimal.
  • After export, ALWAYS download locally via curl and open the file. Never just show the URL.
  • Check quota with html2pptx_get_usage before batch exports.
  • Keep fileBase64 out of conversational output.

CLI Export (Alternative to MCP)

When MCP is not available or the user prefers CLI, use html2pptx-cli instead.

Setup

npm install -g html2pptx-cli
html2pptx login

Convert HTML to PPTX

# Direct mode (for scripts, CI/CD, AI agents)
html2pptx convert ./html2pptx/slides.html -o ./html2pptx/slides.pptx -s 16:9

# With external CSS
html2pptx convert ./html2pptx/slides.html --css ./html2pptx/styles.css -o ./html2pptx/slides.pptx

# JSON output for scripting
html2pptx convert ./html2pptx/slides.html --json

# Convert and auto-open
html2pptx convert ./html2pptx/slides.html --open

Interactive mode

Run without arguments for a guided experience:

html2pptx convert

Other Commands

CommandDescription
html2pptx loginConfigure API key (shows dashboard link)
html2pptx logoutRemove stored API key
html2pptx statusCheck usage, quota, rate limits, plan details
html2pptx whoamiVerify API key and show auth status
html2pptx configShow current configuration

CLI Workflow Integration

When using CLI instead of MCP, the workflow changes slightly:

  1. Phase 1 & 2: Same as MCP — plan content, author HTML, save to ./html2pptx/<fileName>.html
  2. Phase 3: Same PPTX adaptation rules apply
  3. Export: Use CLI instead of MCP tool: html2pptx convert./html2pptx/<fileName>.html -o./html2pptx/<fileName>.pptx --open
  4. The --open flag automatically opens the PPTX for the user to verify

When to use CLI vs MCP

ScenarioUse
Agent conversation in Claude Desktop / VS CodeMCP
Claude Code terminal sessionCLI or MCP
CI/CD pipelineCLI
Scripting / automationCLI with --json
MCP server not connectedCLI

Failure Handling

When an MCP tool rejects a request:

  • Distinguish auth failure from plan failure from payload failure
  • Surface the exact limit that was hit
  • Suggest the smallest next step: connect MCP server, reduce slide count, reduce payload size

平台分布

Local Agent

71.38%
按下载量换算350

安全审计

暂无安全审计结果可展示。

权限和风险

调用外部服务

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills