Replica Design
Jakeschincariol/replica-skill
Rebuilds an app's design system for a clone: colour roles, type scale, spacing, radius, shadows and every component with its states, as design tokens plus component specs, with original assets…
Generates and edits SVG logos, icons, and graphics. An agent skill from tryopendata/skills.
$ npx skills add tryopendata/skills --skill svg-design -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tryopendata/skills svg-design --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/tryopendata/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/opendesign/skills/svg-design .claude/skills/svg-design && 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-design" agent skill from https://github.com/tryopendata/skills/tree/main/plugins/opendesign/skills/svg-design into .claude/skills/svg-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-design", 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/tryopendata/skills/tree/main/plugins/opendesign/skills/svg-designType 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 tryopendata/skills --skill svg-design -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tryopendata/skills svg-design --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tryopendata/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/opendesign/skills/svg-design .agents/skills/svg-design && 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-design" agent skill from https://github.com/tryopendata/skills/tree/main/plugins/opendesign/skills/svg-design into .agents/skills/svg-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-design", 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 tryopendata/skills --skill svg-design -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tryopendata/skills svg-design --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tryopendata/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/opendesign/skills/svg-design .cursor/skills/svg-design && 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-design" agent skill from https://github.com/tryopendata/skills/tree/main/plugins/opendesign/skills/svg-design into .cursor/skills/svg-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-design", 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/tryopendata/skills.git --path plugins/opendesign/skills/svg-design--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 tryopendata/skills --skill svg-design -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tryopendata/skills svg-design --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tryopendata/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/opendesign/skills/svg-design .gemini/skills/svg-design && 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-design" agent skill from https://github.com/tryopendata/skills/tree/main/plugins/opendesign/skills/svg-design into .gemini/skills/svg-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-design", 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 tryopendata/skills svg-designInstalls 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 tryopendata/skills --skill svg-design -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tryopendata/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/opendesign/skills/svg-design .github/skills/svg-design && 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-design" agent skill from https://github.com/tryopendata/skills/tree/main/plugins/opendesign/skills/svg-design into .github/skills/svg-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-design", 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 tryopendata/skills --skill svg-design -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tryopendata/skills svg-design --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tryopendata/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/opendesign/skills/svg-design .opencode/skills/svg-design && 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-design" agent skill from https://github.com/tryopendata/skills/tree/main/plugins/opendesign/skills/svg-design into .opencode/skills/svg-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-design", 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-designGenerates and edits SVG logos, icons, and graphics. An agent skill from tryopendata/skills.
SVG Design is an agent skill from tryopendata/skills. Generates and edits SVG logos, icons, and graphics. Use when creating SVG files, designing logos or icons, writing path data, optimizing SVGs, building icon systems, animating SVG elements, or modifying existing vector graphics. Covers path commands, shape primitives, styling, accessibility, gradients, masks, sprites, optimization, and animation (CSS keyframes, GPU acceleration, staggering, easing, SVG-specific techniques).
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files and assets (for example `references/accessibility-and-pitfalls.md`, `references/advanced-techniques.md` and `references/animation.md`).
It sits in Frontend & Design, covering Logo and visual identity and Accessibility. The repository describes itself as: Official Agent Skills for the OpenData platform. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f97583e. 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 xml).
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 Design loads about 3.1k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 110 tokens; SKILL.md has 1,395 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 tryopendata/skills at commit f97583e, republished under its MIT licence (© tryopendata). 1,395 words, ~3,135 tokens.
.claude/skills/svg-design/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Core principle: SVGs are code. Write them by hand like you'd write any markup: clean, minimal, semantically meaningful. Every element and attribute should earn its place.
| Task | Load reference |
|---|---|
| Arc flag combinations, common path shapes | references/path-patterns.md |
| Logo design, typography, negative space | references/logo-techniques.md |
| Icon design, grid systems, pixel alignment | references/icon-design.md |
| Gradients, masks, clips, filters, transforms (design decisions) | references/advanced-techniques.md |
| Animation (CSS keyframes, stagger, GPU, easing, SVG-specific) | references/animation.md |
| Optimization, sprites, SVGO config | references/optimization.md |
| Accessibility, browser pitfalls | references/accessibility-and-pitfalls.md |
| Editing workflow, boolean operations, combining SVGs | references/editing-workflow.md |
Always start from this structure:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<!-- content -->
</svg>Adjust viewBox to match the design canvas. Omit width/height attributes to let the SVG scale with its container (add them only when a fixed size is needed).
| Size | Use case | Notes |
|---|---|---|
0 0 16 16 | Micro icons, favicons | Heroicons micro, GitHub Octicons |
0 0 20 20 | Small UI icons, form elements | Heroicons mini |
0 0 24 24 | Standard icons (most common) | Lucide, Heroicons outline, Material |
0 0 32 32 | Medium icons, navigation | Phosphor uses 256x256 internally |
0 0 48 48 | Large display icons | App icons, illustrations |
| Custom | Logos, illustrations | Match the natural aspect ratio |
Default to 24x24 unless there's a reason not to. It's the industry standard.
| Use shape primitive when... | Use <path> when... |
|---|---|
| The shape is a basic geometric form | The shape has curves, complex outlines |
Readability matters (a circle should look like <circle>) | You need to minimize element count |
| You need to animate individual properties (r, cx, cy) | Combining multiple shapes into one element |
| The shape will be programmatically modified | Exporting from design tools (paths are universal) |
Set these on the root <svg> element to avoid repetition on children:
| Attribute | Icon default | Logo default | Why |
|---|---|---|---|
fill | none | varies | Icons are typically stroked, logos are filled |
stroke | currentColor | none or currentColor | Inherits text color from parent |
stroke-width | 2 (on 24x24) | varies | Consistent weight across icons |
stroke-linecap | round | round or butt | Rounded ends look cleaner at small sizes |
stroke-linejoin | round | round or miter | Prevents sharp spikes at joins |
currentColor is your friend. It lets the SVG inherit whatever color the parent element has, making icons themeable with zero extra CSS.
stroke-width is in viewBox units, not pixels. Always set relative to your canvas dimensions:
| viewBox | Typical stroke-width | Visual result |
|---|---|---|
| 16x16 | 1.5 | ~9.4% of canvas |
| 24x24 | 2 | ~8.3% of canvas |
| 32x32 | 2-2.5 | ~6.3-7.8% of canvas |
| 48x48 | 3 | ~6.3% of canvas |
| 256x256 | 16 | ~6.3% of canvas |
Convert when:
<path>Keep as shapes when:
<circle> is self-documenting)r on a circle is cleaner than animating path data)The arc parameters here are error-prone to derive. Use this as a reference:
<!-- <rect x="2" y="2" width="20" height="20" rx="3" /> becomes: -->
<path d="M 5 2 h 14 a 3 3 0 0 1 3 3 v 14 a 3 3 0 0 1 -3 3 h -14 a 3 3 0 0 1 -3 -3 v -14 a 3 3 0 0 1 3 -3 Z" />Use evenodd when you have compound shapes with holes. It's simpler because you don't need to worry about winding direction:
<!-- Donut using evenodd (direction doesn't matter) -->
<path fill-rule="evenodd" d="
M 12 2 A 10 10 0 1 1 12 22 A 10 10 0 1 1 12 2 Z
M 12 7 A 5 5 0 1 1 12 17 A 5 5 0 1 1 12 7 Z
" fill="black" />With nonzero (default), the inner circle must wind in the opposite direction to create the hole.
When creating logos (not icons), follow this process:
Always clarify design direction before creating logos. Use AskUserQuestion to present curated design direction choices before writing any SVG code. This step is mandatory for all logo projects. Even when the user provides some direction (like "modern" or "YC style"), those are vibes, not design briefs. A designer would still present options to narrow the direction before investing in 5-15 concepts.
Present choices like a designer showing mood boards. Don't ask open-ended questions. Tailor options to the user's domain:
AskUserQuestion({
questions: [
{
question: "What visual personality fits your brand?",
header: "Mood",
multiSelect: false,
options: [
{ label: "Bold & geometric", description: "Clean shapes, strong lines, confident. Think Stripe, Figma." },
{ label: "Organic & crafted", description: "Hand-drawn feel, natural curves, warmth. Think Mailchimp, Basecamp." },
{ label: "Minimal & typographic", description: "Wordmark-driven, restrained, sophisticated. Think Glossier, Everlane." },
{ label: "Playful & dynamic", description: "Energetic, colorful, movement. Think Slack, Discord." }
]
},
{
question: "What should the logo emphasize?",
header: "Focus",
multiSelect: false,
options: [
{ label: "What we do", description: "Visual metaphor tied to your product's core function" },
{ label: "How it feels", description: "Abstract mark that conveys emotion or energy" },
{ label: "Who we are", description: "Letterform or wordmark built from the brand name" }
]
},
{
question: "Which of these logos in your space resonates most?",
header: "Inspiration",
multiSelect: false,
options: [
// IMPORTANT: populate these with 3-4 real, well-known brands
// in or adjacent to the user's specific industry/domain.
// Examples below are for an AI startup - replace entirely
// for other domains.
{ label: "Linear", description: "Precise geometric icon, purple gradient, premium feel" },
{ label: "Stripe", description: "Simple bold wordmark, single accent color, confident restraint" },
{ label: "Notion", description: "Friendly icon with personality, approachable, slightly playful" },
{ label: "Vercel", description: "Abstract minimal triangle, stark black/white, developer-focused" }
]
}
]
})Tailoring the questions to the domain is critical. The mood options, focus options, and especially the inspiration logos must be specific to the user's industry. A coffee brand gets Blue Bottle, Stumptown, Intelligentsia, Counter Culture as inspiration options. A fintech startup gets Stripe, Plaid, Mercury, Ramp. A fitness app gets Peloton, Strava, Nike Run Club, Whoop. Pick brands the user will immediately recognize and have an opinion about. The inspiration question does the most work here because it anchors the entire aesthetic direction to something concrete.
The only exception: skip if the user has specified both a concrete visual style AND specific imagery (e.g., "minimalist geometric logo using a mountain silhouette in navy blue").
Explore multiple metaphors, not multiple layouts of one metaphor. Conceptual diversity matters more than layout variations. Follow the full ideation process in references/logo-techniques.md, which covers domain-specific brainstorming, category diversity requirements, and cliche avoidance.
Guarantee structural variety. Every logo set must span multiple categories of approach, not just multiple metaphors within the same style. Include at least one from each column when presenting 5+ options: a typographic/wordmark approach, a symbolic icon, an abstract geometric mark, and a letterform-meets-metaphor hybrid. See the category diversity table in references/logo-techniques.md.
Set up the preview immediately, then populate it progressively. Don't design all logos first and then show them. The user should see results as they're created:
assets/preview.html to the project directory using cp with the absolute path from where this skill was loaded (do not read or modify the file).variants.js with just that first variant (format in references/editing-workflow.md).open preview.html (macOS) or xdg-open preview.html (Linux). The user now sees the first logo while you keep working.variants.js to add it. The preview auto-reloads both every 3 seconds, so new logos appear in the browser as they're completed.This gives the user visual feedback within seconds of the first logo being ready, rather than waiting for all logos to be designed before seeing anything.
For colored logos, always create a -dark.svg variant. Dark navy edges (#1E3A5F) that look great on white disappear on dark backgrounds. Dark variants need lighter edges (#4B8BBE), lighter rings (#3B6B8A), and off-white centers (#E2E8F0).
Plan your vertical budget before drawing. On a 32x32 canvas with 3 stacked elements, you have ~30 usable units. Sketch the vertical distribution first (e.g., box=12, gap=2, layer=5, gap=2, layer=5) to avoid clipping at viewBox edges.
| Don't | Do instead |
|---|---|
Hardcode width="24" height="24" without viewBox | Use viewBox always; add width/height only if needed |
Set fill="none" on a <g> group | Set fill on individual elements or the root <svg> |
Use px units inside SVG | SVG coordinates are unitless; they map to viewBox |
Include editor metadata (<sodipodi:*>, <inkscape:*>) | Strip all editor cruft |
Use <text> for logo wordmarks in distributed SVGs | Convert text to paths for portability |
| Nest transforms three levels deep | Flatten transforms into path coordinates |
Use xlink:href | Use href (xlink is deprecated) |
Forget xmlns on standalone SVG files | Always include xmlns="http://www.w3.org/2000/svg" |
| Use decimal precision beyond 2-3 places for icons | Round to 2 decimals for icons, 3 max for complex art |
ce plugin is installed, Skill(ce:design) covers broader visual design decisionsce plugin is installed, Skill(ce:visualizing-with-mermaid) covers diagram-specific visualizations (not SVG)© tryopendata, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (references, assets) in plugins/opendesign/skills/svg-design of tryopendata/skills.
Open the folder on GitHubat commit f97583e
SVG Design 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 Design this skilltryopendata/skills | 142 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Replica DesignJakeschincariol/replica-skill | 908 | — | ~994 | Automated safety check: Pass | MIT | |
| Domodomo Design Accessibilitydarknecrocities/DomoDomo---All-in-one-Tool | 239 | — | ~17k | Automated safety check: Pass | None | |
| Better Colorsboraoztunc/skills | 395 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Designjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.9k | Automated safety check: Pass | MIT | |
| DesignOhh-889/skyroc | 795 | 9 repos | ~3.1k | Automated safety check: Pass | MIT |
Jakeschincariol/replica-skill
Rebuilds an app's design system for a clone: colour roles, type scale, spacing, radius, shadows and every component with its states, as design tokens plus component specs, with original assets…
darknecrocities/DomoDomo---All-in-one-Tool
Maintain DomoDomo’s dark visual system, responsive layouts, accessible interactions, brand consistency, and component ergonomics.
boraoztunc/skills
Color systems for digital products, from building and naming a palette to applying it with meaning and verifying contrast.
jeremylongshore/tons-of-skills-marketplace
A skill your agent uses when the user wants the visual/experiential design of a product done systematically — a design system, a screen, a landing page, or a visual identity — grounded in researched…
Ohh-889/skyroc
Comprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations…
calesthio/OpenMontage
Create, extract, and apply portable visual design systems via visual-style.md files.
tryopendata/skills
Generates OpenChart (https://github.com/tryopendata/openchart) chart, table, graph, sankey, tilemap, and geo map specs from data, and guides editorial design decisions.
Categories
Generates and edits SVG logos, icons, and graphics. An agent skill from tryopendata/skills. SVG Design is an agent skill from tryopendata/skills. Generates and edits SVG logos, icons, and graphics.
SVG Design fits situations like: creating SVG files; designing logos; writing path data; optimizing SVGs.
Run `npx skills add tryopendata/skills --skill svg-design -a claude-code`. Or copy the skill folder (plugins/opendesign/skills/svg-design in tryopendata/skills) into .claude/skills/svg-design in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tryopendata/skills --skill svg-design -a codex`. Or copy the skill folder (plugins/opendesign/skills/svg-design in tryopendata/skills) into .agents/skills/svg-design 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 tryopendata/skills --skill svg-design -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-design, .gemini/skills/svg-design, .github/skills/svg-design and .opencode/skills/svg-design in your project.
SKILL.md names no scripts, command-line tools or credentials: SVG Design 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 Design 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.1k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 10k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with SVG Design: Replica Design (Jakeschincariol/replica-skill, 908 stars), Domodomo Design Accessibility (darknecrocities/DomoDomo---All-in-one-Tool, 239 stars), Better Colors (boraoztunc/skills, 395 stars) and Design (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tryopendata (a GitHub organization) maintains it in tryopendata/skills, which has 142 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on July 25, 2026.
Source: tryopendata/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.