Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aws-samples avatar

Visual Design

  • 38 installs
  • 186 repo stars
  • Updated August 4, 2026
  • aws-samples/sample-strands-agent-with-agentcore

visual-design is a Claude skill that generates charts, posters, infographics, diagrams, and artwork as PNG or PDF from Python code.

About

This skill produces visual outputs (charts, posters, infographics, diagrams, and artwork) as PNG or PDF from generated Python code. generate_chart handles data charts with matplotlib or plotly, and create_visual_design handles designs with reportlab, Pillow, or svgwrite. A developer uses it when an assistant needs to render a visual deliverable. It ships design guidance on palettes, typography, spacing, and a QA fix-verify cycle.

  • Produces charts, posters, infographics, diagrams, and artwork as PNG or PDF
  • generate_chart runs matplotlib/plotly code; create_visual_design uses reportlab, Pillow, or svgwrite
  • Includes palettes, typography, spacing rules, and a QA fix-verify cycle

Visual Design by the numbers

  • 38 all-time installs (skills.sh)
  • Ranked #933 of 1,335 Generative Media skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

visual-design capabilities & compatibility

Capabilities
data visualization · poster design · diagram generation
Use cases
image generation · data analysis · ui design
Pricing
Free
From the docs

What visual-design says it does

charts, diagrams, posters, infographics, abstract artwork, or any visual design
SKILL.md
generate_chart: Data charts/graphs (matplotlib, plotly, bokeh) → PNG
SKILL.md
npx skills add https://github.com/aws-samples/sample-strands-agent-with-agentcore --skill visual-design

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs38
repo stars186
Last updatedAugust 4, 2026
Repositoryaws-samples/sample-strands-agent-with-agentcore

What it does

Generate a chart, poster, infographic, diagram, or artwork as a PNG or PDF from an agent.

Who is it for?

Rendering data charts and designed visuals (posters, infographics, diagrams, artwork) as image or PDF output.

Skip if: Editable office documents like spreadsheets or slide decks.

When should I use this skill?

The user needs a visual output such as a chart, poster, infographic, diagram, or artwork as an image or PDF.

What you get

A PNG or PDF chart, poster, infographic, diagram, or artwork rendered from generated Python code.

  • PNG chart or design
  • PDF poster or infographic

By the numbers

  • 2 design tools
  • 8 color-palette themes documented

Files

SKILL.mdMarkdownGitHub ↗

Visual Design

Quick Reference

TaskToolGuide
Data chart or graphgenerate_chartRead SKILL.md Design Ideas
Poster / infographic / artcreate_visual_designRead canvas-design.md
Architecture / flow diagramcreate_visual_designRead diagram-design.md

Available Tools

generate_chart

Data visualization. Executes matplotlib/plotly code to produce chart PNGs.

  • python_code (str, required): Chart generation Python code
  • output_filename (str, required): .png filename

create_visual_design

Visual design creation: posters, infographics, artwork, diagrams. Uses reportlab, Pillow, svgwrite, or any available library.

  • python_code (str, required): Design generation Python code
  • output_filename (str, required): .png or .pdf filename

Available Libraries

PurposeLibrariesOutputNotes
Data chartsmatplotlib, plotly, bokehPNGBest for charts
PDF designreportlab, fpdfPDFFull control
Image designPillow + fonttoolsPNGBest for PNG designs
Vector graphicssvgwrite → svglib + renderPDFSVG → PDFSVG→PNG NOT supported (no renderPM)
Image processingWand (ImageMagick), opencv-pythonPNGCheck availability first

IMPORTANT: For PNG output, use Pillow or matplotlib. Do NOT use svgwrite→renderPM (rlPyCairo is unavailable).

Design Workflow

Data Charts (generate_chart)

1. Identify data structure and choose appropriate chart type 2. Select color palette (see Design Ideas below) 3. Write code with plt.savefig(filename, dpi=300, bbox_inches='tight') 4. Review the generated chart

Visual Design (create_visual_design)

1. Establish design concept/philosophy (internally) 2. Follow the process in canvas-design.md 3. Select appropriate library and write code 4. Save: reportlab canvas.save(), Pillow image.save(), matplotlib plt.savefig() 5. Review output and refine

Design Ideas

Color Palettes

ThemePrimaryAccentBackground
Midnight Executive1E2761408EC60D1B2A
Forest & Moss2C5F2D97BC621A1A1A
Coral EnergyF96167F9E7952F3C7E
Ocean Gradient065A821B9AAA021B29
Charcoal Minimal36454FE8E8E81C1C1E
Cherry Bold990011FCF6F5150E11
Sage Calm84B59F69A2972D3A2D
Warm TerracottaB85042E7E8D12A1F1C

Typography

Prefer thin/light fonts. Minimize text in designs.

ElementSizeStyle
Main title48-72ptBold or Thin
Subtext14-18ptLight
Labels/captions8-12ptRegular, muted

Text-to-Canvas Balance (IMPORTANT):

  • Text size must be proportional to the overall canvas and surrounding design elements
  • Common mistake: text that is too small relative to the canvas, making it unreadable at normal viewing distance
  • Rule of thumb: if you need to zoom in to read it, it's too small
  • Titles should command attention — when in doubt, go larger
  • Labels/captions should be clearly legible, not decorative afterthoughts
  • Test: mentally shrink the output to 50% — all text should still be readable

Spacing & Composition

  • Generous margins (minimum 10% of canvas)
  • Consistent spacing between elements
  • No overlapping; all elements within canvas bounds
  • Visual hierarchy: convey importance via size, color, position

Avoid

  • Elements flush to canvas edges (insufficient margins)
  • Overlapping elements
  • Too many colors (stick to 3-4)
  • Excessive text — visual elements are the focus
  • Default matplotlib styles without customization

Code Requirements

  • Code must save a file to disk
  • Use the exact output_filename provided
  • PNG: dpi=300 or higher recommended
  • PDF: A4 or Letter size recommended
  • For Korean text: configure appropriate fonts

QA

Assume there are problems and look for them.

1. Review the generated image/PDF 2. Check for overlapping elements, clipped text, insufficient margins 3. Verify sufficient color contrast 4. If issues found, fix the code and regenerate 5. Complete at least one fix-verify cycle before finishing

UI Guidance (from tools-config)

Tool Selection:

  • generate_chart: Data charts/graphs (matplotlib, plotly, bokeh) → PNG
  • create_visual_design: Posters, infographics, artwork, flow diagrams (reportlab, Pillow, svgwrite) → PNG or PDF

Code Requirements:

  • Charts: plt.savefig(filename, dpi=300, bbox_inches='tight')
  • PDF designs: canvas.save() (reportlab) or equivalent
  • Image designs: image.save(filename) (Pillow)
  • PNG: dpi=300+ recommended
  • PDF: A4 or Letter size recommended

Related skills

FAQ

Which tool for charts vs designs?

generate_chart for data charts (matplotlib/plotly/bokeh); create_visual_design for posters, infographics, artwork, and diagrams.

What output formats?

PNG or PDF; for PNG use Pillow or matplotlib (svgwrite to renderPM is unavailable).

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.