| name | baoyu-infographic |
| description | Generates professional infographics with 20 layout types and 17 visual styles. Analyzes content, recommends layoutรstyle combinations, and generates publication-ready infographics. Use when user asks to create "infographic", "ไฟกๆฏๅพ", "visual summary", or "ๅฏ่งๅ". |
Infographic Generator
Two dimensions: layout (information structure) ร style (visual aesthetics). Freely combine any layout with any style.
Usage
/baoyu-infographic path/to/content.md
/baoyu-infographic path/to/content.md --layout hierarchical-layers --style technical-schematic
/baoyu-infographic path/to/content.md --aspect portrait --lang zh
/baoyu-infographic
Options
| Option | Values |
|---|
--layout | 20 options (see Layout Gallery), default: bento-grid |
--style | 17 options (see Style Gallery), default: craft-handmade |
--aspect | landscape (16:9), portrait (9:16), square (1:1) |
--lang | en, zh, ja, etc. |
Layout Gallery
| Layout | Best For |
|---|
linear-progression | Timelines, processes, tutorials |
binary-comparison | A vs B, before-after, pros-cons |
comparison-matrix | Multi-factor comparisons |
hierarchical-layers | Pyramids, priority levels |
tree-branching | Categories, taxonomies |
hub-spoke | Central concept with related items |
structural-breakdown | Exploded views, cross-sections |
bento-grid | Multiple topics, overview (default) |
iceberg | Surface vs hidden aspects |
bridge | Problem-solution |
funnel | Conversion, filtering |
isometric-map | Spatial relationships |
dashboard | Metrics, KPIs |
periodic-table | Categorized collections |
comic-strip | Narratives, sequences |
story-mountain | Plot structure, tension arcs |
jigsaw | Interconnected parts |
venn-diagram | Overlapping concepts |
winding-roadmap | Journey, milestones |
circular-flow | Cycles, recurring processes |
Full definitions: references/layouts/<layout>.md
Style Gallery
| Style | Description |
|---|
craft-handmade | Hand-drawn, paper craft (default) |
claymation | 3D clay figures, stop-motion |
kawaii | Japanese cute, pastels |
storybook-watercolor | Soft painted, whimsical |
chalkboard | Chalk on black board |
cyberpunk-neon | Neon glow, futuristic |
bold-graphic | Comic style, halftone |
aged-academia | Vintage science, sepia |
corporate-memphis | Flat vector, vibrant |
technical-schematic | Blueprint, engineering |
origami | Folded paper, geometric |
pixel-art | Retro 8-bit |
ui-wireframe | Grayscale interface mockup |
subway-map | Transit diagram |
ikea-manual | Minimal line art |
knolling | Organized flat-lay |
lego-brick | Toy brick construction |
Full definitions: references/styles/<style>.md
Recommended Combinations
| Content Type | Layout + Style |
|---|
| Timeline/History | linear-progression + craft-handmade |
| Step-by-step | linear-progression + ikea-manual |
| A vs B | binary-comparison + corporate-memphis |
| Hierarchy | hierarchical-layers + craft-handmade |
| Overlap | venn-diagram + craft-handmade |
| Conversion | funnel + corporate-memphis |
| Cycles | circular-flow + craft-handmade |
| Technical | structural-breakdown + technical-schematic |
| Metrics | dashboard + corporate-memphis |
| Educational | bento-grid + chalkboard |
| Journey | winding-roadmap + storybook-watercolor |
| Categories | periodic-table + bold-graphic |
Default: bento-grid + craft-handmade
Output Structure
infographic/{topic-slug}/
โโโ source-{slug}.{ext}
โโโ analysis.md
โโโ structured-content.md
โโโ prompts/infographic.md
โโโ infographic.png
Slug: 2-4 words kebab-case from topic. Conflict: append -YYYYMMDD-HHMMSS.
Core Principles
- Preserve all source data verbatimโno summarization or rephrasing
- Define learning objectives before structuring content
- Structure for visual communication (headlines, labels, visual elements)
Workflow
Step 1: Setup & Analyze
1.1 Load Preferences (EXTEND.md)
Use Bash to check EXTEND.md existence (priority order):
test -f .baoyu-skills/baoyu-infographic/EXTEND.md && echo "project"
test -f "$HOME/.baoyu-skills/baoyu-infographic/EXTEND.md" && echo "user"
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ Path โ Location โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ .baoyu-skills/baoyu-infographic/EXTEND.md โ Project directory โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ $HOME/.baoyu-skills/baoyu-infographic/EXTEND.md โ User home โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Result โ Action โ
โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Found โ Read, parse, display summary โ
โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Not found โ Ask user with AskUserQuestion (see references/config/first-time-setup.md) โ
โโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
EXTEND.md Supports: Preferred layout/style | Default aspect ratio | Custom style definitions | Language preference
Schema: references/config/preferences-schema.md
1.2 Analyze Content โ analysis.md
- Save source content (file path or paste โ
source.md)
- Backup rule: If
source.md exists, rename to source-backup-YYYYMMDD-HHMMSS.md
- Analyze: topic, data type, complexity, tone, audience
- Detect source language and user language
- Extract design instructions from user input
- Save analysis
- Backup rule: If
analysis.md exists, rename to analysis-backup-YYYYMMDD-HHMMSS.md
See references/analysis-framework.md for detailed format.
Step 2: Generate Structured Content โ structured-content.md
Transform content into infographic structure:
- Title and learning objectives
- Sections with: key concept, content (verbatim), visual element, text labels
- Data points (all statistics/quotes copied exactly)
- Design instructions from user
Rules: Markdown only. No new information. All data verbatim.
See references/structured-content-template.md for detailed format.
Step 3: Recommend Combinations
Recommend 3-5 layoutรstyle combinations based on:
- Data structure โ matching layout
- Content tone โ matching style
- Audience expectations
- User design instructions
Step 4: Confirm Options
Use single AskUserQuestion call with multiple questions to confirm all options together:
| Question | When | Options |
|---|
| Combination | Always | 3+ layoutรstyle combos with rationale |
| Aspect | Always | landscape (16:9), portrait (9:16), square (1:1) |
| Language | Only if source โ user language | Language for text content |
Important: Do NOT split into separate AskUserQuestion calls. Combine all applicable questions into one call.
Step 5: Generate Prompt โ prompts/infographic.md
Backup rule: If prompts/infographic.md exists, rename to prompts/infographic-backup-YYYYMMDD-HHMMSS.md
Combine:
- Layout definition from
references/layouts/<layout>.md
- Style definition from
references/styles/<style>.md
- Base template from
references/base-prompt.md
- Structured content from Step 2
- All text in confirmed language
Step 6: Generate Image
- Select available image generation skill (ask user if multiple)
- Check for existing file: Before generating, check if
infographic.png exists
- If exists: Rename to
infographic-backup-YYYYMMDD-HHMMSS.png
- Call with prompt file and output path
- On failure, auto-retry once
Step 7: Output Summary
Report: topic, layout, style, aspect, language, output path, files created.
References
references/analysis-framework.md - Analysis methodology
references/structured-content-template.md - Content format
references/base-prompt.md - Prompt template
references/layouts/<layout>.md - 20 layout definitions
references/styles/<style>.md - 17 style definitions
Extension Support
Custom configurations via EXTEND.md. See Step 1.1 for paths and supported options.
๐ Mandatory Post-Processing (EXIF strip)
After every image generated by this skill โ regardless of file extension claimed (.png/.jpg/.webp), regardless of provider (Gemini/OpenAI/DashScope), regardless of whether the user is going to share it โ Claude MUST run the post-processing pipeline defined in:
~/.baoyu-skills/image-post-processing.md
Why this is mandatory and unconditional:
- AI providers routinely embed metadata: provider tags, timestamps, color profiles, copyright fingerprints, watermark indicators, C2PA chunks
- Provider-claimed file format (e.g.
.png) often disagrees with actual format (e.g. JPEG with PNG extension) โ verify and rename
- Local-only files frequently get uploaded later (CDN, R2, screenshots into shared docs, git history) โ strip on creation, not before sharing
Required steps for each generated image (in order):
- Detect actual format with
PIL.Image.open(f).format (not the extension)
- Re-save via PIL with no metadata (this is the EXIF-strip step):
from PIL import Image
img = Image.open(path)
data = list(img.getdata())
clean = Image.new(img.mode, img.size)
clean.putdata(data)
clean.save(target_path, img.format, quality=95, optimize=True)
- If actual format โ claimed extension, rename to the correct one and remove the original
- Verify: re-open the saved file and assert
img.getexif() is empty AND img.info has no metadata keys (other than benign jfif/dpi)
- Only after verification passes may you report the image as done
โ ๏ธ Skipping this step or trusting "the provider doesn't add metadata" is a contract violation. Verify, do not assume.