Skip to content
Conduit

skill

claude-svg-skills

Giving Claude SVG super powers

brxs/claude_svg_skillscommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/brxs/claude_svg_skills itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 27, 2026

Claude SVG Skills

A comprehensive toolkit for creating geometric SVG art via CLI commands. Built for use with Claude Code.

Features

  • 35+ CLI skills for complete SVG manipulation
  • Create shapes, gradients, patterns, filters, masks, and more
  • Transform, animate, and organize elements
  • Plotter/CNC workflow - prepare SVGs for pen plotters and laser cutters
  • Render SVG to PNG
  • No coding required - pure command-line workflow

Quick Start

npm install

# Create a canvas
node .claude/skills/init-canvas/index.js output/art.svg 400 400 "#fff"

# Add a circle
node .claude/skills/add-circle/index.js output/art.svg 200 200 80 fill=#E53935

# Add a gradient
node .claude/skills/add-gradient/index.js output/art.svg linear bg "#667eea,#764ba2" angle=45

# Render to PNG
node .claude/skills/render-svg/index.js output/art.svg

Available Skills

Canvas & Output

SkillDescription
init-canvasCreate new SVG canvas
render-svgExport SVG to PNG
list-elementsInspect SVG structure
set-sizeSet physical dimensions (mm, cm, in) with scale-to-fit

Shape Creation

SkillDescription
add-circleAdd circles
add-rectAdd rectangles
add-ellipseAdd ellipses
add-lineAdd lines
add-polygonAdd custom polygons
add-regular-polygonAdd regular polygons (triangle, hexagon, etc.)
add-pathAdd SVG paths
add-textAdd text
add-textPathAdd text along paths (circular, arc, wavy)
add-imageEmbed images

Definitions

SkillDescription
add-gradientLinear and radial gradients
add-patternRepeating patterns (dots, stripes, grid, etc.)
add-filterEffects (blur, shadow, glow, grayscale, etc.)
add-markerArrow heads and line markers
add-clip-pathClipping masks (hard edge)
add-maskAlpha masks (soft edge, fades)

Element Manipulation

SkillDescription
edit-elementModify any attribute (supports svg selector)
delete-elementRemove elements
apply-transformRotate, scale, translate, skew
layer-orderChange z-order (front/back)
clone-elementDuplicate elements
add-groupGroup elements together
add-useReuse elements by reference
add-animationAdd SMIL animations

Plotter/Export Workflow

SkillDescription
remove-animationsStrip SMIL animations for static output
remove-defsRemove gradients, filters, patterns
convert-colorsConvert all colors to single color (e.g., black)
text-to-pathConvert text/textPath to vector paths
reduce-colorsReduce color count by clustering similar colors
split-by-colorSplit into separate files per color
set-sizeSet physical size (mm, cm, in) with scale-to-fit

Plotter Workflow Example

Prepare an SVG for a multi-pen plotter:

# 1. Remove animations (plotters need static SVG)
node .claude/skills/remove-animations/index.js output/art.svg

# 2. Remove gradients/filters (plotters can't render these)
node .claude/skills/remove-defs/index.js output/art.svg all keep-paths

# 3. Convert text to paths (plotters can't render fonts)
node .claude/skills/text-to-path/index.js output/art.svg /path/to/font.ttf stroke-only

# 4. Reduce to plotter-friendly color count
node .claude/skills/reduce-colors/index.js output/art.svg max=6

# 5. Split by color (one file per pen)
node .claude/skills/split-by-color/index.js output/art.svg stroke-only

# 6. Set physical size
node .claude/skills/set-size/index.js output/art.svg 10cm 10cm

Selectors

Most skills use selectors to target elements:

svg         # Root SVG element (for edit-element)
path        # All paths
path:0      # First path
path:-1     # Last path
circle:2    # Third circle
all         # All shape elements

Example Workflow

# 1. Create canvas with gradient background
node .claude/skills/init-canvas/index.js output/logo.svg 400 400
node .claude/skills/add-gradient/index.js output/logo.svg radial bg "#fff,#e0e0e0"
node .claude/skills/add-rect/index.js output/logo.svg 0 0 400 400 fill="url(#bg)"

# 2. Add shapes
node .claude/skills/add-circle/index.js output/logo.svg 200 200 120 fill=#1E88E5
node .claude/skills/add-circle/index.js output/logo.svg 200 200 80 fill=#fff

# 3. Add text
node .claude/skills/add-text/index.js output/logo.svg 200 215 "GO" font-size=48 text-anchor=middle fill=#1E88E5 font-weight=bold

# 4. Add shadow effect
node .claude/skills/add-filter/index.js output/logo.svg drop-shadow shadow dx=3 dy=3 opacity=0.2
node .claude/skills/edit-element/index.js output/logo.svg circle:0 filter "url(#shadow)"

# 5. Export
node .claude/skills/render-svg/index.js output/logo.svg

Common Options

Shape Styling

fill=#E53935           # Fill color
stroke=#000            # Stroke color
stroke-width=2         # Stroke width
opacity=0.5            # Transparency

Applying Definitions

fill="url(#gradientId)"
filter="url(#filterId)"
clip-path="url(#clipId)"
mask="url(#maskId)"
marker-end="url(#markerId)"

Project Structure

.claude/skills/     # CLI skills (35+ tools)
src/                # JavaScript API modules
examples/           # Example scripts
output/             # Generated files (gitignored)

Documentation

  • Full documentation: CLAUDE.md
  • Each skill has detailed docs in .claude/skills/<name>/SKILL.md

JavaScript API

For programmatic use:

import { createCanvas, circle, saveSvg, getOutputPath } from './src/index.js';

const canvas = createCanvas(400, 400, '#fff');
circle(canvas, 200, 200, 100, { fill: '#E53935' });
saveSvg(canvas, getOutputPath('art.svg'));

Requirements

  • Node.js 18+
  • npm

License

MIT

↑↓ navigate openesc close