PluginBench
Skill
Review
Audit score 70

icon-set-generator

jezweb/claude-skills

Generate cohesive, project-specific SVG icon sets with consistent style and visual weight.

What is icon-set-generator?

Creates custom SVG icon sets tailored to specific projects, ensuring visual consistency through a shared style specification. Use this when a project needs custom icons that look intentionally designed together rather than pulled from a generic library.

  • Define style presets (Clean, Sharp, Soft, Minimal, Bold) and enforce consistency across all icons
  • Generate individual SVG files with identical viewBox, stroke attributes, and optical corrections
  • Organize icons into functional groups (Navigation, Communication, Trust, Actions, Industry-Specific)
  • Produce a preview.html page displaying the complete set at multiple scales and backgrounds
  • Output style-spec.json documenting the design rules and icon inventory
  • Apply optical corrections for curved strokes, pointed shapes, and visual weight balancing

How to install icon-set-generator

npx skills add https://github.com/jezweb/claude-skills --skill icon-set-generator
Prerequisites
  • Claude Code or Cursor (claude-code-only compatibility)
  • Project context: industry, brand guidelines, desired visual feel, approximate icon count
Claude Code
Cursor
Windsurf
Cline

How to use icon-set-generator

  1. 1.Describe your project and discuss the desired visual style (modern, friendly, corporate, minimal, bold)
  2. 2.Review the suggested icon list organized by category (Navigation, Communication, Trust, Actions, Industry-Specific)
  3. 3.Confirm the style preset (Clean, Sharp, Soft, Minimal, or Bold) that matches your project
  4. 4.Receive generated SVG files in an icons/ directory with consistent styling
  5. 5.Open preview.html to visually inspect the complete set and verify consistency
  6. 6.Use style-spec.json as documentation of the design rules for future reference or modifications

Use cases

Good for
  • Building a custom icon set for a plumber's website with industry-specific service icons
  • Creating a cohesive icon system for a SaaS application dashboard
  • Designing branded icons for a client project that need consistent visual identity
  • Generating navigation and action icons for a modern business website
  • Developing an icon set for an e-commerce site with product category and utility icons
Who it's for
  • Web designers building custom visual systems
  • Developers working on branded web projects
  • Agencies creating client deliverables with custom assets
  • Product teams needing consistent icon systems for applications
  • Freelancers designing websites where visual distinctiveness matters

icon-set-generator FAQ

Why not just use Lucide or Heroicons?

Generic icon libraries are convenient but every site using them looks similar. A custom icon set gives your project distinct visual identity. This skill solves the hard part: maintaining consistency across 20+ custom icons through a shared style specification.

How many icons should I generate?

Typical small websites need 15-25 icons. Start with essential categories (Navigation, Communication, Actions) and add industry-specific icons relevant to your business. You can always generate more later using the same style spec.

Can I modify the icons after generation?

Yes. The SVGs follow strict rules (currentColor, consistent stroke attributes, coordinate precision) so you can edit them. However, maintain the style-spec rules to keep the set cohesive.

What if I want to change the style after generating?

Regenerate the set with a different preset. The style-spec.json documents all the rules, so switching presets is straightforward. Individual manual edits are also possible if you follow the SVG Rules.

Do the SVGs work with CSS color changes?

Yes. All SVGs use currentColor exclusively, so they inherit color from CSS. Style them with color properties just like text, or use CSS filters for effects.

Full instructions (SKILL.md)

Source of truth, from jezweb/claude-skills.


name: icon-set-generator description: "Generate cohesive, project-specific SVG icon sets for websites and applications. Use this skill whenever the user needs custom icons, an icon set for a website or app, icons for a client project, or mentions needing SVG icons that look consistent together. Also trigger when the user describes a project and icons would naturally be part of the deliverable — e.g. 'I'm building a site for a plumber' implies they'll need service icons. Trigger on: 'icons for', 'icon set', 'custom icons', 'SVG icons', 'make me icons', 'I need icons', 'website icons', 'project icons', or any request for consistent visual assets for a web project. Produces individual SVG files with a consistent style engine, not generic icon library lookups." compatibility: claude-code-only

