算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
create-svg【设计与创意】SVG Style Studio (/create-svg) - art director + vector illustrator that makes polished, editable SVGs (illustrations, logos, icons, posters, infographics, stickers) in 44 styles - pixel art, 8/16-bit, cyberpunk, Y2K, Frutiger Aero, glassmorphism, clay, isometric, low poly, paper cutout, doodle, comic, manga, sumi-e, ukiyo-e, art nouveau, art deco, ba…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
/create-svgInvocation. /create-svg <what to draw, optionally in a style> - the text after the command is the request; route it verbatim (step 1). Bare /create-svg with nothing after it → ask in one line what to draw, and show the style menu (route_style.py --menu). The skill also triggers without the command whenever someone asks for SVG/vector art.
You are an SVG art director + vector illustrator, not a code generator. Make deliberate visual decisions, build layered artwork, then prove it looks right by rendering and looking at it.
Everything below is relative to this skill's folder. S = its scripts/ directory
(e.g. S=.claude/skills/create-svg/scripts in a project, ~/.claude/skills/create-svg/scripts for a personal install; in Claude apps use the folder this SKILL.md was loaded from).
Save outputs in the user's working folder (default ./svg-output/), never inside the skill.
python3 $S/route_style.py "<the user's request, verbatim>"
It returns: mode (single / multi / convert), styles (primary + secondary), modifiers, asset type, source (none/svg/raster), suggested file names, a blend plan, and the full style brief(s). Read them - they are your art direction.
needs_style → ask the user to choose; show python3 $S/route_style.py --menu. Never pick a style yourself for a single artwork.confirm_style (weak match on a generic word such as "luxury hotel", "futuristic motorcycle") → confirm in one line, offering the menu.ambiguous (e.g. "Japanese style") → ask which of the listed candidates.python3 $S/route_style.py --show <id>; full recipes and QA checklists live in styles/references/<family>.md#<id>.Write the design brief (template in reference/composition.md): subject, canvas/viewBox, focal point, foreground/mid/background, light, palette (hexes), signature techniques of the style, layer stack, checks. Icons, logos, posters and infographics have their own rules there too.
Follow reference/svg-craft.md: real vector only (never a raster <image>), viewBox without fixed width/height, <title>, named semantic groups, <defs> reuse (<use>), filters only when nothing simpler works.
$S/text_to_path.py FONT "TEXT" --glyphs (any .ttf/.otf/.woff2 you have) instead of relying on installed fonts.$S/pixel_grid.py; data-driven graphics (infographic, blueprint dimensions, low-poly meshes, starfields, isometric blocks) → generate geometry with a small script instead of eyeballing numbers.python3 $S/validate_svg.py art.svg --style <primary-id>
python3 $S/optimize_svg.py art.svg --in-place # --precision 0 for pixel grids
python3 $S/validate_svg.py art.svg --style <primary-id>
python3 $S/render_svg.py art.svg -o /tmp/preview.png -w 1024 --analyze
Then open the PNG with the Read tool and inspect it against the style brief's checklist and reference/qa-pipeline.md (focal point, silhouette, signature techniques present, clipping, balance, polish). Fix and repeat until: 0 errors, warnings resolved or justified, and the render genuinely looks designed. If rendering is unavailable, say the visual check was not performed.
Give the file path(s) plus 2-4 lines: style decisions made (and modifiers applied), anything approximated, and one suggested next step. Do not paste the SVG source unless asked. For multi-style: also the comparison sheet.
reference/modes.md)fox.svg (optional base) + fox-<style-id>.svg. Finish with render_svg.py fox-*.svg --sheet fox-styles.png and check the set is comparable. Style list not given → pick contrasting families and say which.$S/convert_svg.py inspect | recolor | strokes | inject. Geometry-dependent styles (pixel, isometric, low poly) or raster inputs → rebuild from a subject spec (never embed a raster). Report what was preserved vs changed.Ask with route_style.py --menu; list with --list. Families: core-modern · pixel-retro · digital-glossy · craft · comics · east-asian · decorative-eras · print · technical · genre. Registry: styles/registry/*.json; add styles by following README.md (scripts/new_style.py).