icon-design

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "icon-design" with this command: npx skills add oakoss/agent-skills/oakoss-agent-skills-icon-design

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

playwright

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

ui-ux-polish

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

tanstack-form

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

find-skills

No summary provided by upstream source.

Repository SourceNeeds Review