mcpField
I
icon-design

icon-design

github.com/oakossDesign & UI20172 installsUpdated 11w ago
Repository

About icon-design

An icon-design skill for choosing icons from Lucide, Heroicons, and Phosphor. It provides semantic mappings and usage guidance for consistent, accessible implementations.

Key features

  1. 01Map concepts to suitable icons
  2. 02Compare three icon libraries
  3. 03Use ready-made UI templates
  4. 04Avoid tree-shaking pitfalls
  5. 05Apply accessibility and style rules

Use cases

  1. 01Choose icons for interface labels
  2. 02Set icon conventions for a section
  3. 03Review imports for tree-shaking issues
  4. 04Replace emoji or legacy icon sets

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oakoss/agent-skills --skill icon-design

After installing, type/icon-designin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
accessibility.md
icon-templates.md
library-comparison.md
migration-guide.md
semantic-mapping.md

Details

From the project README

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

Comments

Markdown supported