← Back to Skills Marketplace
openlark

SVG.js — lightweight SVG manipulation & animation library.

by OpenLark · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
37
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install svgjs
Description
SVG.js — lightweight SVG manipulation & animation library. Zero dependencies, chainable API, full SVG spec coverage. Create/position/animate shapes (rect/cir...
README (SKILL.md)

SVG.js

Zero-dependency SVG manipulation and animation. npm install @svgdotjs/svg.js or import { SVG } from '@svgdotjs/svg.js'

Use Cases

Use when drawing SVG, animating vector graphics, building data visualizations, creating SVG-based UI components, or manipulating SVG DOM.

Core API

SVG() — entry point for everything: create doc, get from DOM, create from fragment:

const draw = SVG().addTo('body').size(300, 300)  // SVG doc MUST have explicit size()
const rect = SVG('#myRect')                       // get from DOM
const el = SVG('\x3Ccircle>')                        // create from fragment

Chainable — every setter returns this:

draw.rect(100, 100).fill('#f06').stroke({ width: 2, color: '#000' }).move(50, 50)

// .animate() starts animation chain, returns SVG.Runner (NOT the element)
rect.animate(1000).move(200, 200).fill('#0f0')
rect.animate({ duration: 2000, delay: 500, times: 3 }).rotate(45)
// Sequence: rect.animate().fill('#f03').animate().dmove(50, 50)

Quick example:

import { SVG } from '@svgdotjs/svg.js'
const draw = SVG().addTo('body').size(400, 300)
draw.rect(100, 100).fill('#f06').move(50, 50)
draw.circle(50).fill('#0f0').center(200, 150)
draw.text('Hello').font({ family: 'Arial', size: 24 }).move(50, 200)

Progressive References

  • Shapes: rect/circle/ellipse/line/polyline/polygon/path → references/shapes.md
  • Text, images, masks, gradients, patterns → references/text-image.md
  • Positioning, sizing, attr, transforms, tree manipulation → references/manipulating.md
  • Animation, Runner, Timeline, easing, controllers → references/animating.md
  • Containers: groups, nested SVG, defs, symbols, links → references/containers.md
  • Events, custom events, namespaces → references/events.md
  • Import/export, extend, subclass → references/utilities.md
  • Color, Matrix, Point, Box, List, PointArray, PathArray → references/classes.md

Gotchas

  1. SVG doc must have explicit size() — defaults to 0×0 without it
  2. .animate() returns Runner, not element — chain .animate() again for sequencing
  3. Positioning works on ALL elementsrect.cx(50) works though cx isn't native to rect
  4. Groups have no geometry — no x/y/w/h; use nested() for positioned containers
  5. Text needs explicit newlines — SVG has no flowing text; use \ or tspan().newLine()
  6. Path animation needs same command structure — both paths must have identical M/C/S commands
  7. css() ≠ attr()css() sets inline styles, attr() sets SVG attributes
  8. First SVG() call creates invisible parser \x3Csvg> — normal, documented in FAQ
Usage Guidance
Safe to install as SVG.js reference material. If you copy its examples into a project, review any normal dependency addition such as installing @svgdotjs/svg.js, but the skill itself does not request special privileges or sensitive access.
Capability Tags
crypto
Capability Assessment
Purpose & Capability
The artifact coherently provides SVG.js API reference material for drawing, manipulating, and animating SVGs. Metadata includes an odd 'crypto' capability tag, but the artifact text itself contains no crypto, wallet, credential, or financial behavior.
Instruction Scope
Instructions are limited to library usage examples and reference notes; no prompt overrides, role changes, hidden commands, or agent-control instructions were found.
Install Mechanism
The package contains only Markdown documentation files. The only install-related content is a normal example command for adding the public SVG.js npm dependency to a project.
Credentials
No API keys, local session/profile stores, broad filesystem access, network exfiltration, or sensitive data flows are requested.
Persistence & Privilege
No background workers, autostart behavior, privilege escalation, destructive operations, or agent-level persistence are present. The 'runner.persist' mention is SVG.js animation API documentation, not host persistence.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install svgjs
  3. After installation, invoke the skill by name or use /svgjs
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of the svgjs skill. - Provides concise documentation for SVG.js, a lightweight SVG manipulation and animation library. - Covers core API usage, including element creation, chaining, and animation handling. - Lists common use cases such as drawing, animating, and SVG DOM manipulation. - Highlights important usage gotchas and best practices. - Includes references for advanced features and API details.
Metadata
Slug svgjs
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is SVG.js — lightweight SVG manipulation & animation library.?

SVG.js — lightweight SVG manipulation & animation library. Zero dependencies, chainable API, full SVG spec coverage. Create/position/animate shapes (rect/cir... It is an AI Agent Skill for Claude Code / OpenClaw, with 37 downloads so far.

How do I install SVG.js — lightweight SVG manipulation & animation library.?

Run "/install svgjs" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is SVG.js — lightweight SVG manipulation & animation library. free?

Yes, SVG.js — lightweight SVG manipulation & animation library. is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does SVG.js — lightweight SVG manipulation & animation library. support?

SVG.js — lightweight SVG manipulation & animation library. is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created SVG.js — lightweight SVG manipulation & animation library.?

It is built and maintained by OpenLark (@openlark); the current version is v1.0.0.

💬 Comments