icons
Installation
SKILL.md
Sourcing icons
An icon is wrong when it is the wrong family, not when it is the wrong shape. Pick the source by what kind of mark it is, then match it to what the app already uses.
Route by mark type
| Need | Source | Why |
|---|---|---|
| App UI glyph (menu, upload, search) | project's existing library — Lucide in shadcn projects | never add a second family for a glyph the current one has |
| Country flag | Iconify circle-flags / flag / flagpack |
real flag geometry, MIT, no emoji-font dependency |
| File type (PDF, DOCX, ZIP) | Iconify vscode-icons / catppuccin / material-icon-theme (colour), or lucide:file-text (mono) |
pick colour or mono to match the surrounding UI, not both |
| Brand logo, full colour, light/dark variants | svgl | curated, has wordmarks and theme variants |
| Tech / infra logo (OpenShift, Docker, Postgres, Redis) | Iconify logos (1800+, CC0), devicon, skill-icons |
svgl has almost none of these; logos covers the whole stack in colour |
| Brand logo, monochrome long tail | Iconify simple-icons (3400+, CC0) |
covers brands svgl does not |
| Anything else | Iconify search across all sets | 200k+ icons, one API |
Check the project's own library first: lucide:file-text, lucide:flag, lucide:file and
friends exist, and one family stays one family.