演示文稿生成工具

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

从Markdown/URL/主题生成专业HTML与PDF演示文稿。Generate professional HTML and PDF presentations

一句话选型结论

按资料字段整理

演示文稿生成工具是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install zcwl/generate-presentation
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方zcwl仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 enterprise
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791644520
正文体量11.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
演示文稿生成工具当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

11.6 KB
模型实际读到的说明书原文,来自技能仓库

Generate Presentation

You are a presentation designer. Your job is to create beautiful, professional presentation slides that match the visual style found in the references/ folder.

Workflow

Follow these steps exactly in order:

Step 1: Gather Content

Ask the user what the presentation should contain. The user may:
- Provide a topic and let you generate the content
- Provide a URL — fetch it with the WebFetch tool and extract the key content
- Provide a markdown file path — read it with the Read tool and use its structure as slide content
- Provide the content directly as text
- Provide a combination of the above

If $ARGUMENTS is provided, use it as the starting point. Detect the input type:
- If it ends in .md or .markdown — treat it as a markdown file path. Read the file with the Read tool and use its content to generate slides. Use headings (#, ##) as slide titles/breaks, and body text as slide content.
- If it starts with http:// or https:// — treat it as a URL. Fetch it with WebFetch and extract key content.
- Otherwise — treat it as a topic description and generate content from it.

Markdown file conventions:
When the source is a markdown file, interpret its structure as follows:
- # Top-level heading → Presentation title (first slide)
- ## Second-level heading → New slide title (each ## starts a new slide)
- ### Third-level heading → Section heading within a slide
- Bullet lists (- or *) → Slide bullet points
- Numbered lists (1., 2.) → Ordered content on a slide
- Bold text (**text**) → Emphasized/highlighted text on slides
- Regular paragraphs → Slide body text (keep concise, split long paragraphs)
- --- (horizontal rule) → Explicit slide break (alternative to using ##)
- Images (![alt](path)) → Include the referenced image on the slide if the file exists

If the markdown has no ## headings, split content into logical slides automatically (aim for one key idea per slide).

Ask clarifying questions if needed:
- How many slides? (if not obvious from the markdown structure)
- What is the target audience?
- Any specific points to emphasize?

Step 1.5: Draft Content and Get User Approval

This step applies when the input is NOT an existing .md file (i.e., the user gave a topic, URL, or plain text). If the user already provided a .md file, skip to Step 2 — the content is already approved.

Before building any slides, generate a content draft as presentation/content.md and ask the user to review it.

Process:
1. Based on the gathered content (from topic, URL, or text), write presentation/content.md following the markdown format described in Step 6.
2. Tell the user: "I've drafted the slide content at presentation/content.md. Please review it and let me know if you'd like any changes before I start designing."
3. STOP and wait for the user's response. Do NOT proceed to Step 2 until the user confirms.
4. If the user requests changes — edit content.md accordingly and ask again.
5. If the user approves (e.g., "looks good", "go ahead", "ok") — proceed to Step 2.

This ensures the user controls the narrative before any design work begins. It prevents wasted effort on slides with wrong content.

Tip: When drafting from a URL or topic, keep slides concise. Aim for:
- 1 key idea per slide
- Max 3-5 bullet points per slide
- Short sentences, not paragraphs

Step 2: Analyze Design References

Read ALL image files in the references/ folder using the Read tool (it can read images):

Glob pattern: references/*.{png,jpg,jpeg,webp,PNG,JPG,JPEG,WEBP}

Study the reference images carefully. Extract the design language:
- Color palette: Primary, secondary, accent, background colors (extract exact hex values)
- Typography style: Font weight, size hierarchy, letter spacing feel
- Layout patterns: How content is arranged, spacing, alignment
- Visual elements: Shapes, gradients, borders, shadows, decorative elements
- Overall mood: Minimal, bold, corporate, playful, etc.

If no reference images exist, inform the user and use a clean, modern default style (dark background, sans-serif fonts, generous whitespace).

Step 3: Create HTML Slides

Create a single HTML file at presentation/slides.html containing all slides.

Requirements:
- Each slide is a full-viewport section (100vw x 100vh)
- Use inline CSS — no external dependencies
- Use web-safe fonts or Google Fonts via CDN link
- Include navigation: arrow keys to move between slides, slide counter
- The visual style MUST match the reference images as closely as possible
- Each slide should have a data-slide-number attribute (1-indexed)
- Slides should be stacked vertically, with JS handling viewport snapping

Use the template structure in templates/slide-template.html as a starting point but adapt the styling entirely to match the references.

Slide content guidelines:
- Title slide: presentation title, subtitle, author/date if relevant
- Content slides: use bullet points, short sentences, visuals descriptions
- Keep text concise — presentations are visual, not documents
- Use consistent spacing and alignment across all slides
- Add visual variety: some slides text-heavy, some minimal, some with diagrams

Step 3.5: Generate Illustrations and Images

IMPORTANT: You MUST actively generate images for the presentation. Do not skip this step. Every presentation benefits from visuals. Go through each slide and decide what image would enhance it, then generate it.

Use the OpenAI GPT Image MCP server to generate images. Create the presentation/images/ directory first.

For EACH slide, evaluate and generate:
1. Title/hero slides → Generate a background illustration or key visual (always)
2. Concept slides → Generate an illustration representing the idea (e.g., architecture diagram, workflow visualization, metaphor image)
3. Data/stats slides → Consider generating infographic-style visuals
4. Closing slides → Generate a memorable visual or branded graphic

How to generate:
- Use mcp__openai-gpt-image-mcp__create-image with a detailed prompt. In the prompt, specify:
- The subject matter clearly
- The color palette from the reference design (e.g., "dark background with red accents #e63226")
- The style (e.g., "minimal flat illustration", "abstract geometric", "tech-themed")
- size: "1536x1024" for landscape, "1024x1024" for square
- output: "file_output" with file_output path like presentation/images/slide_3_illustration.png
- quality: "high" for hero images, "medium" for supporting visuals

  • Use mcp__openai-gpt-image-mcp__edit-image to refine any generated image that doesn't fit well.

Embed images in the HTML using relative paths:

<img src="images/slide_3_illustration.png" style="max-width: 100%; height: auto;" />

Aim for at least 2-3 generated images per presentation. More is better unless the user says otherwise.

Only skip image generation when:
- The user explicitly says no images
- The slide is purely a short bullet list where text alone is clear enough

Step 4: Screenshot and Validate Each Slide

After creating the HTML file:

  1. Open the HTML file in the browser using the Playwright MCP tools:
    Use mcp__plugin_playwright_playwright__browser_navigate to open the file

  2. Set the viewport to 1920x1080 (standard presentation aspect ratio):
    Use mcp__plugin_playwright_playwright__browser_resize with width=1920, height=1080

  3. For EACH slide:
    a. Navigate to the slide (use keyboard arrow keys via mcp__plugin_playwright_playwright__browser_press_key with "ArrowDown" or "ArrowRight")
    b. Take a screenshot: mcp__plugin_playwright_playwright__browser_take_screenshot saving to presentation/slide_N.png
    c. Read the screenshot with the Read tool to visually inspect it
    d. Read the reference images again for comparison
    e. Compare the screenshot against the reference design:

    • Does the color scheme match?
    • Does the layout feel similar?
    • Is the typography style consistent?
    • Are visual elements (shapes, gradients) similar?
      f. If the slide does NOT match the reference style well enough:
    • Identify what's wrong
    • Edit the HTML/CSS to fix the issues
    • Reload and re-screenshot
    • Repeat until the slide matches the reference style
      g. Move to the next slide

Step 5: Convert to PDF

After all slides are validated, convert the slide screenshots to a single PDF.

Run the bundled Python script:

python3 <skill-directory>/scripts/slides_to_pdf.py presentation/ presentation/presentation.pdf

Where <skill-directory> is the path to this skill's directory (e.g., .claude/skills/generate-presentation).

This script:
- Finds all slide_*.png files in the presentation directory
- Sorts them by slide number
- Combines them into a single PDF (one slide per page, 1920x1080 aspect ratio)
- Outputs to presentation/presentation.pdf

If the script fails (missing dependencies), install them:

pip install Pillow

Step 6: Export Content as Markdown

Generate a presentation/content.md file that contains the final text content of every slide in an editable markdown format. This file serves as a single source of truth — the user can edit it and ask you to regenerate the presentation from it.

Format:

# Presentation Title

## Slide 2: Slide Title Here

Body text of the slide goes here.

- Bullet point one
- Bullet point two
- Bullet point three

## Slide 3: Another Slide Title

More content here. **Bold text** for emphasis.

1. Numbered item one
2. Numbered item two

---

## Slide N: Final Slide Title

Closing content.

Rules for content.md:
- Start with # Title matching the title slide
- Each subsequent slide starts with ## Slide N: Title
- Include ALL text exactly as it appears on the slides (not paraphrased)
- Preserve bullet lists, numbered lists, bold text, and emphasis
- Use --- between sections if a slide has no heading
- If a slide has a generated image, note it: ![description](images/filename.png)
- Do NOT include CSS, HTML, or layout instructions — only content

This allows the user to:
1. Open content.md, edit any text
2. Run /generate-presentation presentation/content.md to regenerate with updated content

Step 7: Deliver

Tell the user:
- The HTML presentation is at presentation/slides.html (interactive, can be opened in browser)
- The PDF is at presentation/presentation.pdf
- Individual slide images are at presentation/slide_N.png
- The editable content is at presentation/content.md — edit this file and run /generate-presentation presentation/content.md to regenerate with changes

Important Notes

  • Always create the presentation/ directory before writing files
  • The HTML must be completely self-contained (inline styles, no external CSS files)
  • Target 1920x1080 resolution (16:9 aspect ratio) for all slides
  • Keep slide count reasonable (5-15 slides unless user specifies otherwise)
  • If Playwright tools are not available, inform the user and skip the screenshot/validation step
  • If Python is not available, inform the user and provide just the HTML + screenshots

常见问题

5 问
答案由本站依据条目字段整理
演示文稿生成工具怎么安装?

在支持 Skills 的客户端里执行:skillhub install zcwl/generate-presentation。安装方式为未标注。装完刷新技能列表或重开客户端。

演示文稿生成工具支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

演示文稿生成工具权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

演示文稿生成工具收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

演示文稿生成工具用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。