Two modes (choose the route first, register in MODE_REGISTRY)
programmatic(default): python-pptx programmatic route (themes.py/patterns.md/build_deck.py). No image-generation key, data-intensive, batch page output — use this one.imggen-enhanced: five-stage image-generation pipeline (outline card → full-page visual draft → element decomposition → reassembly and assembly → QA). Use this one when you want high-aesthetic pitch/defense/launch-event quality and an image-generation key is configured. For the complete procedure seereferences/imggen_pipeline.md, contract templatetemplates/deck_spec.yaml, scriptsscripts/imagegen.py(three-backend wrapper) +scripts/assemble_from_spec.py(reassembly and assembly). Without a key, automatically fall back toprogrammatic(imagegen.py explicitly reports the backend as unavailable, no silent fake success).- Three hard boundaries(imggen-enhanced must be observed, cross-referenced with m11/a10): ① Data charts are never image-generated (use m11/m06 real data) ② The paper figure pipeline strictly forbids image generation (publisher prohibition) ③ Text is never baked into images (always native text boxes). See
references/imggen_pipeline.mdthe "Three hard boundaries" section.
First decide three things
- Scenario and audience: defense (reviewers/advisor) vs pitch (investors/judges) vs report — determines content depth and pacing.
- Narrative logic: choose a skeleton (problem-method-result-value / pain point-solution-market-team / background-work-contribution-outlook), first list the outline (one core message per page).
- Visual style: choose a style by theme from db06 (academic/tech/agriculture/medical/business/minimal/light/dark/data visualization/pitch), define the palette + font pairing + icon style, and keep it consistent throughout.If the project has
databases/db09-projects/projects/<project_name>/palette.json, its colors must be used(a visual SSOT instance shared with paper figures m11/frontend a05, including imggen style_anchor colors; for the schema see db09 README), ensuring the PPT uses the same colors as the paper figures/frontend, without starting a separate set.
Page types and layout
Cover (title/author/affiliation/date), agenda, transition pages, content pages (one point per page + whitespace), chart pages (large chart, little text), process pages, timeline pages, comparison pages, team pages, conclusion pages, acknowledgments/QA pages. Layout principles: alignment, contrast, repetition, proximity; visual hierarchy (title > key points > details); controlled information density per page; highlight one key point. Specific scales (borrowed from the Anthropic PPTX skill): one primary color takes 60–70% of visual weight + 1–2 secondary colors + 1 sharp accent color; dark colors for cover/conclusion, light colors for content (sandwich structure); lock in one repeated visual motif (rounded image frame/color-ring icon/single thick edge) and carry it through the whole deck. Font sizes: title 36–44pt, section title 20–24pt, body 14–16pt, notes 10–12pt; page margins ≥0.5", block spacing uniformly 0.3" or 0.5". Body text always left-aligned, only titles centered. Every page must have a visual element; pure text pages are forbidden. Explicit taboos: do not add decorative underlines below titles (an AI-flavor marker, use whitespace instead); do not repeat the same layout on every page; do not default to blue (choose colors by theme); when text boxes need to align with shapes, set margin=0.
Academic report special track (papers/defenses/conferences)
- Action title: Write each page title as a complete sentence stating the conclusion, not a topic label (write "All three cohort treatment effects are significant" rather than "Results").
- Ghost deck test: Reading only all the titles in sequence must be able to tell the entire argument; if not, revise the outline first before making pages.
- Choose one of three narrative skeletons: SCR (Situation-Complication-Resolution) / funnel + answer (background→gap→method→findings→significance) / answer first (for time-pressed reviewers).
- One report tells only one argument, everything else goes into the appendix; each page has one responsibility, one exhibit. Results page: chart on the left, interpretation bullets on the right; annotate key findings directly on the chart (arrows/highlighted regions/"↑23%"/color change for the focus sequence); body text ≤~40 words/page; end with Conclusions rather than "Thank You".
- Academic color schemes are more restrained: white background, a single sans-serif font, at most three colors (primary
1F4E79+secondary2E75B6+accent), no decorative icons/gradients.
Implementation tools (as needed, see a09)
Choose based on "whether editable PPTX is needed / text-based version control / design intensity":
- python-pptx(Python,The preferred route when this skill comes with runnable assets):
Presentation()→slides.add_slide(slide_layouts[i])→ placeholder/add_textbox/add_picture/add_table/add_chart→save(); unitsInches/Pt, colorsRGBColor. Strong at data-driven batch page generation, table-intensive work, and connecting to the Python analysis pipeline of m06/m11; no gradients (use gradient images as backgrounds), cannot render PDF itself (go through LibreOffice). - PptxGenJS(Node):
new pptxgen()→addSlide()→addText/addShape/addImage/addTable/addChart→writeFile(), coordinates = inches. For list items usebullet:true+breakLine:true(avoid Unicode•); to align with shapes setmargin:0; shadow offset must be ≥0, color uses 6-digit hex without#; no gradients (use gradient images as backgrounds). The preferred choice for creating Anthropic general decks "from scratch";The JS route does not come with runnable assets in this skill, go directly to a09 → anthropics/skills' pptxgenjs.md。 - Marp(Markdown): set front-matter
theme/paginate/headingDivider/style,---for pagination,<!-- -->to write notes;npx @marp-team/marp-cli deck.md --pdf|--pptx(goes through a headless browser).--pptxBy default each page is rasterized into an image and cannot be edited again; if editable text is needed add--pptx --pptx-editable(styles may not be fully reproduced). - reveal.js(HTML):
Reveal.initialize({plugins:[Markdown,Notes,Math]});sectionfor pagination, nesting = vertical;?print-pdfexports PDF; strong interactivity/animation but distribution is not as good as PPTX. - Beamer(LaTeX, academic):
\documentclass{beamer}+\usetheme{};frame/columns/block/alertblock; for overlays use\item<1->or\pause; strong for formulas/BibTeX, slow visual iteration. - Poster:LaTeX
beamerposter(\usepackage[orientation=portrait,size=a0,scale=1.4]{beamerposter}) ortikzposter(\block{}{}); or a PPTX poster (set the slide size to a single A0 page, with python-pptx setslide_width/height). A0=841×1189mm, photos ≥150–300 DPI, embed fonts to prevent misalignment. - Design/AI-oriented(workflows can be borrowed, closed-source): Canva Connect API (
POST /autofillsbatch filling of brand templates, requires Enterprise), Gamma Generations API (POST /v1.0/generationsprompt→deck, canexportAs:pptx/pdf), Beautiful.ai (rule-driven adaptive layout concept), Slidesgo (template inspiration filtered by industry/style/color). - One-click conversion from paper to slides: choose one of two routes—the image rendering route (Paper2Slides/HKUDS, RAG→analysis→planning→rendering, staged checkpoints) suits papers balanced between text and figures; the LaTeX/Beamer route (takashiishida/paper2slides, flatten source→LLM produces Beamer→chktex lint→compile) suits hardcore papers heavy on formulas. For the complete CLI/parameters/tested lessons of both, see
references.md(paper2slides two sections). Reuse paper figures (m11) for charts and adapt them for projection: redraw from the paper rather than pasting PDF figures directly, enlarge axis labels to ≥16pt, and enhance contrast. - Image generation boundaries (hard red lines that cross-reference m11 figure_integrity): the outputs of the above AI image generation/rendering routes (Gamma, Paper2Slides, this skill's imggen-enhanced image generation pipeline)are only for PPT/pitch/frontend inspiration images, and no output may ever enter the paper figure pipeline. Paper figures must always go through m11 (light-figure-drawing) data-driven drawing—the three top publishers Nature/Science/Elsevier explicitly prohibit AI-generated paper images (see light-figure-drawing
light-figure-drawing/references/figure_integrity.md"AI-generated image policy" section). If experimental data figures are to be included in a PPT, redraw and adapt them from m11 finished products for projection; do not use generative models to create data figures.
Presentation pacing
Provide speaker notes and suggested duration for each slide; mark "must say/optional"; control the total page count to match the duration (defense is often 8–12 min ≈ 10–15 slides).
Aesthetic self-check (before final output)
□ Consistent style (color/font/icons) □ One key point per slide □ No long blocks of text □ Charts clear and projectable □ Neat alignment □ Coherent logic □ Highlights prominent □ Page count matches duration. Academic extras: □ Every slide has an action title □ Ghost deck test passed □ Each result slide has one figure with a "so what" annotation □ Borrowed figures/data have in-slide citations □ References slide at the end □ Ends with Conclusions □ Body text ≥20pt.
This skill's built-in runnable assets (use directly, don't reinvent)
assets/themes.py: db06 ten major themes'COLORS/FONTSconstant blocks (academic/tech/agriculture/medical/business/minimal/light premium/dark high contrast/data visualization/competition pitch), unified 8-field palette (bg/surface/primary/secondary/accent/text/muted/line) + font pairing.from themes import get_theme; t=get_theme("academic"). dataviz additionally includes the Okabe-Ito colorblind-friendly sequence.python themes.pyself-test prints the full table.patterns.md: python-pptx-ready layout snippets—cover/table of contents/transition/content/results (figure left, interpretation right)/comparison (highlighted lists and tables)/timeline/conclusion/References, includingfill_bg(full-bleed rectangle method without native slide background),add_text(margin=0)、rectand other shared utility functions.examples/build_deck.py: End-to-end generation of a 5-page academic pptx (cover + content + results + comparison + References), with speaker notes on each page and a built-in ghost deck test.python build_deck.py --theme tech -o tech_demo.pptx, runs without external data.scripts/thumbnail.py: pptx→thumbnail grid for visual QA. Prefer LibreOffice pixel rendering (requires soffice + PyMuPDF/pdftoppm); when soffice is unavailable, automatically fall back to pure python (read python-pptx geometry and use PIL to draw layout schematics), enough to catch overlap/overflow/blank pages/alignment/layout repetition.python scripts/thumbnail.py deck.pptx --cols 4。scripts/to_pdf.py: soffice headless wrapper for pptx→pdf. This environment does not have LibreOffice installed; the script will explicitly report unavailable and provide installation guidance + alternatives (no silent false success).python scripts/to_pdf.py deck.pptx,--checkonly probes the engine.scripts/imagegen.py(imggen-enhanced): unified image generation wrapper for three backends (OpenAI gpt-image / Gemini Nano Banana / Volcano Ark Seedream), automatically detects keys,--backendcan be specified; the mock backend draws placeholder images with PIL for offline assembly without keys.python scripts/imagegen.py --checkprobes backends; endpoints/parameters tested are in references.md and_verification_log/R6-imggen-api.md。scripts/assemble_from_spec.py(imggen-enhanced Stage D): readstemplates/deck_spec.yamlcontract + assets_gen/ + figures/ → produceseditable pptx (native text boxes/tables/images placed by bbox).python scripts/assemble_from_spec.py spec.yaml --assets assets_gen --figures figures -o out.pptx。
QA (hunt for bugs, don't just confirm)
By default there are issues after output. ① Content QA:python -m markitdown out.pptx check for omissions/typos/order, and grep -iE "xxxx|lorem|ipsum" catch leftover placeholders. ② Visual QA: prioritize python scripts/thumbnail.py out.pptx generating a thumbnail grid to scan page by page (layout previews are possible even without soffice); when LibreOffice is available, python scripts/to_pdf.py out.pptx convert to PDF then pdftoppm -jpeg -r 150 out.pdf slide generate high-fidelity images, and go image by image to find overlap/text overflow/low contrast/alignment misplacement/insufficient margins/decorative lines pressing on two-line titles; if there is a sub-agent, hand it off to it (fresh eyes). ③ After changes, re-render only the affected pages, looping until a full round has no new issues before finishing.
Connections
Content comes from m07 (paper main text)/m06 (results), charts come from m11, competition pitch comes from m17; visual style coordinates with a05/m11 (a07 unifies terminology and metrics); file parsing borrows a01; versions and styles are registered in db06/db09. Before delivery, pass the a08 (light-self-review) self-check gate.
Outputs
Complete PPT (source file + export) + narrative outline + speaker notes for each page + style description (registered in db06/db09).
Compliance
For commercial templates, only learn the layout, do not copy directly (CONVENTIONS §5); finalize as original. Content must be consistent with the paper/project (a07). For closed-source/template sources such as Canva/Gamma/Slidesgo, borrow workflows and layout inspiration, but authorization terms must be confirmed first; for proprietary skills such as Anthropic/academic-pptx, only learn the methods, do not copy scripts directly.
Item-by-item hardcore notes on tools (real endpoints/parameters/pitfalls) are in references.md.