Gsap
boraoztunc/skills
GSAP animation reference for HyperFrames. An agent skill from boraoztunc/skills.
Create beautiful, performant SVG animations and illustrations.
$ npx skills add vvedantb/eva --skill svg-animations -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vvedantb/eva svg-animations --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/svg-animations .claude/skills/svg-animations && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "svg-animations" agent skill from https://github.com/vvedantb/eva/tree/main/.agents/skills/svg-animations into .claude/skills/svg-animations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-animations", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vvedantb/eva/tree/main/.agents/skills/svg-animationsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vvedantb/eva --skill svg-animations -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vvedantb/eva svg-animations --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/svg-animations .agents/skills/svg-animations && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "svg-animations" agent skill from https://github.com/vvedantb/eva/tree/main/.agents/skills/svg-animations into .agents/skills/svg-animations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-animations", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vvedantb/eva --skill svg-animations -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vvedantb/eva svg-animations --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/svg-animations .cursor/skills/svg-animations && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "svg-animations" agent skill from https://github.com/vvedantb/eva/tree/main/.agents/skills/svg-animations into .cursor/skills/svg-animations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-animations", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vvedantb/eva.git --path .agents/skills/svg-animations--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vvedantb/eva --skill svg-animations -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vvedantb/eva svg-animations --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/svg-animations .gemini/skills/svg-animations && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "svg-animations" agent skill from https://github.com/vvedantb/eva/tree/main/.agents/skills/svg-animations into .gemini/skills/svg-animations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-animations", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vvedantb/eva svg-animationsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vvedantb/eva --skill svg-animations -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/svg-animations .github/skills/svg-animations && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "svg-animations" agent skill from https://github.com/vvedantb/eva/tree/main/.agents/skills/svg-animations into .github/skills/svg-animations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-animations", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vvedantb/eva --skill svg-animations -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vvedantb/eva svg-animations --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/svg-animations .opencode/skills/svg-animations && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "svg-animations" agent skill from https://github.com/vvedantb/eva/tree/main/.agents/skills/svg-animations into .opencode/skills/svg-animations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-animations", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
svg-animationsCreate beautiful, performant SVG animations and illustrations.
SVG Animations is an agent skill from vvedantb/eva. Create beautiful, performant SVG animations and illustrations. Use this skill when the user asks to create SVG graphics, icons, illustrations, animated logos, path animations, morphing shapes, loading spinners, or any animated SVG content. Covers SMIL animations, CSS-driven SVG animation, path drawing effects, shape morphing, motion paths, gradients, masks, and filters.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Web animation and motion, Icons and illustration and Motion graphics. The repository describes itself as: Orchestrate sandboxed agents that run in the cloud while you work. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1c4532e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are svg, css and javascript).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
w3.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
SVG Animations loads about 3.6k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 756 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from vvedantb/eva at commit 1c4532e, republished under its MIT licence (© vvedantb). 756 words, ~3,588 tokens.
.claude/skills/svg-animations/SKILL.md (or your agent's skills folder).This skill guides creation of handcrafted SVG animations — from simple animated icons to complex multi-stage path animations. SVGs are a markup language for images; every element is a DOM node you can style, animate, and script.
SVGs use a coordinate system defined by viewBox="minX minY width height". The viewBox is your canvas — all coordinates are relative to it, making SVGs resolution-independent.
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<!-- 200x200 unit canvas, scales to any size -->
</svg><rect x="10" y="10" width="80" height="40" rx="4" fill="#1a1a1a" />
<circle cx="50" cy="50" r="30" fill="#e63946" />
<ellipse cx="50" cy="50" rx="40" ry="20" fill="#457b9d" />
<line x1="10" y1="10" x2="90" y2="90" stroke="#2a9d8f" stroke-width="2" />
<polygon points="50,5 95,90 5,90" fill="#e9c46a" />
<polyline points="10,80 40,20 70,60 100,10" fill="none" stroke="#264653" stroke-width="2" /><path> Element — The Power ToolThe d attribute defines a path using commands. Uppercase = absolute, lowercase = relative.
| Command | Purpose | Syntax |
|---|---|---|
| M/m | Move to | M x y |
| L/l | Line to | L x y |
| H/h | Horizontal line | H x |
| V/v | Vertical line | V y |
| C/c | Cubic bézier | C x1 y1, x2 y2, x y |
| S/s | Smooth cubic bézier | S x2 y2, x y |
| Q/q | Quadratic bézier | Q x1 y1, x y |
| T/t | Smooth quadratic | T x y |
| A/a | Elliptical arc | A rx ry rotation large-arc sweep x y |
| Z/z | Close path | Z |
Cubic Bézier (C): Two control points define the curve. The first control point sets the departure angle, the second sets the arrival angle.
<path d="M 10 80 C 40 10, 65 10, 95 80" stroke="#000" fill="none" stroke-width="2" />Smooth Cubic (S): Reflects the previous control point automatically — perfect for chaining fluid S-curves.
<path d="M 10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80" stroke="#000" fill="none" />Arc (A): rx ry x-rotation large-arc-flag sweep-flag x y
large-arc-flag: 0 = small arc, 1 = large arc (>180°)sweep-flag: 0 = counterclockwise, 1 = clockwise<!-- Heart shape using arcs and quadratic curves -->
<path d="M 10,30 A 20,20 0,0,1 50,30 A 20,20 0,0,1 90,30 Q 90,60 50,90 Q 10,60 10,30 Z"
fill="#e63946" /><g transform="translate(50, 50) rotate(45)" opacity="0.8">
<rect x="-20" y="-20" width="40" height="40" fill="#264653" />
</g>Use <g> to group elements for collective transforms, styling, and animation targets.
<defs>
<!-- Linear gradient -->
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#e63946" />
<stop offset="100%" stop-color="#457b9d" />
</linearGradient>
<!-- Radial gradient -->
<radialGradient id="glow" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#fff" stop-opacity="0.8" />
<stop offset="100%" stop-color="#fff" stop-opacity="0" />
</radialGradient>
<!-- Mask -->
<mask id="reveal">
<rect width="100%" height="100%" fill="black" />
<circle cx="100" cy="100" r="50" fill="white" />
</mask>
<!-- Blur filter -->
<filter id="blur">
<feGaussianBlur in="SourceGraphic" stdDeviation="3" />
</filter>
</defs>
<rect width="200" height="200" fill="url(#grad)" />
<rect width="200" height="200" fill="url(#grad)" mask="url(#reveal)" />
<circle cx="50" cy="50" r="20" filter="url(#blur)" fill="#e63946" />Many SVG attributes are valid CSS properties: fill, stroke, opacity, transform, stroke-dasharray, stroke-dashoffset, etc.
.pulse {
animation: pulse 2s ease-in-out infinite;
transform-origin: center;
}
@keyframes pulse {
0%,
100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.15);
opacity: 0.7;
}
}The most iconic SVG animation. Uses stroke-dasharray and stroke-dashoffset to make a path appear to draw itself.
How it works:
stroke-dasharray to the path's total length (one giant dash + one giant gap)stroke-dashoffset to the same length (shifts the dash off-screen)stroke-dashoffset to 0 (slides the dash into view)<svg viewBox="0 0 200 200">
<path class="draw" d="M 20 100 C 20 50, 80 50, 80 100 S 140 150, 140 100"
fill="none" stroke="#1a1a1a" stroke-width="3" />
</svg>
<style>
.draw {
stroke-dasharray: 300;
stroke-dashoffset: 300;
animation: draw 2s ease forwards;
}
@keyframes draw {
to { stroke-dashoffset: 0; }
}
</style>Getting exact path length in JS:
const path = document.querySelector(".draw");
const length = path.getTotalLength();
path.style.strokeDasharray = length;
path.style.strokeDashoffset = length;.line-1 {
animation-delay: 0s;
}
.line-2 {
animation-delay: 0.3s;
}
.line-3 {
animation-delay: 0.6s;
}d Property AnimationModern browsers support animating the d attribute directly in CSS:
path {
d: path(
"M 10,30 A 20,20 0,0,1 50,30 A 20,20 0,0,1 90,30 Q 90,60 50,90 Q 10,60 10,30 z"
);
transition: d 0.5s ease;
}
path:hover {
d: path(
"M 10,50 A 20,20 0,0,1 50,10 A 20,20 0,0,1 90,50 Q 90,80 50,100 Q 10,80 10,50 z"
);
}Requirement: Both paths must have the same number and types of commands for interpolation to work.
SMIL animations are declared directly inside SVG markup. They work even when SVG is loaded as an <img> or CSS background-image — where CSS and JS can't reach.
<animate> — Animate Any Attribute<circle cx="50" cy="50" r="20" fill="#e63946">
<animate attributeName="r" from="20" to="40" dur="1s"
repeatCount="indefinite" />
</circle>With keyframes:
<animate attributeName="cx"
values="50; 150; 100; 50"
keyTimes="0; 0.33; 0.66; 1"
dur="3s" repeatCount="indefinite" /><animateTransform> — Transform Animations<rect x="-20" y="-20" width="40" height="40" fill="#264653">
<animateTransform attributeName="transform" type="rotate"
from="0" to="360" dur="4s" repeatCount="indefinite" />
</rect>Types: translate, scale, rotate, skewX, skewY
<animateMotion> — Move Along a Path<circle r="5" fill="#e63946">
<animateMotion dur="3s" repeatCount="indefinite" rotate="auto">
<mpath href="#motionPath" />
</animateMotion>
</circle>
<path id="motionPath" d="M 20,50 C 20,0 80,0 80,50 S 140,100 140,50"
fill="none" stroke="#ccc" />rotate="auto" orients the element tangent to the path. rotate="auto-reverse" flips it 180°.
<set> — Discrete Value Changes<rect width="40" height="40" fill="#264653">
<set attributeName="fill" to="#e63946" begin="1s" />
</rect><!-- Chain animations by referencing IDs -->
<animate id="first" attributeName="cx" to="150" dur="1s" fill="freeze" />
<animate attributeName="cy" to="150" dur="1s" begin="first.end" fill="freeze" />
<animate attributeName="r" to="30" dur="0.5s" begin="first.end + 0.5s" fill="freeze" />Trigger values:
begin="click" — on clickbegin="2s" — after 2 secondsbegin="other.end" — when another animation endsbegin="other.end + 1s" — 1s after another endsbegin="other.repeat(2)" — on 2nd repeat of anothercalcMode and keySplines<animate attributeName="cx" values="50;150" dur="1s"
calcMode="spline" keySplines="0.42 0 0.58 1" />calcMode options: linear (default), discrete, paced, spline
keySplines takes cubic-bezier control points (x1 y1 x2 y2) per interval. Common easings:
0.42 0 0.58 10 0 0.58 10.34 1.56 0.64 1Both shapes must have identical command structures (same number of points, same command types):
<path fill="#e63946">
<animate attributeName="d" dur="2s" repeatCount="indefinite"
values="M 50,10 L 90,90 L 10,90 Z;
M 50,90 L 90,10 L 10,10 Z;
M 50,10 L 90,90 L 10,90 Z" />
</path><svg viewBox="0 0 50 50">
<circle cx="25" cy="25" r="20" fill="none" stroke="#1a1a1a"
stroke-width="3" stroke-linecap="round"
stroke-dasharray="90 150" stroke-dashoffset="0">
<animateTransform attributeName="transform" type="rotate"
from="0 25 25" to="360 25 25" dur="1s"
repeatCount="indefinite" />
<animate attributeName="stroke-dashoffset" values="0;-280"
dur="1.5s" repeatCount="indefinite" />
</circle>
</svg><svg viewBox="0 0 52 52">
<circle cx="26" cy="26" r="24" fill="none" stroke="#4caf50"
stroke-width="2" class="draw"
style="stroke-dasharray:150;stroke-dashoffset:150;
animation:draw .6s ease forwards" />
<path fill="none" stroke="#4caf50" stroke-width="3"
stroke-linecap="round" stroke-linejoin="round"
d="M14 27l7 7 16-16" class="draw"
style="stroke-dasharray:50;stroke-dashoffset:50;
animation:draw .4s ease .5s forwards" />
</svg><svg viewBox="0 0 24 24" id="menu">
<path id="top" d="M 3,6 L 21,6" stroke="#1a1a1a" stroke-width="2" stroke-linecap="round">
<animate attributeName="d" to="M 5,5 L 19,19" dur="0.3s" begin="menu.click" fill="freeze" />
</path>
<path id="mid" d="M 3,12 L 21,12" stroke="#1a1a1a" stroke-width="2" stroke-linecap="round">
<animate attributeName="opacity" to="0" dur="0.1s" begin="menu.click" fill="freeze" />
</path>
<path id="bot" d="M 3,18 L 21,18" stroke="#1a1a1a" stroke-width="2" stroke-linecap="round">
<animate attributeName="d" to="M 5,19 L 19,5" dur="0.3s" begin="menu.click" fill="freeze" />
</path>
</svg><defs>
<linearGradient id="shift" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%">
<animate attributeName="stop-color"
values="#e63946;#457b9d;#2a9d8f;#e63946"
dur="4s" repeatCount="indefinite" />
</stop>
<stop offset="100%">
<animate attributeName="stop-color"
values="#457b9d;#2a9d8f;#e63946;#457b9d"
dur="4s" repeatCount="indefinite" />
</stop>
</linearGradient>
</defs>
<rect width="200" height="100" fill="url(#shift)" rx="8" /><circle cx="100" cy="100" r="30" fill="#e63946">
<animate attributeName="r" values="30;35;30" dur="2s"
calcMode="spline" keySplines="0.4 0 0.6 1;0.4 0 0.6 1"
repeatCount="indefinite" />
<animate attributeName="opacity" values="1;0.6;1" dur="2s"
calcMode="spline" keySplines="0.4 0 0.6 1;0.4 0 0.6 1"
repeatCount="indefinite" />
</circle><path fill="#457b9d" opacity="0.7">
<animate attributeName="d" dur="5s" repeatCount="indefinite"
values="M 0,40 C 30,35 70,45 100,40 L 100,100 L 0,100 Z;
M 0,40 C 30,50 70,30 100,40 L 100,100 L 0,100 Z;
M 0,40 C 30,35 70,45 100,40 L 100,100 L 0,100 Z"
calcMode="spline" keySplines="0.4 0 0.6 1;0.4 0 0.6 1" />
</path>Use viewBox, never hardcode width/height in the SVG — let the container size it. This keeps it resolution-independent.
<defs> for reusable definitions — gradients, filters, masks, clipPaths, and reusable shapes belong in <defs>.
Prefer SMIL for self-contained SVGs (icons, logos loaded via <img>) — CSS/JS won't work there. Use CSS animations when the SVG is inlined and you want to coordinate with the rest of the page.
Shape morphing requires matching commands — same number of path commands, same types, same order. If shapes differ, add invisible intermediate points to equalize.
stroke-linecap="round" makes line animations look polished.
fill="freeze" in SMIL keeps the final animation state. Without it, the element snaps back.
transform-origin: center in CSS — SVG transforms default to the origin (0,0), not the element center. Always set this explicitly.
Use getTotalLength() in JS to get exact path lengths for stroke animations instead of guessing.
Layer animations with <g> groups — animate the group transform separately from individual element properties for complex choreography.
Performance: SVG animations are GPU-composited when animating transform and opacity. Animating d, points, or layout attributes triggers repaints — use sparingly on complex SVGs.
will-change: transform on animated SVG elements helps the browser optimize compositing.
Accessibility: Add role="img" and <title> / <desc> elements. Use prefers-reduced-motion media query to disable animations for users who request it:
@media (prefers-reduced-motion: reduce) {
svg * {
animation: none !important;
transition: none !important;
}
}© vvedantb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/svg-animations of vvedantb/eva.
Open the folder on GitHubat commit 1c4532e
SVG Animations next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| SVG Animations this skillvvedantb/eva | 101 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Gsapboraoztunc/skills | 398 | 5 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Animategrowupanand/ConvoForm | 102 | 6 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Motion DesignLottieFiles/motion-design-skill | 2.1k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Animate Textpixel-point/animate-text | 149 | 1 repos | ~1.6k | Automated safety check: Pass | None | |
| Phantom Motionpixelxzen/phantom-motion | 185 | — | ~1k | Automated safety check: Pass | Apache-2.0 |
boraoztunc/skills
GSAP animation reference for HyperFrames. An agent skill from boraoztunc/skills.
growupanand/ConvoForm
Review a feature and enhance it with purposeful animations, micro-interactions, and motion effects that improve usability and delight.
LottieFiles/motion-design-skill
Applies motion design principles to create emotionally-driven, technically sound animations and transitions.
pixel-point/animate-text
Curated text animation catalog with exact JSON specs for headings, labels, counters, and text swaps.
pixelxzen/phantom-motion
交互式动态视觉叙事生成器 v11.0 (Hybrid Drive Edition)。基于用户输入的任意主题关键词, 通过多轮交互式对话收集需求,利用 React 19 + Tailwind 4 驱动的 Minimal Mono 极简编辑器, 实时操纵隔离在 Iframe 中的硬核 GSAP/WebGL 影视级叙事引擎。
alecs5am/ralphy
GSAP animation reference for HyperFrames. An agent skill from alecs5am/ralphy.
vvedantb/eva
Turn the current project website into a short, polished, shareable launch video using Hyperframes.
vvedantb/eva
Record a real agent-browser screencast of one eva feature being used end to end, convert it to an X-ready mp4, and write a tweet for it.
vvedantb/eva
Build an animation from scratch, making the decisions in the order that determines whether it feels right — should it animate at all, what purpose, which tool, which properties, which curve and…
vvedantb/eva
Design and build Convex components with clear boundaries, isolated state, and app-facing wrappers.
vvedantb/eva
Grab a single clean HD screenshot of a new eva feature from the real running app (Playwright at deviceScaleFactor 2, 1280 layout captured crisp at 2560×1440, dev overlays hidden) and write a tweet…
vvedantb/eva
A skill your agent uses when multiple workflows duplicate the same operational logic, when deciding what belongs in actions vs shared services, or when refactoring repeated operational blocks across…
Categories
Create beautiful, performant SVG animations and illustrations. SVG Animations is an agent skill from vvedantb/eva. Create beautiful, performant SVG animations and illustrations.
SVG Animations fits situations like: the user asks to create SVG graphics; path animations; morphing shapes; loading spinners.
Run `npx skills add vvedantb/eva --skill svg-animations -a claude-code`. Or copy the skill folder (.agents/skills/svg-animations in vvedantb/eva) into .claude/skills/svg-animations in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vvedantb/eva --skill svg-animations -a codex`. Or copy the skill folder (.agents/skills/svg-animations in vvedantb/eva) into .agents/skills/svg-animations in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vvedantb/eva --skill svg-animations -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/svg-animations, .gemini/skills/svg-animations, .github/skills/svg-animations and .opencode/skills/svg-animations in your project.
SKILL.md names no scripts, command-line tools or credentials: SVG Animations is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: w3.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
SVG Animations is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with SVG Animations: Gsap (boraoztunc/skills, 398 stars), Animate (growupanand/ConvoForm, 102 stars), Motion Design (LottieFiles/motion-design-skill, 2.1k stars) and Animate Text (pixel-point/animate-text, 149 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vvedantb (a GitHub user) maintains it in vvedantb/eva, which has 101 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 10, 2026.
Source: vvedantb/eva on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.