gemini-svg-creator

Create professional SVG graphics powered by Gemini 3.1 Pro via the Gemini MCP server. Generates logos, icons, illustrations, infographics, patterns, animated SVGs, and UI elements with a dual-model refinement loop (Claude orchestrates + Gemini generates). Gemini 3.1 Pro has SOTA animated SVG capabilities and advanced reasoning. Use this skill when the user asks to: create an SVG, design a logo, make an icon, draw an illustration, create an infographic, design a pattern, make an animated SVG, generate vector graphics, create SVG art, or any request involving SVG creation or generation. Also triggers on: 'generate SVG', 'draw me', 'design graphic', 'create vector', 'SVG illustration', 'SVG icon', 'SVG animation', 'create badge', 'design emblem', 'make a diagram'.

16 stars

Best use case

gemini-svg-creator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Create professional SVG graphics powered by Gemini 3.1 Pro via the Gemini MCP server. Generates logos, icons, illustrations, infographics, patterns, animated SVGs, and UI elements with a dual-model refinement loop (Claude orchestrates + Gemini generates). Gemini 3.1 Pro has SOTA animated SVG capabilities and advanced reasoning. Use this skill when the user asks to: create an SVG, design a logo, make an icon, draw an illustration, create an infographic, design a pattern, make an animated SVG, generate vector graphics, create SVG art, or any request involving SVG creation or generation. Also triggers on: 'generate SVG', 'draw me', 'design graphic', 'create vector', 'SVG illustration', 'SVG icon', 'SVG animation', 'create badge', 'design emblem', 'make a diagram'.

Teams using gemini-svg-creator should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/gemini-svg-creator/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/ai-agents/gemini-svg-creator/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/gemini-svg-creator/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How gemini-svg-creator Compares

Feature / Agentgemini-svg-creatorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Create professional SVG graphics powered by Gemini 3.1 Pro via the Gemini MCP server. Generates logos, icons, illustrations, infographics, patterns, animated SVGs, and UI elements with a dual-model refinement loop (Claude orchestrates + Gemini generates). Gemini 3.1 Pro has SOTA animated SVG capabilities and advanced reasoning. Use this skill when the user asks to: create an SVG, design a logo, make an icon, draw an illustration, create an infographic, design a pattern, make an animated SVG, generate vector graphics, create SVG art, or any request involving SVG creation or generation. Also triggers on: 'generate SVG', 'draw me', 'design graphic', 'create vector', 'SVG illustration', 'SVG icon', 'SVG animation', 'create badge', 'design emblem', 'make a diagram'.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Gemini SVG Creator

Generate high-quality SVG graphics by orchestrating **Gemini 3.1 Pro** via `mcp__gemini__gemini-query`. Claude handles prompt engineering, quality analysis, and optimization; Gemini 3.1 Pro handles SVG generation with its SOTA animated SVG and reasoning capabilities.

## Prerequisites

This skill requires the `@rlabs-inc/gemini-mcp` MCP server. On first use, verify setup:

1. **Check MCP server is available**: Try calling `mcp__gemini__gemini-query`. If it fails, tell the user to add the Gemini MCP server:
   ```
   claude mcp add -e GEMINI_API_KEY=<your-key> -e GEMINI_PRO_MODEL=gemini-3.1-pro-preview gemini -- npx -y @rlabs-inc/gemini-mcp
   ```
2. **Recommend Gemini 3.1 Pro**: If the MCP server works but uses an older model, suggest adding `GEMINI_PRO_MODEL=gemini-3.1-pro-preview` to the MCP server env for best SVG quality. The user can update their `.claude.json` or run `claude mcp remove gemini` then re-add with the env variable above.
3. **API key**: Requires a Google AI Studio API key (`GEMINI_API_KEY`). Get one free at https://aistudio.google.com/apikey

## Model Notes — Gemini 3.1 Pro

