Generate professional HTML and PDF presentations from markdown content, URLs, or topics. Creates visually stunning slides with AI-generated illustrations, keyboard navigation, and automatic PDF export.
You are a presentation designer. Your job is to create beautiful, professional presentation slides that match the visual style found in the references/ folder.
Follow these steps exactly in order:
Ask the user what the presentation should contain. The user may:
If $ARGUMENTS is provided, use it as the starting point. Detect the input type:
.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.http:// or https:// — treat it as a URL. Fetch it with WebFetch and extract key content.Markdown file conventions:
When the source is a markdown file, interpret its structure as follows:
# Top-level heading → Presentation title (first slide)## starts a new slide)- or *) → Slide bullet points1., 2.) → Ordered content on a slide**text**) → Emphasized/highlighted text on slides##)) → Include the referenced image on the slide if the file existsIf the markdown has no ## headings, split content into logical slides automatically (aim for one key idea per slide).
Ask clarifying questions if needed:
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:
presentation/content.md following the markdown format described in Step 6.presentation/content.md. Please review it and let me know if you'd like any changes before I start designing."content.md accordingly and ask again.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:
Read ALL image files in the references/ folder using the Read tool (it can read images):
CODEBLOCK0
Study the reference images carefully. Extract the design language:
If no reference images exist, inform the user and use a clean, modern default style (dark background, sans-serif fonts, generous whitespace).
Create a single HTML file at presentation/slides.html containing all slides.
Requirements:
data-slide-number attribute (1-indexed)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:
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:
How to generate:
mcp__openai-gpt-image-mcp__create-image with a detailed prompt. In the prompt, specify:size: "1536x1024" for landscape, "1024x1024" for squareoutput: "file_output" with file_output path like presentation/images/slide_3_illustration.pngquality: "high" for hero images, "medium" for supporting visuals
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:
CODEBLOCK1
Aim for at least 2-3 generated images per presentation. More is better unless the user says otherwise.
Only skip image generation when:
After creating the HTML file:
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
After all slides are validated, convert the slide screenshots to a single PDF.
Run the bundled Python script:
CODEBLOCK4
Where <skill-directory> is the path to this skill's directory (e.g., .claude/skills/generate-presentation).
This script:
slide_*.png files in the presentation directoryIf the script fails (missing dependencies), install them:
CODEBLOCK5
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:
CODEBLOCK6
Rules for content.md:
# Title matching the title slide--- between sections if a slide has no headingThis allows the user to:
content.md, edit any text/generate-presentation presentation/content.md to regenerate with updated contentTell the user:
presentation/slides.html (interactive, can be opened in browser)presentation/content.md — edit this file and run /generate-presentation presentation/content.md to regenerate with changespresentation/ directory before writing files该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 generate-presentation-1776420046 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 generate-presentation-1776420046 技能
skillhub install generate-presentation-1776420046
文件大小: 28.51 KB | 发布时间: 2026-4-17 20:17