A design-focused tool for generating and refining custom icons as SVGs or transparent PNGs/WebPs.
Install
mkdir -p .claude/skills/custom-icons-skill && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15421" && unzip -o skill.zip -d .claude/skills/custom-icons-skill && rm skill.zipInstalls to .claude/skills/custom-icons-skill
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Professional workflow for creating bespoke vector and complex raster icons. Professional icon design workflow including Design (visual), Path (vector), Desire (conceptual), and 3D chroma-key modes. Features AI prompt engineering, automated binarization, alpha cleanup, and SVG optimization.Key capabilities
- →Establish an asset contract based on user request and references
- →Choose between traced vector, transparent raster, or native vector branches
- →Prepare workspace and sources for icon generation
- →Generate and process isolated assets based on selected branch
- →Validate each generated asset against quality criteria
- →Deliver validated final assets to the contracted destination
How it works
The skill follows a multi-step workflow to create custom icons, including contract establishment, branch selection, source preparation, generation, validation, and delivery.
Inputs & outputs
When to use custom-icons-skill
- →Create bespoke vector icons
- →Trace raster images to SVG
- →Design cohesive icon sets
- →Export transparent icons
About this skill
Custom Icons
Build each icon through an inspectable source-to-asset pipeline. Treat the user's stated subject, style, palette, format, dimensions, and destination as the asset contract.
Workflow
1. Establish the asset contract
Inspect the request, supplied references, and target project before asking questions. Infer routine details with these defaults:
- Match a supplied reference or existing icon set before introducing a new style.
- Choose SVG for monochrome silhouettes, line art, and simple UI artwork.
- Choose transparent PNG or lossless WebP for 3D, multicolor, shaded, or textured artwork.
- Use a square
24×24coordinate system for unspecified UI SVGs and1024×1024for unspecified detailed illustrative SVGs. - Use black for an unspecified vector color and preserve the generated/source dimensions for an unspecified raster size.
- Save final assets in the request workspace when no destination is given.
Ask one concise question only when the subject is missing, requirements conflict, or the format choice would materially change the requested appearance. A target framework is optional unless implementation or framework-specific packaging is requested.
For each asset, determine the subject, branch, style anchor, palette, format, and final location. This step is complete when every field is stated or safely inferred and no material conflict remains.
2. Choose one branch per asset
- Traced vector: Use when a raster source must become SVG or when a new icon needs an organic, hand-drawn, or generated silhouette. Read references/vector-workflow.md before generating or processing the asset.
- Transparent raster: Use for detailed, 3D, multicolor, shaded, or textured artwork. Read references/raster-workflow.md before generating or processing the asset.
- Native vector: Use for an existing vector source, deterministic geometric/UI artwork, or a detailed SVG that can be expressed faithfully with vector fills, gradients, and effects. Read references/native-vector-workflow.md before creating or editing the asset.
Classify mixed icon sets asset by asset; a set may legitimately contain both SVG and raster outputs. Keep the user's requested format when feasible. If the requested format would discard essential visual detail, explain the tradeoff and resolve it before generation.
This step is complete when every asset has exactly one pipeline and the pipeline can produce its contracted format.
3. Prepare sources and workspace
Resolve <skill-dir> to the directory containing this SKILL.md; invoke bundled scripts with <skill-dir>/scripts/..., not a path assumed to exist in the user's project.
Create tmp/custom-icons/<request-slug>/ in the target project. Use filesystem-safe, lowercase names with hyphens for request and asset slugs. Keep prompts, generated sources, processed previews, trace drafts, and validation artifacts there. Preserve these intermediates until the user asks for cleanup, and avoid overwriting an existing final asset unless the request authorizes replacement.
When references are supplied, assign each one a role such as edit target, style reference, or palette reference. Preserve the edit target's identity, silhouette, proportions, and composition except where the request explicitly changes them.
For a set of three or more icons, create one representative pilot first. Confirm its silhouette, style, palette, padding, and small-size legibility before producing the rest, then reuse that visual contract for every asset.
This step is complete when the workspace exists, inputs have explicit roles, and any multi-icon set has a validated pilot.
4. Generate and process
Use the selected branch reference as the single source of truth for its prompt and commands. Generate one isolated asset per source image. When an image-generation or editing tool is unavailable, continue from a user-supplied source; if no source exists, report that generation is the blocking step.
Keep all branch attempts in the workspace. Tune the source or processing parameters when the first result misses the contract; do not conceal a failed attempt by switching formats.
This step is complete when every contracted final file exists in the workspace and was produced by its selected pipeline.
5. Validate every asset
Run the bundled validator on each output:
python3 "<skill-dir>/scripts/validate_icon.py" "<final-asset>"
For an icon set, also validate all outputs from each branch together:
python3 "<skill-dir>/scripts/validate_icon.py" \
"<asset-1>" "<asset-2>" "<asset-n>" \
--require-matching-canvas
Then inspect each icon visually at its intended display size and compare it with the request and any references. Check:
- recognizable subject and clean silhouette;
- consistent canvas, optical size, padding, palette, perspective, and stroke/detail weight across a set;
- crisp vector geometry without stray paths or lost details;
- clean raster transparency without key-color spill, clipped edges, or unintended shadows;
- legibility at the smallest intended size.
Unless the user requests variable artboards, require identical pixel dimensions for raster members and an identical viewBox, width, and height coordinate system for SVG members.
Iterate on any failed asset and rerun both checks. This step is complete only when the validator passes and every asset passes the visual checklist; a set is incomplete if any member fails.
6. Deliver and report
Copy only validated final assets to the contracted destination.
Report the branch used, final paths, workspace path, validation result, and any deliberate deviation from the request. Include integration code only when requested or when the target environment requires non-obvious usage.
Delivery is complete when every promised asset is present at its reported path and every validation result is accounted for.
When not to use it
- →When the user does not need custom icon assets
- →When the requested format would discard essential visual detail without resolution
- →When an image-generation or editing tool is unavailable and no source exists
Limitations
- →Requires a clear subject for the icon
- →Requires resolution of format conflicts if essential visual detail would be lost
- →Validation includes visual inspection and script-based checks
How it compares
This skill provides a structured, inspectable pipeline for custom icon creation, ensuring adherence to an asset contract and rigorous validation, unlike ad-hoc image generation.
Compared to similar skills
custom-icons-skill side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| custom-icons-skill (this skill) | 0 | 3mo | Review | Advanced |
| nano-image-generator | 1 | 6mo | Review | Beginner |
| lg-nanobanana-sprite | 0 | 5mo | No flags | Intermediate |
| theme-factory | 61 | 3mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
nano-image-generator
solidSpoon
Generate images using Nano Banana Pro (Gemini 3 Pro Preview). Use when creating app icons, logos, UI graphics, marketing banners, social media images, illustrations, diagrams, or any visual assets. Triggers include phrases like 'generate an image', 'create a graphic', 'make an icon', 'design a logo', 'create a banner', or any request needing visual content.
lg-nanobanana-sprite
AshishYesale7
Leverage AI (Nano Banana/Imagen) to generate high-quality visual assets (icons, logos, placemark images, overlay graphics) and integrate them into Liquid Galaxy Flutter apps.
theme-factory
anthropics
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
jimeng-mcp-skill
wwwzhouhui
使用jimeng-mcp-server进行AI图像和视频生成。当用户请求从文本生成图像、合成多张图片、从文本描述创建视频或为静态图像添加动画时使用此技能。支持四大核心能力:文生图、图像合成、文生视频、图生视频。需要jimeng-mcp-server在本地运行或通过SSE/HTTP访问。
brand-guidelines
anthropics
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
canvas-design
anthropics
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.