Turns long-form articles, reports, or sermon notes into presentation decks by generating full-slide images with all text baked in, then assembling them into a PowerPoint file. You hand it raw content and it builds a three-layer plan (what you mean to say, what text actually appears, how it should look), picks from twelve style packs (cinematic dark, editorial, whiteboard sketch, etc.), writes image prompts per slide, and outputs 16:9 PNGs plus a concatenated PPTX. Useful when you want consistent visual treatment without manually positioning text boxes, or when you need a repeatable workflow you can version control and iterate. The three-artifact planning model (message, display, visual) keeps content decisions separate from design decisions, which makes revision cleaner than typical slide tools.
npx -y skills add autobyteus/autobyteus-skills --skill infographic-powerpoint-deck --agent claude-codeInstalls into .claude/skills of the current project.
This skill should work directly from the user's raw article content by default.
If the user provides a full article, sermon, report, or long notes:
slides_message_plan.md from the article structure.slides_message_plan.md into slides_display_plan.md.slides_display_plan.md into slides_visual_plan.md.If the user already provides slides_message_plan.md or an equivalent content-first slide table, you can skip the article-intake step and use that directly.
If the user provides one or more reference slides/screenshots, use references/reference_slide_intake.md to extract the reusable visual grammar before writing prompts.
Use three distinct planning artifacts:
slides_message_plan.md
slides_display_plan.md
slides_visual_plan.md
slides_message_plan.md is the source of truth for what the presenter means to communicate.
slides_display_plan.md is the source of truth for what text the audience actually sees.
slides_visual_plan.md is the source of truth for design and prompt production.
references/article_intake_workflow.md, orslides_message_plan.md, orreferences/reference_slide_intake.mdslides_message_plan.md first.references/deck_archetype_routing.md.
editorial-light.slides_display_plan.md from slides_message_plan.md.
slides_visual_plan.md from slides_display_plan.md.
scripts/compose_style_pack_blocks.py --pack-id <id> as a helper, or manually read the style-pack files.slides_visual_plan.md, fill references/prompt_template.md:
slides_display_plan.md in the user-specified language(s).L1 or L10 in planning metadata only. Translate the routed layout into plain composition language inside the concrete image prompt.Using the provided image as the compositional base..., not tool language such as edit this image.Hard canvas constraint: 16:9 widescreen. Do not generate a square image.).generation_config with aspect_ratio: "16:9").scripts/build_images_only_pptx.py.Outputs to produce in the user’s workspace:
slides_message_plan.md (detailed per-slide speaking / teaching plan; source of truth for what each slide is meant to communicate)slides_display_plan.md (audience-facing on-slide text plan; source of truth for displayed text and labels)slides_visual_plan.md (visual-production plan; source of truth for archetype/style/layout/scene decisions)prompts.md (the exact prompts used for each slide)slides/slide01.png ... (final 16:9 images)deck_images_only.pptx (concatenated images)For higher-quality multi-step workflows, you may start from either a raw article or an already-structured message slide table:
references/article_intake_workflow.md.slides_message_plan.md, preserve it as the message source of truth.slides_message_plan.md using references/slide_table_normalization.md before display planning.references/article_intake_workflow.md (when starting from raw article content)references/deck_archetype_routing.md (infer the overall deck form first)references/style-pack-catalog.md (choose pack ID)references/style-pack-system.md (load order + composition rules)references/layout_routing_policy.md (auto-route layouts by default)references/prompt_example_library.md (use examples and anti-examples to avoid panel drift)references/high_fidelity_prompt_playbook.md (when the user wants a more precise prompt)references/reference_slide_intake.md (when user wants the deck to learn from a reference slide)references/style-packs/<pack-id>/ (pack-local blocks)references/typography_spacing_lock.mdreferences/text_fidelity_block.mdreferences/negative_prompt_block.mdreferences/storyboard_library.mdreferences/shot_mood_library.mdreferences/scene-catalog.mdreferences/scene_library.mdreferences/layout_library.mdreferences/chinese_quote_compression.md (when long Chinese quotes need splitting)Use folderized style packs so each style is self-contained:
references/style-packs/<pack-id>/.manifest.toml and block files that define the look.base-core to reuse shared constraints.Note: despite the Bible-themed examples, this workflow works for any topic. Swap scenes/props in references/scene_library.md to match your domain (product, research, training, etc.).
Use the deck archetype to drive the rest of the decisions:
Slide count is not a deck-skill default. It should be determined by how many slides are actually needed to deliver the content well.
Use this decision rule:
Upstream slide plans, agent instructions, runtime expectations, or user requests can constrain the deck, but they are not the core planning logic. If an explicit brevity request would force harmful compression, preserve the content logic first and either:
slides_message_plan.mdDo not collapse a rich article into a short deck merely because the skill can make a shorter deck.
Infographic does not mean one universal text density. Some decks should feel like sparse keynote slides. Other decks should feel like self-contained didactic infographics or teaching posters with more visible words, labels, formulas, diagram captions, and explanatory sections. Choose the density and layout family that best serves the content instead of forcing every deck toward the same low-text aesthetic.
Use one style pack across the deck by default, and let the skill choose layout per slide unless the user explicitly overrides it:
L4, L5, or L6.L4 or L6 before L1 if the scene can provide a calm text-safe zone.L1, L2, L3, L7, L8, L9, L10, or L11 when structure or density requires those layouts.references/article_intake_workflow.md.references/deck_archetype_routing.md.references/layout_routing_policy.md.Read references/prompt_template.md and fill it per slide. Keep it extremely explicit:
slides_display_plan.md into one exact-text block in the concrete prompt.L1 before writing the prompt.L1-L11 as internal routing handles, not model-facing prompt text. The image model should receive composition instructions such as use a mirrored two-zone teaching board with a central divider, not use layout L9.Layout hint when the user or slides_visual_plan.md provides one.If you need article-first intake guidance, read references/article_intake_workflow.md.
If you need deck archetype selection guidance, read references/deck_archetype_routing.md.
If you need inspiration for more cinematic scene material and prop ideas, read references/scene_library.md.
If you need stable scene IDs + tags for selection/filtering, read references/scene-catalog.md.
If you need copy-ready visual scene blocks, read references/scene-preset-library.md.
If you need fast, reliable infographic compositions or full-bleed title-card layouts, read references/layout_library.md.
If you need automatic routing rules for when to use each layout, read references/layout_routing_policy.md.
If you need concrete good/bad prompt examples before writing prompts, read references/prompt_example_library.md.
If you need a higher-precision checklist for turning style/layout/scene choices into a concrete prompt, read references/high_fidelity_prompt_playbook.md.
If the user gives a screenshot or example slide and wants the skill to learn from it, read references/reference_slide_intake.md.
If you need shot-language / time-of-day / weather / lighting presets, read references/shot_mood_library.md.
If you need style modularity, read references/style-pack-system.md and use scripts/compose_style_pack_blocks.py.
If you want fewer typos and more readability, paste these into every slide prompt: references/typography_spacing_lock.md, references/text_fidelity_block.md, references/negative_prompt_block.md.
If you want storyboard-like viewing rhythm, read references/storyboard_library.md.
If a slide uses language-specific rendering constraints or long non-Latin quote blocks, read the relevant reference note before writing the concrete prompt (for example, references/chinese_quote_compression.md).
For each slide:
All required on-slide text must be exact. Do not rewrite. Do not add or remove punctuation or spaces.,Common failure fixes:
references/article_intake_workflow.md and the message/display boundary; fix the slide roles or display compression before rewriting prompts.L9, L10, or L11 and explicitly include the needed labels, captions, formulas, or comparison headings instead of pretending the content is sparse.editorial-light or airy-relaxed, disable vignette, force daylight scene IDs, and add brightness override.references/prompt_example_library.md, reroute L1 to L4 or L6, and remove any text panel wording before retrying.references/layout_routing_policy.md; do not keep forcing a weak layout just because an earlier guess picked it.Some image tools only allow writing output images to specific directories (often ~/Downloads or a workspace path). When blocked:
~/Downloads/<deck_id>/).scripts/compose_style_pack_blocks.pyRun:
python3 scripts/compose_style_pack_blocks.py --pack-id editorial-light
scripts/create_style_pack.pyRun:
python3 scripts/create_style_pack.py --pack-id warm-minimal --display-name "Warm Minimal" --keywords "warm,balanced" --scene-tags "warm,clean"
scripts/build_images_only_pptx.pyslide*.png full-screen in filename order.Dependencies (install if missing):
python3 -m pip install python-pptx
Run:
python3 scripts/build_images_only_pptx.py --images-dir /path/to/slides --out /path/to/deck.pptx
references/prompt_template.md when you need a high-detail prompt skeleton that produces the “rich background infographic” style reliably.references/article_intake_workflow.md when the user gives full article content and expects the skill to infer the deck strategy.references/deck_archetype_routing.md when deciding what overall presentation form best fits the article.references/style-pack-system.md for composition rules and how to add new style packs.references/style-pack-catalog.md for intent-to-style routing and pack selection.references/style-packs/ for self-contained style definitions.references/slide_table_normalization.md to normalize underspecified upstream content slide tables into slides_message_plan.md before display and visual planning.references/scene-catalog.md for reusable scene IDs and tags.references/scene-preset-library.md for ready-to-paste scene visual blocks.references/scene-entry-template.md when adding new scene IDs to the catalog.references/scene_library.md to quickly add scene-based / cinematic elements (locations + props) without making the slide messy.references/layout_library.md to choose a layout that matches your text density (so slides stay readable).references/layout_routing_policy.md to auto-route layouts when the user does not explicitly request them.references/shot_mood_library.md for cinematic shot + lighting + time-of-day presets.references/motif_pack.md when you want optional recurring motif guidance for stronger deck cohesion.references/deck_consistency_block.md when you want optional cross-slide consistency locks for light direction, rhythm, and texture behavior.references/typography_spacing_lock.md to prevent tiny text and keep spacing consistent.references/text_fidelity_block.md to reduce text errors and forbid any extra words in any language.references/negative_prompt_block.md to avoid common generator artifacts (watermarks/unspecified text/UI).references/storyboard_library.md to give the whole deck a narrative arc.references/chinese_quote_compression.md only when the required on-slide text is Chinese and long enough to need splitting without paraphrasing.larksuite/cli
googleworkspace/cli
googleworkspace/cli
googleworkspace/cli