Back to list
jezweb

icon-design

by jezweb

Skills for Claude Code CLI such as full stack dev Cloudflare, React, Tailwind v4, and AI integrations.

182🍴 23📅 Jan 23, 2026

SKILL.md


name: icon-design description: | Select semantically appropriate icons for websites using Lucide, Heroicons, or Phosphor. Covers concept-to-icon mapping, React/HTML templates, and tree-shaking patterns.

Use when: building feature sections, service grids, contact info, navigation, or any UI needing icons. Prevents emoji usage, ensures consistency.

Icon Design

Select the right icon for the job. Maps concepts to icons, provides templates, prevents common mistakes.

Quick Reference (Top 20 Concepts)

ConceptLucideHeroiconsPhosphor
Award/QualityTrophytrophyTrophy
Price/ValueTagtagTag
LocationMapPinmap-pinMapPin
ExpertiseGraduationCapacademic-capGraduationCap
SupportMessageCirclechat-bubble-left-rightChatCircle
SecurityShieldshield-checkShield
SpeedZapboltLightning
PhonePhonephonePhone
EmailMailenvelopeEnvelope
User/ProfileUseruserUser
TeamUsersuser-groupUsers
SettingsSettingscog-6-toothGear
HomeHomehomeHouse
SearchSearchmagnifying-glassMagnifyingGlass
Check/SuccessCheckcheckCheck
Close/CancelXx-markX
MenuMenubars-3List
CalendarCalendarcalendarCalendar
Clock/TimeClockclockClock
Heart/FavouriteHeartheartHeart

Library Selection

LibraryBest ForPackage
LucideGeneral use, React projectslucide-react
HeroiconsTailwind projects, minimal style@heroicons/react
PhosphorWeight variations needed@phosphor-icons/react

Default recommendation: Lucide (1,400+ icons, excellent React integration)

See references/library-comparison.md for detailed comparison.

Icon Style Rules

Sizing

ContextTailwind ClassPixels
Inline with textw-4 h-4 or w-5 h-516-20px
Feature cardsw-8 h-832px
Hero sectionsw-10 h-10 or w-12 h-1240-48px
Large decorativew-16 h-1664px

Consistency Rules

  1. Never mix styles - Use all outline OR all solid in a section
  2. Never use emoji - Use proper icon components (tree-shakeable)
  3. Use currentColor - Icons inherit text color via stroke="currentColor"
  4. Semantic colours - Use text-primary, not text-blue-500

Tree-Shaking (Critical)

Dynamic icon selection breaks tree-shaking. Use explicit maps:

// BAD - all icons bundled
import * as Icons from 'lucide-react'
const Icon = Icons[iconName]  // Tree-shaken away!

// GOOD - explicit map
import { Home, Users, Settings, type LucideIcon } from 'lucide-react'
const ICON_MAP: Record<string, LucideIcon> = { Home, Users, Settings }
const Icon = ICON_MAP[iconName]

Selection Process

  1. Identify the concept - What does the label/title communicate?
  2. Check semantic mapping - See references/semantic-mapping.md
  3. Choose library - Lucide (default), Heroicons (Tailwind), Phosphor (weights)
  4. Apply template - See references/icon-templates.md
  5. Verify consistency - Same style, same size in section

Decision Tree

When unsure which icon:

Is it about recognition/awards? → Trophy, Star, Award
Is it about money/price? → Tag, DollarSign, CreditCard
Is it about location? → MapPin, Globe, Map
Is it about people/team? → Users, UserGroup, User
Is it about communication? → MessageCircle, Phone, Mail
Is it about safety/trust? → Shield, Lock, ShieldCheck
Is it about speed/time? → Zap, Clock, Timer
Is it trade-specific? → Check semantic-mapping.md
Still unsure? → CheckCircle (generic positive) or Sparkles (generic feature)

Resources

  • references/semantic-mapping.md - Full concept→icon tables by category
  • references/icon-templates.md - React/HTML patterns with Tailwind
  • references/library-comparison.md - Lucide vs Heroicons vs Phosphor
  • references/migration-guide.md - FA/Material → modern equivalents
  • rules/icon-design.md - Correction rules for projects

Score

Total Score

85/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon