mcpField
I
icon-design

icon-design

github.com/oakoss设计与 UI20172 次安装11 周前更新
代码仓库

关于 icon-design

用于从 Lucide、Heroicons 和 Phosphor 中选择图标的设计技能,提供语义映射和使用建议,帮助保持实现一致并兼顾无障碍性。

主要功能

  1. 01按概念匹配合适图标
  2. 02对比三个图标库
  3. 03使用现成界面模板
  4. 04避免影响 tree-shaking 的写法
  5. 05遵循无障碍和样式规范

适用场景

  1. 01为界面标签选择图标
  2. 02统一某个区域的图标约定
  3. 03检查导入方式是否影响 tree-shaking
  4. 04替换表情符号或旧图标库

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/icon-design确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

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

详细介绍

图标设计

为任务选择合适的图标。在三个现代图标库中映射概念与图标,提供可直接使用的模板,并避免树摇失效、样式不一致等常见问题。

快速参考

概念LucideHeroiconsPhosphor
奖项/质量TrophytrophyTrophy
价格/价值TagtagTag
位置MapPinmap-pinMapPin
专业知识GraduationCapacademic-capGraduationCap
支持MessageCirclechat-bubble-left-rightChatCircle
安全Shieldshield-checkShield
速度ZapboltLightning
电话PhonephonePhone
电子邮件MailenvelopeEnvelope
用户/个人资料UseruserUser
团队Usersuser-groupUsers
设置Settingscog-6-toothGear
主页HomehomeHouse
搜索Searchmagnifying-glassMagnifyingGlass
勾选/成功CheckcheckCheck
关闭/取消Xx-markX
菜单Menubars-3List
日历CalendarcalendarCalendar
时钟/时间ClockclockClock
爱心/收藏HeartheartHeart

库的选择

库最适合包
Lucide通用场景、React 项目lucide-react
HeroiconsTailwind 项目、极简风格@heroicons/react
Phosphor需要不同粗细的场景@phosphor-icons/react

默认推荐:Lucide(1,600+ 个图标,与 React 集成出色,可通过 lucide-react/dynamic 动态加载)。

选择流程

  1. 确定概念——标签/标题表达了什么?
  2. 检查语义映射——参见 references/semantic-mapping.md
  3. 选择图标库——Lucide(默认)、Heroicons(Tailwind)、Phosphor(不同粗细)
  4. 应用模板——参见 references/icon-templates.md
  5. 验证一致性——每个区块使用相同的样式和尺寸

图标样式规则

规则详情
不混用样式一个区块内统一使用描边或实心样式
不用表情符号使用合适的图标组件(支持树摇)
使用 currentColor图标通过 stroke="currentColor" 继承文本颜色
语义化颜色使用 text-primary,而非 text-blue-500
尺寸一致行内使用 w-4 h-4,卡片使用 w-8 h-8,主视觉使用 w-10 h-10
确保树摇安全使用明确的命名导入和图标映射,绝不使用 import *
无障碍性为装饰性图标添加 aria-hidden="true",为按钮添加 aria-label

常见错误

错误正确做法
使用 import * as Icons 导入所有图标,破坏摇树优化使用明确的命名导入和静态图标映射
在同一部分混用线框和实心图标样式每个部分选择一种样式,并保持一致
使用表情符号代替合适的图标组件始终使用 Lucide、Heroicons 或 Phosphor 中支持摇树优化的图标组件
在图标上硬编码 text-blue-500 等颜色值使用 text-primary 等语义化颜色,让图标继承主题变更
根据视觉效果而非语义选择图标先参考语义映射文档映射概念,再选择图标
仅含图标的按钮缺少 aria-label为仅包含图标的按钮添加 aria-label="Description"
使用未带尺寸前缀的旧版 Heroicons 导入路径使用带尺寸前缀的 @heroicons/react/24/outline

委派

  • 审查现有图标用法是否一致,以及是否存在摇树优化问题:使用 Explore Agent 扫描导入,并找出样式混用或通配符导入的情况
  • 将图标从 Font Awesome 或 Material 迁移到现代库:使用 Task Agent,并参考迁移指南
  • 为设计系统规划图标体系架构:使用 Plan Agent 选择库、定义尺寸规范并建立语义映射

参考资料

  • semantic-mapping.md -- 按类别划分的完整概念到图标映射表(质量、价格、位置、行业专用、导航、状态)
  • icon-templates.md -- 使用 Tailwind 的 React/HTML 模式(功能卡片、按钮、输入框、导航、状态徽章)
  • library-comparison.md -- Lucide、Heroicons 与 Phosphor 对比(功能、包体积、导入模式)
  • migration-guide.md -- 将 Font Awesome、Material Icons、Feather 和表情符号迁移为现代替代方案
  • accessibility.md -- 装饰性与有意义的图标、aria 属性、屏幕阅读器模式

评论

支持 Markdown