Icon Set Generator

Generate custom, visually consistent SVG icon sets tailored to specific projects. Each set is built from a shared style specification so every icon looks like it belongs with the others — same stroke weight, same corner treatment, same visual density.

Why This Matters

Generic icon libraries (Lucide, Heroicons) are great but every site using them looks similar. A custom icon set gives a project distinct visual identity. The hard part is consistency — drawing 20+ icons individually causes style drift. This skill solves that by defining style rules once and enforcing them across every icon.

Workflow

Step 1: Understand the Project

Ask about the project. You need enough to suggest icons and pick a style:

  • What's the business/project? (industry, name, vibe)
  • Any brand guidelines or colour palette? (informs style choices even though SVGs use currentColor)
  • What feel? (modern, friendly, corporate, minimal, bold)
  • Roughly how many icons? (typical small site: 15-25)

A brief like "plumber in Newcastle, modern feel" is enough to proceed. Don't over-interview.

Step 2: Suggest Icons

Read references/industry-icons.md for industry-specific suggestions. Organise into groups:

  • Navigation — menu, close, arrows, search
  • Communication — phone, email, location, clock
  • Trust — star, shield, award, users
  • Actions — download, share, calendar, form
  • Industry-Specific — icons unique to this business type

Present the list. Let the user add, remove, or rename before generating.

Step 3: Define the Style Spec

Read references/style-presets.md for full preset definitions. Pick one as starting point:

PresetBest ForStrokeCaps/JoinsCorners
CleanMost business sites1.5pxround/round2px
SharpCorporate/technical1.5pxsquare/miter0px
SoftFriendly/approachable2pxround/round4px
MinimalElegant/editorial1pxround/round0px
BoldHigh impact/accessible2.5pxround/round2px

Tell the user which preset you're recommending and why, then confirm.

Step 4: Generate the Icons

