Generates branded infographics using @antv/infographic with 114 templates across 7 categories for data visualizations, process diagrams, timelines, and comparisons.
From brand-content-designnpx claudepluginhub camoa/claude-skills --plugin brand-content-designThis skill is limited to using the following tools:
ACKNOWLEDGEMENTS.mdWORKFLOW.mdgenerate.jslib/backgrounds.jslib/dom-setup.jslib/exporter.jslib/icons.jslib/illustrations.jslib/infographic.jslib/prompt-generator.jslib/renderer.jslib/validation.jspackage-lock.jsonpackage.jsonprompts/data-prompt-template.mdreferences/backgrounds.mdreferences/icons.mdreferences/illustrations.mdreferences/templates.mdreferences/theming.mdProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Generate branded infographics with custom themes and backgrounds using @antv/infographic.
/brand-init to create project structure/brand-extract to generate brand-philosophy.md/template-infographic to create an infographic templateIf brand-philosophy.md is not found OR contains no ## Color Palette section:
/brand-extract first to analyze your brand."| Command | Purpose |
|---|---|
/template-infographic | Create infographic template |
/infographic | Generate infographic (guided) |
/infographic-quick | Generate infographic (fast) |
| Category | Count | Use Cases | Icons | Illustrated |
|---|---|---|---|---|
| Sequence | 43 | Timelines, steps, processes, roadmaps | ✓ (2) | ✓ (5) |
| List | 23 | Features, grids, pyramids, sectors | ✓ (4) | ✓ (1) |
| Hierarchy | 25 | Org charts, tree structures | — | — |
| Compare | 17 | VS, before/after, SWOT | — | — |
| Quadrant | 3 | 2x2 matrices | — | ✓ (1) |
| Relation | 2 | Networks, connections | ✓ (1) | — |
| Chart | 1 | Bar charts | — | — |
| Type | Count | Identifier | Data Format |
|---|---|---|---|
| Text-only | 100+ | (default) | { "label": "Cloud", "desc": "Infrastructure" } |
| Icon-based | 8 | icon in name | { "label": "icon:rocket", "desc": "Fast" } |
| Illustrated | 9 | -illus suffix | { "label": "Step 1", "desc": "Discovery", "illus": "step-1" } |
Recommendation: Start with text-only templates. Illustrated templates require custom image files.
When using -illus templates:
illus field referencing image filenameinfographics/{date}-{name}/illustrations/references/illustrations.md for detailed workflow| Element | Max | Good | Bad |
|---|---|---|---|
| Labels | 1-2 words | "Cloud" | "Cloud Computing Services" |
| Descriptions | 2-4 words | "Infrastructure design" | "Complete infrastructure design and implementation" |
If overlap occurs: shorten text, use wider canvas (1200px+), or use column/grid templates.
| Task | How |
|---|---|
| Generate infographic | node generate.js --config config.json --data '{...}' --output output.png |
| Set background | --background "spotlight-dots" |
| SVG output | --format svg |
Layered (gradient + pattern):
| Preset | Effect |
|---|---|
spotlight-dots | Radial spotlight + subtle dots (recommended) |
spotlight-grid | Radial spotlight + grid lines |
diagonal-crosshatch | Diagonal fade + crosshatch |
tech-matrix | Tech gradient + dense grid |
Simple (gradient or pattern only):
| Preset | Effect |
|---|---|
spotlight | Radial gradient only |
diagonal-fade | Corner to corner fade |
top-down | Vertical fade |
subtle-dots | Light dot pattern |
tech-grid | Grid lines |
crosshatch | Diagonal crosshatch |
solid | Plain solid color |
/template-infographic
Select: category → design → palette → background → style
/infographic-quick
Select template → paste content → name → get PNG
These checks are NON-NEGOTIABLE before generating any infographic.
| Requirement | Value |
|---|---|
| Minimum contrast ratio | 4.5:1 for all text |
| Large text (title) | 3:1 acceptable |
| Standard | WCAG 2.1 AA |
Key principle: Palette colors are for SHAPES and FILLS, not text. Text needs explicit high-contrast colors.
| Background Type | Title Fill | Description Fill | Label Fill |
|---|---|---|---|
| Dark (spotlight-dots, tech-matrix) | White or near-white (WCAG >= 4.5:1) | White at ~85% opacity | White or near-white |
| Light (solid, subtle-dots) | Near-black (WCAG >= 4.5:1) | Dark gray | Near-black |
Never use palette colors for text - they're for decorative shapes only.
| Element | Requirement |
|---|---|
| Item spacing | Minimum 20px between items |
| Edge margins | Never touch canvas edges (min 5% padding) |
| Text truncation | Labels 1-2 words, descriptions 2-4 words |
| Visual balance | Equal spacing between similar elements |
□ All text has 4.5:1 contrast against background
□ Labels are 1-2 words (no overlap risk)
□ Descriptions are 2-4 words
□ Content fits template capacity (check item limits)
□ Dark bg → white text, Light bg → dark text
□ No text touching edges
□ colorBg derived from brand-philosophy.md, not from skill defaults
□ colorPrimary derived from brand-philosophy.md, not from skill defaults
□ Colors traced to brand-philosophy.md (not copied from reference docs or runtime fallbacks)
□ font-family from brand-philosophy.md, not a generic default
□ Text colors WCAG-validated against actual background
If ANY check fails, DO NOT generate. Fix the content or config first.
Dark Backgrounds (spotlight-dots, tech-matrix, etc.)
{
"colorBg": "{brand-bg-dark}",
"colorPrimary": "{brand-primary}",
"title": { "fill": "#FFFFFF" },
"desc": { "fill": "rgba(255,255,255,0.85)" },
"item": {
"label": { "fill": "#FFFFFF" },
"desc": { "fill": "rgba(255,255,255,0.7)" }
}
}
Light Backgrounds (solid, subtle-dots, etc.)
{
"colorBg": "#FFFFFF",
"colorPrimary": "{brand-primary}",
"title": { "fill": "#1A202C" },
"desc": { "fill": "#4A5568" },
"item": {
"label": { "fill": "#1A202C" },
"desc": { "fill": "#4A5568" }
}
}
Common mistake: Using pastel palette colors for text on light backgrounds. Pastels are for decorative shapes only.
See template-infographic.md for complete config examples.
Note: The
/template-infographiccommand generates correct configs from your brand-philosophy.md. Never copy hex values from the examples above — they are illustrative placeholders only.
{
"title": "Our Process",
"items": [
{ "label": "Step 1", "desc": "Discovery" },
{ "label": "Step 2", "desc": "Design" }
]
}
{
"title": "Before vs After",
"items": [
{ "label": "Before", "children": [{ "label": "Slow" }] },
{ "label": "After", "children": [{ "label": "Fast" }] }
]
}
{
"title": "Organization",
"items": [{
"label": "CEO",
"children": [{ "label": "CTO" }, { "label": "CFO" }]
}]
}
| Mistake | Fix |
|---|---|
| Text overlapping | Shorten labels (1-2 words), descriptions (2-4 words) |
| Missing illustrations | Check template ends in -illus, provide SVG/PNG/JPG files |
| Icon not showing | Use icon:name syntax, only for icon templates |
| Background not applied | Pass --background flag to generate.js |
| Text invisible on light bg | Add explicit title/desc/item fills with dark colors (#1A202C, #4A5568) |
| Pastel text unreadable | Palette colors are for shapes only; text needs high contrast (~4.5:1) |
references/templates.md - Complete 114 template catalog with asset requirementsreferences/theming.md - Theme configuration detailsreferences/backgrounds.md - Background customization guidereferences/icons.md - Available icons for icon-based templatesreferences/illustrations.md - Illustrated template workflow and SVG requirementslib/
├── renderer.js # Main entry point
├── dom-setup.js # JSDOM environment
├── infographic.js # Infographic creation
├── exporter.js # SVG/PNG export
├── backgrounds.js # Gradient/pattern backgrounds
└── icons.js # Icon utilities