ppt-design
- Repo stars 23
- Author updated Live
- Author repo Powerpoint-fancy-design
- Domain
- Design
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 92 / 100 · audit passed
- Author / version / license
- @Phlegonlabs · v0.3.0 · no license declared
- Token usage
- Lean
- Setup complexity
- Guided setup
- External API key
- Not required
- Operating systems
- Windows
- Runtime requirements
- Node.js
- Permissions
-
- Read-only
- Write / modify
- Shell exec
- Network behavior
- Local-only
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: ppt-design
description: Design presentation slides, infographic pages, and PPT-style visuals as 1600x900 HTML slides wit…
category: design
runtime: Node.js
---
# ppt-design output preview
## PART A: Task fit
- Use case: Design presentation slides, infographic pages, and PPT-style visuals as 1600x900 HTML slides with optional PPT export. Use when the agent needs to pick or explain a slide style, recommend styles based on content, generate one or more static HTML slides, support `background_mode` paper or white for compatible light styles, or render finished slides into a high-fidelity image-based PPTX..
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “Workflow / Inputs / Style Selection” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “Design presentation slides, infographic pages, and PPT-style visuals as 1600x900 HTML slides with optional PPT export. Use when the agent needs to pick or explain a slide style, recommend styles based on content, generate one or more static HTML slides, support `background_mode` paper or white for compatible light styles, or render finished slides into a high-fidelity image-based PPTX.”.
- **02** When the source has headings, the agent prioritizes “Workflow / Inputs / Style Selection” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
## Running Rules
- read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source does not require a stable slash command. After installation, invoke the skill by name and describe the task.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files, run shell commands.
Start with a small task and check whether the result follows “Workflow / Inputs / Style Selection”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: ppt-design
description: Design presentation slides, infographic pages, and PPT-style visuals as 1600x900 HTML slides wit…
category: design
source: Phlegonlabs/Powerpoint-fancy-design
---
# ppt-design
## When to use
- Design presentation slides, infographic pages, and PPT-style visuals as 1600x900 HTML slides with optional PPT export.…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “Workflow / Inputs / Style Selection” and keep inference separate from source facts.
- read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "ppt-design" {
input -> user goal + target files + boundaries + acceptance criteria
context -> Workflow / Inputs / Style Selection
rules -> SKILL.md triggers / order / output contract
runtime -> Node.js | read files, write/modify files, run shell commands | mostly runs locally
guardrails -> usually needs no extra API key + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} PPT Design
Design each slide as a standalone 1600x900 HTML file, then export to PPT only when the user asks for it.
In this repo, the executable slide contract lives in ./scripts/slide_engine/.
The shared JS manifest and shared renderers are the runtime source of truth.
Files in ./styles/style_[a-j].md remain human-facing design references and must stay manually aligned with that executable manifest.
Workflow
- Identify the topic, audience, and deliverable.
- If the user provides a Markdown document, treat each
Page Xsection as one slide unless the document clearly indicates a different page structure. - Read style-selector.md before choosing a style.
- If the deck is in Chinese or mixed Chinese and English, read bilingual-typography.md.
- Recommend 2-3 styles when the user has not already chosen one.
- Explain each recommended style in plain language:
- style name
- one-line visual description
- what kind of content it fits best
- use English by default for these style explanations and recommendations
- Confirm or infer
background_mode:- default to
paper - allow
whiteonly for compatible light styles - if the chosen style does not support
white, say so and keeppaperor recommend a compatible style
- default to
- Read background-modes.md.
- Read presentation-layout-rules.md.
- Read html-review-checklist.md.
- When the deck is
client-facingorpublic-stage, read presentation-quality-rubric.md. - Read layout-prototypes.md. Classify each slide's content role and select a layout prototype before writing HTML. Do not repeat the same layout on consecutive slides.
- Read safe-zone.md. Enforce content boundaries on every slide: all primary content must live inside the main frame area (
y = 108pxtoy = 804px). Include chrome labels only on cover and closing slides whenchrome=bookend. - If a slide contains strict tables, org charts, framework diagrams, or other geometry-sensitive structures, read geometry-preserve.md before writing that slide.
- Read the chosen style file in
./styles/style_[a-j].mdbefore writing HTML. Treat it as the design reference for mood, typography, and ornament logic; runtime behavior is enforced by the shared slide engine. - Preserve the chosen style's native whitespace, ornament density, contrast, and pacing. Do not normalize all styles toward the same layout density.
- When the slide copy is Chinese or bilingual, follow the style's Chinese and English pairing guidance rather than reusing the English display font everywhere.
- Recompose page content into slide hierarchy instead of preserving raw Markdown formatting literally, except when geometry-sensitive structure should be preserved.
- Generate one HTML file per slide in
./outputs/html/. - Review every generated HTML slide before delivery. Treat this as mandatory, not optional.
- Fix layout, spacing, typography, hierarchy, and geometry issues found in review using the smallest change that keeps the slide true to the chosen style.
- When
speaker_notes_modeis enabled, generate a sidecar notes file for presenter use. - If the user wants PPT, render the HTML slides to PNG and package them into a PPTX.
For public-stage work, treat the flow as a task pipeline:
- draft generation
- polish pass
- audit gate
- render / export
Do not skip the polish pass and do not export before the audit gate passes.
Inputs
Use these fields when the user provides them or when you need to make them explicit in your own reasoning:
input_markdown: the source Markdown for the deck, ideally grouped byPage 1,Page 2, and so onstyle:A-Jor a named stylebackground_mode:paperorwhitechrome:all,bookend, ornonegeometry_mode:auto,preserve, orrecomposepresentation_scenario:brand-launch,investor-board,client-pitch, orresearch-briefquality_tier:internal,client-facing, orpublic-stagespeaker_notes_mode:none,outline, orfullbrand_profile: brand lock settings for logo, footer, palette, and font policydeliverable:html,ppt, orboth
Default behavior:
input_markdown: infer page structure from headings when possiblestyle: recommend candidates first when unspecifiedbackground_mode:paperchrome:bookendgeometry_mode:autopresentation_scenario:brand-launchquality_tier:public-stagespeaker_notes_mode:outlinedeliverable:html
Repo note:
- The bundled demo builders in
./scripts/build_template_style_cases.mjsand./scripts/build_twitter_style_cases.mjsare fixed internal benchmark pipelines. - They currently render with
chrome=bookendand validate HTML before PNG/PPT export. - They do not expose every skill input as a CLI flag.
Style Selection
Read style-selector.md first.
When the user has not chosen a style:
- Recommend only 2-3 styles, not all 10.
- Match the recommendation to the content rather than to arbitrary taste words like "nice" or "cool".
- Explain what the style looks like and what kind of material it suits.
- Default the style recommendation language to English, even when the working conversation is in another language.
- Keep generated slide copy in the user's source language unless the user explicitly asks for translation.
Examples:
- Business report, finance, policy, research summary: bias toward
A,D, orI. - Brand story, culture, exhibition, philosophy, editorial: bias toward
B,E, orF. - Creative proposal, event, youth brand, campaign, entertainment: bias toward
C,G,H, orJ.
Background Modes
Read background-modes.md.
Apply these rules:
paperkeeps paper grain, print texture, and warm off-white stock when the style supports it.whiteswitches the slide canvas to clean white and removes paper-specific texture, fold marks, and stock simulation.whitedoes not remove style identity. Keep the typography, grid, ornament, contrast system, and non-paper decorative devices.whiteis supported only by stylesA,B,C,D,E,G, andJ.- Styles
F,H, andIare dark-native. Do not whitewash them.
HTML Rules
- Create one file per slide:
slide_01.html,slide_02.html, and so on. - Keep the canvas fixed at
1600x900. - Use static HTML, CSS, and inline SVG only.
- Do not use JavaScript in the slide files.
- Do not use external images other than Google Fonts.
- Save outputs in
./outputs/html/. - Design for projection and presentation first, not for dense document reading.
Use this base structure unless the style file overrides a specific detail:
<!DOCTYPE html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1600">
<title>Slide Title</title>
<link href="https://fonts.googleapis.com/css2?family=..." rel="stylesheet">
<style>
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #e0e0e0;
overflow: hidden;
}
.slide {
position: relative;
width: 1600px;
height: 900px;
overflow: hidden;
}
.slide::before {
content: '';
position: absolute;
inset: 0;
z-index: 50;
pointer-events: none;
}
.chrome-top, .chrome-bottom {
position: absolute;
left: var(--edge, 96px);
right: var(--edge, 96px);
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--muted, #999);
z-index: 2;
}
.chrome-top { top: 28px; }
.chrome-bottom { bottom: 24px; }
.main-frame {
position: absolute;
left: var(--edge, 96px);
right: var(--edge, 96px);
top: 108px;
bottom: 96px;
z-index: 3;
}
</style>
</head>
<body>
<div class="slide">
<!-- Include chrome-top and chrome-bottom on cover and closing slides only when chrome=bookend -->
<div class="chrome-top">
<div class="style-id">STYLE A / Swiss International</div>
<div class="meta-id">Cover</div>
</div>
<div class="chrome-bottom">
<div class="meta-id">cover-swiss-rail</div>
<div class="page-id">01 / 05</div>
</div>
<!-- Main content frame — present on EVERY slide -->
<main class="main-frame">
<!-- All primary content goes here -->
</main>
</div>
</body>
</html>
Chrome Labels
Read safe-zone.md.
Apply these rules:
chrome=bookend: show.chrome-topand.chrome-bottomon cover and closing slides only.chrome=all: show.chrome-topand.chrome-bottomon every slide.chrome=none: omit chrome labels entirely.- The main content frame does not move when chrome visibility changes.
Style Fidelity
Apply these rules on every slide:
- The shared engine manifest is the executable source of truth; the chosen style file is the human design reference.
- Preserve the style's native whitespace strategy. Minimal and editorial styles should stay restrained.
- Preserve ornament logic. Decorative rules, frames, and accents should support the composition, not dominate it.
- When fixing density or collisions, prefer content edits, card count changes, or local spacing adjustments over turning every style into the same template.
- A successful revision should still look unmistakably like the chosen style family.
Presentation Typography
Read presentation-layout-rules.md.
Apply these rules on every slide:
- Prioritize legibility at presentation distance.
- Do not allow text blocks, labels, or numbers to collide with each other.
- Prefer fewer, larger text groups over many small annotations.
- Keep headline and body contrast obvious in size, weight, and spacing.
- If a slide is text-heavy, redesign the hierarchy instead of shrinking everything.
- If a slide contains table-like information, convert it into presentation-friendly structure unless the user explicitly requires a literal dense table.
For presentation use, apply the full typography scale from presentation-layout-rules.md. The eight roles and their hard minimums are:
| Role | EN Min | CN Min |
|---|---|---|
| Display Title | 44px |
40px |
| Section Heading | 28px |
28px |
| Body | 22px |
24px |
| Table Header | 20px |
22px |
| Table Cell | 18px |
20px |
| Support Copy | 18px |
20px |
| Label / Caption | 16px |
18px |
| Page Number (chrome only) | 14px |
14px |
Do not shrink any role below its minimum. If content does not fit, reduce content, split the slide, or rebuild the hierarchy. When the chosen style is intentionally fancy or experimental, preserve the style but still protect legibility.
Tables And Text-Heavy Content
Read presentation-layout-rules.md.
When the user asks for tables, comparisons, or many words:
- Default to redesigned comparison blocks, metric cards, timeline rows, or labeled columns instead of raw spreadsheet tables.
- Use a true table only when row-column comparison is the main point and simplifying it would lose meaning.
- Break large tables into multiple slides when needed.
- Highlight only the few values or row groups that matter.
- Maintain generous padding inside cells or cards so text never feels cramped.
- For dense content, prefer 3-6 major points per slide rather than squeezing everything into one page.
Geometry-Sensitive Content
Read geometry-preserve.md when a slide contains diagrams, framework maps, org charts, box-and-arrow structures, or strict tables.
Apply these rules:
geometry_mode=auto: preserve geometry when box size, connector position, or table structure carries meaning.geometry_mode=preserve: keep the structural skeleton intact even if that means reducing copy or splitting the figure across slides.geometry_mode=recompose: reinterpret the content into slide-friendly cards or bands only when the user explicitly wants that.- For geometry-sensitive slides, style changes surface treatment only. Do not distort the diagram's core proportions just to match a preferred layout prototype.
- Use explicit tracks, coordinates, or bounded box sizes for the diagram skeleton instead of leaving box proportions fully driven by text length.
- If content does not fit inside the diagram cleanly, shorten labels, split the figure, or move detail into notes. Do not compress the geometry until the structure becomes misleading.
Mandatory HTML Review
Read html-review-checklist.md.
After generating each slide, perform a second-pass review before delivery:
- Check for overlap, collision, clipping, and crowding.
- Check that typography is large enough for presentation.
- Check that text-heavy or table-heavy content has been reformatted for slides.
- Check that geometry-sensitive diagrams or tables still preserve their intended proportions.
- Check that the chosen style is still intact after readability adjustments.
- When tools allow it, render the HTML and inspect the actual visual result instead of relying only on source review.
- If exporting to PPT, confirm the rendered PNG aspect ratio matches the final PPT slide.
- Revise the HTML if any item fails.
Never hand off first-draft HTML without this review pass.
PPT Export
When the user wants ppt or both, use the bundled scripts:
- Ensure dependencies are installed with
npm install. - Render HTML slides to PNG:
node .\scripts\render_slides.mjs --input .\outputs\html --output .\outputs\rendered
- Build the PPTX:
node .\scripts\export_ppt.mjs --input .\outputs\rendered --output .\outputs\ppt\deck.pptx
The PPT export is intentionally image-based for fidelity. Each slide becomes one full-bleed PNG inside a 16:9 deck.
Quality Checks
- The chosen style matches the content type and tone.
- The user can understand why that style was chosen.
background_modeis honored correctly.- Compatible light styles can switch between
paperandwhite. - Incompatible dark styles reject
whiteexplicitly. - Every slide remains visually coherent within one style family.
- Text does not overlap, collide, clip, or crowd nearby elements.
- Typography is large enough for projection and presentation use.
- Text-heavy and table-like content has been reformatted into stronger slide hierarchy where appropriate.
- A second-pass HTML review happened after generation, not only before.
- PPT pages preserve the HTML composition without cropping or scaling errors.
- Decorative blocks, especially dark or saturated ones, do not invade the primary reading zones unless that overlap is deliberate, padded, and presentation-safe.
- All primary content stays within the main frame area (
108pxto804pxvertically). - No text content appears in the top reserved zone (
0-96px) or bottom reserved zone (804-900px) except chrome labels allowed by the currentchromemode. - Consecutive slides use different layout prototypes.
- A 10-slide deck uses at least 5 distinct layout prototypes.
- Refinements preserve the original style instead of flattening all decks toward the same density or ornament pattern.
Decide Fit First
Design Intent
How To Use It
Boundaries And Review