Generate every icon following the SVG Rules below. Output to an icons/ directory in the project root (or the user's preferred location).

Read references/svg-examples.md before generating — it contains reference implementations showing the right level of complexity and how to handle common icon shapes.

Generate in batches of ~5. After each batch, visually review for consistency before continuing. After all icons are done, create the preview page and style-spec.json.

Step 5: Deliver

Output structure:

icons/
├── style-spec.json
├── preview.html
├── home.svg
├── phone.svg
└── ...

Present preview.html first so the user sees the complete set visually.


SVG Rules

Every icon in a set MUST follow all of these. Even small inconsistencies — a slightly different stroke width, a rounded corner where others are sharp — make the set look amateur.

SVG Template

Every icon uses this exact outer structure:

<svg xmlns="http://www.w3.org/2000/svg"
  width="{grid}" height="{grid}"
  viewBox="0 0 {grid} {grid}"
  fill="none"
  stroke="currentColor"
  stroke-width="{strokeWidth}"
  stroke-linecap="{strokeLinecap}"
  stroke-linejoin="{strokeLinejoin}">
  <!-- icon paths here -->
</svg>

Hard Rules

  1. currentColor only — Never hardcode colours. SVGs inherit colour from CSS. No fill="#000" or stroke="blue". If a shape needs fill, use fill="currentColor".

  2. Identical viewBox — Every icon uses the same viewBox. No exceptions.

  3. Identical root stroke attributesstroke-width, stroke-linecap, stroke-linejoin on the <svg> element must match across all icons. Override on individual elements only when truly necessary.

  4. No transforms on root — No translate, rotate, scale. Bake positioning into coordinates.

  5. No IDs or classes — Keep SVGs clean for external styling.

  6. Coordinate precision — Max 2 decimal places. Snap to half-pixel grid (e.g. 12, 12.5, not 12.333).

  7. Consistent padding — Maintain configured padding from viewBox edge. For 24px grid with 2px padding, draw within 2–22 coordinate range.

  8. Minimal elements — Fewest <path>, <circle>, <rect>, <line> elements practical. Simpler = smaller + faster rendering.

  9. Visual centring — Appear visually centred, not just mathematically centred. A leftward arrow shifts slightly right. A house with a chimney adjusts for asymmetry.

Optical Corrections

Subtle but essential for professional results:

  • Curved stroke compensation: Curves appear thinner than straight lines at same stroke width. For primarily curved icons (phone, globe), make paths slightly larger rather than changing stroke width.
  • Pointed shape overshoot: Arrows, chevrons, triangles extend ~0.5px beyond where a square would stop to appear the same size.
  • Visual weight balancing: Simple icons (single chevron) look lighter than complex ones (gear). Make simpler icons slightly larger in the grid, or use slightly more substantial paths. No icon should look noticeably lighter or heavier than the others.

style-spec.json

{
  "name": "project-name-icons",
  "preset": "clean",
  "grid": 24,
  "strokeWidth": 1.5,
  "strokeLinecap": "round",
  "strokeLinejoin": "round",
  "cornerRadius": 2,
  "padding": 2,
  "opticalBalance": true,
  "iconCount": 20,
  "icons": ["home", "phone", "email"],
  "generated": "2026-02-15"
}

Preview Page

Generate a self-contained HTML file displaying all icons for visual review. Read references/preview-template.md for the template. Requirements:

  • Grid of all icons at native size (24px) with labels
  • Same grid at 2x (48px) for detail inspection
  • Dark background section (white on dark) for contrast check
  • Style spec summary at top
  • Inline CSS, no dependencies — just open in browser
  • Inline all SVGs directly into the HTML (don't reference external files)

Quality Checklist

Verify every item before delivering:

  • All SVGs have identical viewBox, stroke-width, stroke-linecap, stroke-linejoin
  • All SVGs use currentColor exclusively
  • Visual weight is balanced across the set
  • Padding is consistent (nothing touching viewBox edge)
  • All icons visually centred
  • Filenames are lowercase kebab-case (arrow-right.svg)
  • Preview HTML renders all icons correctly
  • style-spec.json is accurate and lists all icons

Reference Files

Read these before generating:

  • references/style-presets.md — Detailed preset definitions and selection guidance
  • references/industry-icons.md — Industry-specific icon suggestions
  • references/preview-template.md — HTML template for the preview page
  • references/svg-examples.md — Example SVGs showing proper construction at various complexity levels

Related skills

More from jezweb/claude-skills and the wider catalog.

IMimage-processing logo

image-processing

jezweb/claude-skills

Resize, crop, convert, and optimize images for web—PNG/WebP/JPG, thumbnails, OG cards, powered by Pillow.

1.9k installsAudited
LAlanding-page logo

landing-page

jezweb/claude-skills

Generate a complete, deployable landing page from a brief. Produces a single self-contained HTML file with Tailwind CSS (via CDN), responsive design, dark mode, semantic HTML, and OG meta tags. Sections: hero with CTA, features, social proof, pricing (optional), FAQ, footer. Use when building a marketing page, product launch page, coming soon page, or any standalone landing page. Triggers: 'landing page', 'create a page', 'marketing page', 'launch page', 'coming soon page', 'one-page site'.

1.0k installsAudited
MCmcp-builder logo

mcp-builder

jezweb/claude-skills

Build MCP servers in Python with FastMCP. Define tools / resources / prompts, build the server, test locally, deploy to FastMCP Cloud or Docker. Use whenever the user mentions building an MCP server, exposing tools to LLMs, FastMCP, building a Claude integration, or troubleshooting FastMCP module-level server, storage, lifespan, middleware, OAuth, or deployment errors.

1.1k installs
MOmotion logo

motion

jezweb/claude-skills

|

788 installsAudited
NEnemoclaw-setup logo

nemoclaw-setup

jezweb/claude-skills

Install and configure NVIDIA NemoClaw (sandboxed OpenClaw agent platform) on Linux. Handles cloudflared tunnels, Docker cgroup fixes, OpenShell, sandbox creation, remote access via Cloudflare Tunnel, and known bug workarounds. Use whenever the user mentions installing NemoClaw, setting up OpenClaw, configuring an NVIDIA Spark or DGX for sandboxed agents, or troubleshooting NemoClaw deployment.

647 installs
NEnextjs logo

nextjs

jezweb/claude-skills

|

1.0k installsAudited