- **Model ID**: `gemini-3.1-pro-preview` (configured via `GEMINI_PRO_MODEL` env)
- **Thinking levels**: `low`, `medium`, `high` (default). Use `medium` for simple SVGs, `high` for complex/animated
- **Strengths**: Animated SVG generation, anatomically accurate illustrations, semantic SVG comments, complex scene composition, CSS animation with proper keyframes
- **Context**: 1M input tokens, 64K output tokens
- **Known quirk**: May have high latency under load. If timeout occurs, retry once
- **Temperature**: Keep default (1.0) — lower values degrade reasoning quality

## Workflow

```
1. Understand request → Determine SVG category + complexity
2. Build prompt → Load category template from references/prompt-templates.md
3. Generate → Call Gemini 3.1 Pro with crafted prompt (thinkingLevel by complexity)
4. Analyze → Claude reviews SVG for issues
5. Refine → Send fix prompt back to Gemini (up to 2 rounds)
6. Optimize → Claude cleans up final SVG (see references/svg-optimization.md)
7. Save → Write .svg file(s) and present to user
```

## Step 1: Understand & Classify

Determine the SVG category and complexity:

| Category | Triggers | Complexity |
|----------|----------|------------|
| **logo** | logo, brand, wordmark, lettermark, emblem, badge | medium |
| **icon** | icon, symbol, pictogram, glyph, favicon | low |
| **illustration** | illustration, scene, drawing, artwork, graphic | high |
| **infographic** | infographic, data visualization, chart, diagram | high |
| **pattern** | pattern, texture, background, tile, seamless | medium |
| **animated** | animated, animation, motion, loading, spinner | high |
| **animated-scene** | animated illustration, character animation, story | high |
| **ui-element** | button, card, banner, header, component | low-medium |

Gather any missing essentials:
- **What** to depict (subject, content, data)
- **Style** preference (minimalist, gradient, hand-drawn, isometric, etc.)
- **Colors** (specific hex values, or a mood like "warm", "corporate", "playful")
- **Size/ratio** (square, wide, tall — defaults to `0 0 800 600` if unspecified)
- **Animation** (if animated: what moves, speed, loop behavior)

Do NOT over-question. If the user gave a clear description, proceed immediately.

## Step 2: Build the Prompt

Read `references/prompt-templates.md` for the system prompt and category-specific suffix.

Construct the Gemini prompt as:

```
[Master System Prompt for Gemini 3.1 Pro]

[Category-Specific Suffix]

[Style Modifier (if applicable)]

Now create: [user's description, enriched with design details]

Colors: [specified or "choose a harmonious palette suited to the subject"]
ViewBox: [specified or default]
```

**Prompt enrichment rules:**
- Add composition guidance (center the subject, use negative space, layer foreground/background)
- Specify element count to control complexity (fewer = cleaner)
- Name specific SVG features when relevant (gradients, filters, clipPaths, masks)
- For text in SVGs, specify: font-family (use web-safe), font-size, font-weight, fill
- For animations, describe timing, easing, and which elements move
- Leverage Gemini 3.1 Pro's strength: request semantic HTML comments describing each section

## Step 3: Generate

Select thinking level based on complexity:

| Complexity | thinkingLevel | Use for |
|------------|---------------|---------|
| low | `low` | Simple icons, basic shapes |
| medium | `medium` | Logos, patterns, UI elements |
| high | `high` | Illustrations, animations, complex scenes |

Call Gemini 3.1 Pro:

```
mcp__gemini__gemini-query(
  prompt: <constructed prompt>,
  model: "pro",
  thinkingLevel: <selected level>
)
```

Extract the SVG from the response. Strip any markdown fences, explanatory text, or preamble — keep only `<svg>...</svg>`.

**If timeout/error occurs**: Retry once. Gemini 3.1 Pro may have high latency for complex SVGs.

## Step 4: Analyze

Review the returned SVG for:

