icon-design

v2026.09.24

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.

GitHub
安装命令
npx skhub add oakoss/icon-design
Markdown
SKILL.md

Icon Design

Select the right icon for the job. Maps concepts to icons across three modern libraries, provides ready-to-use templates, and prevents common mistakes like broken tree-shaking and inconsistent styles.

Quick Reference

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/FavoriteHeartheartHeart

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,600+ icons, excellent React integration, dynamic loading via lucide-react/dynamic).

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 within each section

Icon Style Rules

RuleDetail
No mixed stylesUse all outline OR all solid in a section
No emojiUse proper icon components (tree-shakeable)
Use currentColorIcons inherit text color via stroke="currentColor"
Semantic colorsUse text-primary, not text-blue-500
Consistent sizingInline w-4 h-4, cards w-8 h-8, hero w-10 h-10
Tree-shaking safeUse explicit named imports and icon maps, never import *
AccessibilityAdd aria-hidden="true" to decorative icons, aria-label to buttons

Common Mistakes

MistakeCorrect Pattern
Importing all icons with import * as Icons breaking tree-shakingUse explicit named imports and a static icon map
Mixing outline and solid icon styles within the same sectionPick one style per section and apply consistently
Using emoji instead of proper icon componentsAlways use tree-shakeable icon components from Lucide, Heroicons, or Phosphor
Hardcoding color values like text-blue-500 on iconsUse semantic colors like text-primary so icons inherit theme changes
Choosing icons by visual appeal rather than semantic meaningMap the concept first using the semantic mapping reference, then select the icon
Missing aria-label on icon-only buttonsAdd aria-label="Description" to buttons containing only icons
Using old Heroicons import paths without size prefixUse @heroicons/react/24/outline with the size prefix

Delegation

  • Audit existing icon usage for consistency and tree-shaking issues: Use Explore agent to scan imports and identify mixed styles or wildcard imports
  • Migrate icons from Font Awesome or Material to modern libraries: Use Task agent with the migration guide reference
  • Plan icon system architecture for a design system: Use Plan agent to select library, define sizing conventions, and establish semantic mappings

References

  • semantic-mapping.md -- Full concept-to-icon tables by category (quality, price, location, trade-specific, navigation, status)
  • icon-templates.md -- React/HTML patterns with Tailwind (feature cards, buttons, inputs, navigation, status badges)
  • library-comparison.md -- Lucide vs Heroicons vs Phosphor (features, bundle size, import patterns)
  • migration-guide.md -- Font Awesome, Material Icons, Feather, and emoji to modern equivalents
  • accessibility.md -- Decorative vs meaningful icons, aria attributes, screen reader patterns
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

Sep 24, 2026

分类

未分类

许可证

未指定

源路径

skills/icon-design

默认分支

main

最新提交

85e3a39

Tree SHA

a4c9e7b