SVG Art: Programmatic Generation
Generate high-quality SVG graphics using Python scripts. All scripts output valid SVG to stdout (or file with -o).
Available Scripts
| Script |
Purpose |
Key Options |
generate_grid.py |
Grid patterns |
--cols, --rows, --shape, --vary-* |
generate_radial.py |
Radial/spiral/sunburst |
--spiral, --concentric, --sunburst |
generate_fractal.py |
Fractals (tree, koch, sierpinski) |
--tree, --koch, --sierpinski, --depth |
generate_wave.py |
Waves and audio viz |
--layers, --noise, --bars |
generate_particles.py |
Scatter/cluster/constellation |
--cluster, --gradient, --constellation |
generate_chart.py |
Data visualization |
--bar, --line, --pie, --donut |
generate_icon.py |
Common UI icons |
--icon NAME, --list, --filled |
optimize_svg.py |
Minify/optimize SVG |
--aggressive, --stats |
Quick Examples
# Grid with size variation
python scripts/generate_grid.py -c 6 -r 6 --vary-size --vary-opacity -o grid.svg
# Spiral pattern
python scripts/generate_radial.py --spiral -n 60 --turns 4 -o spiral.svg
# Fractal tree
python scripts/generate_fractal.py --tree --depth 8 --vary-angle -o tree.svg
# Layered waves with fill
python scripts/generate_wave.py --layers 5 --fill -o waves.svg
# Constellation network
python scripts/generate_particles.py --constellation -n 30 --connect-distance 25 -o network.svg
# Bar chart
python scripts/generate_chart.py --bar --data "30,50,80,45,90" --labels "A,B,C,D,E" -o chart.svg
# Heart icon
python scripts/generate_icon.py --icon heart --filled --stroke "#E11D48" -o heart.svg
# Optimize existing SVG
python scripts/optimize_svg.py input.svg --aggressive -o output.svg
Script Usage Patterns
Grid Patterns
python scripts/generate_grid.py \
-c 8 -r 8 # columns and rows
-s 10 -g 2 # size and gap
--shape circle # rect, circle, or diamond
--vary-size # random size variation
--vary-opacity # random opacity
--vary-hue # color variation
--seed 42 # reproducible randomness
Radial Patterns
# Concentric rings
python scripts/generate_radial.py --concentric --rings 5 --vary-hue
# Sunburst rays
python scripts/generate_radial.py --sunburst -n 24 --vary-length
Fractals
# Koch snowflake
python scripts/generate_fractal.py --koch --depth 4 --fill "#3B82F6"
# Sierpinski triangle
python scripts/generate_fractal.py --sierpinski --depth 5
Charts
# Line chart with points
python scripts/generate_chart.py --line --data "10,30,20,50" --show-points --smooth
# Donut chart
python scripts/generate_chart.py --donut --data "40,30,20,10" --labels "A,B,C,D"
Icons
# List all available icons
python scripts/generate_icon.py --list
# Common icons: check, x, plus, menu, search, home, user, settings,
# mail, heart, star, play, file, download, edit, share, sun, moon, etc.
Common Options (All Scripts)
--fill COLOR: Fill color (default: #3B82F6)
--stroke COLOR: Stroke color
--stroke-width N: Stroke width
--seed N: Random seed for reproducibility
-o FILE: Output to file instead of stdout
Piping and Composition
Scripts can be piped together:
# Generate and optimize
python scripts/generate_grid.py -c 10 -r 10 | python scripts/optimize_svg.py --aggressive
# Check optimization stats
python scripts/generate_fractal.py --tree --depth 10 | python scripts/optimize_svg.py --stats
SVG Fundamentals Reference
See references/svg-fundamentals.md for:
- Core SVG structure and viewBox
- Element types (rect, circle, path, etc.)
- Path command syntax
- Gradients and patterns
- Accessibility requirements
1---2name: svg-art-skill3description: Create SVG graphics through programmatic code generation. Use this skill when the user asks to create icons, logos, illustrations, diagrams, data visualizations, generative art, patterns, fractals, or any vector graphics. Provides executable Python scripts for grids, radial patterns, fractals, waves, particles, charts, icons, and optimization.4---56# SVG Art: Programmatic Generation78Generate high-quality SVG graphics using Python scripts. All scripts output valid SVG to stdout (or file with `-o`).910## Available Scripts1112| Script | Purpose | Key Options |13|--------|---------|-------------|14| `generate_grid.py` | Grid patterns | `--cols`, `--rows`, `--shape`, `--vary-*` |15| `generate_radial.py` | Radial/spiral/sunburst | `--spiral`, `--concentric`, `--sunburst` |16| `generate_fractal.py` | Fractals (tree, koch, sierpinski) | `--tree`, `--koch`, `--sierpinski`, `--depth` |17| `generate_wave.py` | Waves and audio viz | `--layers`, `--noise`, `--bars` |18| `generate_particles.py` | Scatter/cluster/constellation | `--cluster`, `--gradient`, `--constellation` |19| `generate_chart.py` | Data visualization | `--bar`, `--line`, `--pie`, `--donut` |20| `generate_icon.py` | Common UI icons | `--icon NAME`, `--list`, `--filled` |21| `optimize_svg.py` | Minify/optimize SVG | `--aggressive`, `--stats` |2223## Quick Examples2425```bash26# Grid with size variation27python scripts/generate_grid.py -c 6 -r 6 --vary-size --vary-opacity -o grid.svg2829# Spiral pattern30python scripts/generate_radial.py --spiral -n 60 --turns 4 -o spiral.svg3132# Fractal tree33python scripts/generate_fractal.py --tree --depth 8 --vary-angle -o tree.svg3435# Layered waves with fill36python scripts/generate_wave.py --layers 5 --fill -o waves.svg3738# Constellation network39python scripts/generate_particles.py --constellation -n 30 --connect-distance 25 -o network.svg4041# Bar chart42python scripts/generate_chart.py --bar --data "30,50,80,45,90" --labels "A,B,C,D,E" -o chart.svg4344# Heart icon45python scripts/generate_icon.py --icon heart --filled --stroke "#E11D48" -o heart.svg4647# Optimize existing SVG48python scripts/optimize_svg.py input.svg --aggressive -o output.svg49```5051## Script Usage Patterns5253### Grid Patterns54```bash55python scripts/generate_grid.py \56 -c 8 -r 8 # columns and rows57 -s 10 -g 2 # size and gap58 --shape circle # rect, circle, or diamond59 --vary-size # random size variation60 --vary-opacity # random opacity61 --vary-hue # color variation62 --seed 42 # reproducible randomness63```6465### Radial Patterns66```bash67# Concentric rings68python scripts/generate_radial.py --concentric --rings 5 --vary-hue6970# Sunburst rays71python scripts/generate_radial.py --sunburst -n 24 --vary-length72```7374### Fractals75```bash76# Koch snowflake77python scripts/generate_fractal.py --koch --depth 4 --fill "#3B82F6"7879# Sierpinski triangle80python scripts/generate_fractal.py --sierpinski --depth 581```8283### Charts84```bash85# Line chart with points86python scripts/generate_chart.py --line --data "10,30,20,50" --show-points --smooth8788# Donut chart89python scripts/generate_chart.py --donut --data "40,30,20,10" --labels "A,B,C,D"90```9192### Icons93```bash94# List all available icons95python scripts/generate_icon.py --list9697# Common icons: check, x, plus, menu, search, home, user, settings,98# mail, heart, star, play, file, download, edit, share, sun, moon, etc.99```100101## Common Options (All Scripts)102103- `--fill COLOR`: Fill color (default: #3B82F6)104- `--stroke COLOR`: Stroke color105- `--stroke-width N`: Stroke width106- `--seed N`: Random seed for reproducibility107- `-o FILE`: Output to file instead of stdout108109## Piping and Composition110111Scripts can be piped together:112```bash113# Generate and optimize114python scripts/generate_grid.py -c 10 -r 10 | python scripts/optimize_svg.py --aggressive115116# Check optimization stats117python scripts/generate_fractal.py --tree --depth 10 | python scripts/optimize_svg.py --stats118```119120## SVG Fundamentals Reference121122See [references/svg-fundamentals.md](references/svg-fundamentals.md) for:123- Core SVG structure and viewBox124- Element types (rect, circle, path, etc.)125- Path command syntax126- Gradients and patterns127- Accessibility requirements