1. **Validity** — Well-formed XML? All tags closed? Attributes quoted?
2. **Completeness** — Does it match what was requested? Missing elements?
3. **Quality** — Proportions correct? Colors harmonious? Text readable?
4. **Structure** — Has viewBox? Uses `<defs>` for reusables? Groups organized?
5. **Bloat** — Unnecessary elements? Excessive precision? Redundant attributes?
6. **Animation** (if animated) — All @keyframes defined? prefers-reduced-motion? Smooth loops? `stdDeviation` not `stdDev`?

Score mentally: if 2+ issues found, proceed to refinement.

## Step 5: Refine (up to 2 rounds)

If issues exist, send a targeted fix prompt to Gemini:

```
Here is an SVG that needs fixes:

<svg>...the current SVG...</svg>

Issues to fix:
1. [specific issue and how to fix it]
2. [specific issue and how to fix it]

[Include Quality Checklist Prompt from references/prompt-templates.md]
```

Call `mcp__gemini__gemini-query` again with `model: "pro"`, same or higher `thinkingLevel`.

After 2 refinement rounds, stop refining and proceed to optimization — diminishing returns beyond this.

## Step 6: Optimize

Apply Claude-side cleanup (see `references/svg-optimization.md` for full checklist):

1. **Strip wrapping** — Remove markdown fences, text outside `<svg>` tags
2. **Fix xmlns** — Ensure `xmlns="http://www.w3.org/2000/svg"` present
3. **Fix viewBox** — Ensure viewBox is set and frames content properly
4. **Consolidate colors** — Move inline colors to `<defs><style>` classes
5. **Add accessibility** — Add `<title>` and `<desc>`, `role="img"`, `aria-labelledby`
6. **Clean decimals** — Round to 2 decimal places
7. **Remove dead code** — Empty groups, hidden elements, unused defs
8. **Fix deprecated** — `xlink:href` → `href`
9. **Fix filter typos** — `stdDev` → `stdDeviation` (common Gemini output error)
10. **Animation safety** — Ensure `prefers-reduced-motion` media query present for animated SVGs

## Step 7: Save & Present

Save SVG file(s) using the Write tool:
- Use descriptive filename: `{subject}-{style}.svg` (e.g., `rocket-minimalist.svg`)
- For multiple variations, use numbered suffixes or style names
- Default save location: current working directory, or user-specified path

Present to the user:
- Show the SVG inline (the raw code)
- Describe what was created and key design choices
- Offer to iterate: "Want me to adjust colors, style, or add variations?"

## Multi-Variation Workflow

When the user wants multiple concepts or variations:

1. Generate each variation as a separate Gemini call with modified prompts
2. Name files clearly: `logo-concept-1-geometric.svg`, `logo-concept-2-organic.svg`
3. Present all variations with brief rationale for each
4. Let user pick favorites for refinement

## Style Quick Reference

| Style | Key characteristics |
|-------|-------------------|
| Minimalist | Few elements, monochrome/2-color, geometric, whitespace |
| Flat | No gradients/shadows, bold solids, clear silhouettes |
| Gradient | Linear/radial gradients, smooth transitions, modern depth |
| Hand-drawn | Imperfect lines, organic shapes, warm and friendly |
| Isometric | 30-degree angles, consistent depth, flat-shaded faces |
| Glassmorphism | Semi-transparent, blur filters, frosted glass, subtle borders |
| Retro | Muted palette, halftone textures, rounded shapes |
| Line Art | Strokes only, no fills, consistent width, single color |
| Neon | Dark background, bright strokes, glow filter, high contrast |
| Geometric | Circles/rects/triangles only, mathematical precision, bold blocks |

For full prompt templates per style, see `references/prompt-templates.md`.

## Resources

- **references/prompt-templates.md** — Master system prompt (Gemini 3.1 Pro optimized), category suffixes, animation templates, style modifiers, quality checklist
- **references/svg-optimization.md** — Post-generation cleanup checklist, common Gemini 3.1 Pro SVG issues and fixes

Related Skills

custom-agent-creator

16
from diegosouzapw/awesome-omni-skill

Skill to create custom agents for VS Code Copilot or OpenCode, helping users configure and generate agent files with proper formatting and configurations. Use when users want to create specialized AI assistants for VS Code Copilot (.agent.md files) or OpenCode (JSON/markdown agent configs) with specific tools, prompts, models, and behaviors. If the user is not specific about the target platform, ask them to specify Copilot or OpenCode.

agent-creator

16
from diegosouzapw/awesome-omni-skill

This skill should be used when the user asks to "create a new agent", "make a subagent", "build an agent for X", "generate agent configuration", or wants to create a new Claude Code sub-agent. Triggers on "agent-creator", "new agent", "subagent", or agent creation requests.

voice-dna-creator

16
from diegosouzapw/awesome-omni-skill

Analyze writing samples to create a comprehensive voice DNA profile. Use when the user wants to capture their unique writing voice, needs to create a voice profile for AI content, or is setting up a new writing system.

redbook-creator

16
from diegosouzapw/awesome-omni-skill

Use this skill when the user wants to create Xiaohongshu (小红书/RedBook) posts. Trigger phrases: 小红书创作, create redbook, 小红书, 红书, 笔记创作, 帖子创作. The user will provide images, videos, or text content. This skill analyzes the content, searches for trending Xiaohongshu posts as reference, generates post title and copy, auto-edits videos (merge, subtitles, BGM, narration), attempts auto-upload to Xiaohongshu creator platform, and generates a local preview HTML file.

medium-posts-creator

16
from diegosouzapw/awesome-omni-skill

Transform arbitrary text into well-structured Medium article drafts following a four-part structure: three variations of article title, Benefits from solution, Problem description, and Solution itself. Use when user requests: creating a Medium article from text, writing a blog post about a topic, transforming content into a Medium draft, or any request to transform text into a publishable article format. Includes Medium formatting guidelines, optional writing style suggestions, and enhancement tips for SEO, CTAs, and engagement.

imagegen-gemini

16
from diegosouzapw/awesome-omni-skill

Generate/edit images via Gemini API (Nano Banana). Triggers: generate image, create picture, AI art, edit image, make illustration.

gemini-image-generator

16
from diegosouzapw/awesome-omni-skill

Generate and edit images using Google Gemini. Use when the user asks to generate, create, edit, or modify images.

gemini-api

16
from diegosouzapw/awesome-omni-skill

Google Gemini API integration for building AI-powered applications. Use when working with Google's Gemini API, Python SDK (google-genai), TypeScript SDK (@google/genai), multimodal inputs (image, video, audio, PDF), thinking/reasoning features, streaming responses, structured outputs with JSON schemas, multi-turn chat, system instructions, image generation (Nano Banana), video generation (Veo), music generation (Lyria), embeddings, document/PDF processing, or any Gemini API integration task. Triggers on mentions of Gemini, Gemini 3, Gemini 2.5, Google AI, Nano Banana, Veo, Lyria, google-genai, or @google/genai SDK usage.

gemini-api-dev

16
from diegosouzapw/awesome-omni-skill

Use this skill when building applications with Gemini models, Gemini API, working with multimodal content (text, images, audio, video), implementing function calling, using structured outputs, or n...

ask-gemini

16
from diegosouzapw/awesome-omni-skill

This skill should be used when the user asks to "ask Gemini", "get Gemini's opinion", "have Gemini review", "improve writing style", "make less AI-sounding", "get feedback on article", "review this draft", or needs a second opinion on content, writing, code, or design. Supports text questions and up to 10 images.

obsidian-clipper-template-creator

16
from diegosouzapw/awesome-omni-skill

Guide for creating templates for the Obsidian Web Clipper. Use when you want to create a new clipping template, understand available variables, or format clipped content.

instruction-creator

16
from diegosouzapw/awesome-omni-skill

Create and manage high-quality custom instruction files for GitHub Copilot. Use when you need to define new project-specific guidelines, workflows, or coding standards in the instructions/ directory.