icons
Skill72 starsChanged 18 days agoMITView on GitHub
Sources icons, country flags, file-type marks and brand logos that fit the app's existing visual language. Use when adding an icon, finding an official logo, building a language switcher, or the project's icon library has no match. Covers Iconify and svgl; use frontend-design for overall visual direction and shadcn for general component installation.
8 other projects use a version of this.
Adopted by
Most recently taken up by
- raphaelsalaja/skillstheir own version, first seen Nov 8, 2026
- JetBrains/intellij-communitytheir own version, first seen Nov 7, 2026
- github/replicatheir own version, first seen Nov 1, 2026
- DegreeSign/skillstheir own version, first seen Nov 1, 2026
- AsimSayed/claude-skillstheir own version, first seen Oct 13, 2026
- DetachHead/rebasedtheir own version, first seen Oct 8, 2026
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 8
- JetBrains/intellij-community★ 21ksame name
- DetachHead/rebased★ 6.5ksame name
- github/replica★ 230same name
- raphaelsalaja/skills★ 62same name
- dkadts/landing-kit-building★ 2same name
- DegreeSign/skills★ 1same name
- alexjmiller5/agent-config-public★ 0same name
- AsimSayed/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/ai-sdk-6/references/agents.mdAGENTS.md
- skills/ai-sdk-7/references/agents.mdAGENTS.md
- skills/openai-agents-sdk/references/agents.mdAGENTS.md
- skills/react-best-practices/AGENTS.mdAGENTS.md
- skills/vercel-react-view-transitions/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-harness-reviewSkill
- ai-appSkill
- ai-elementsSkill
- ai-sdk-6Skill
- ai-sdk-7Skill
- ai-sdkSkill
- cache-componentsSkill
- chrome-devtoolsSkill
- frontend-designSkill
- goSkill
- handoffSkill
- hetzner-cloudSkill
- next-best-practicesSkill
- nextjs-chatbotSkill
- nextjs-seoSkill
- nextjs-shadcnSkill
- openai-agents-sdkSkill
- postgres-semantic-searchSkill
- react-best-practicesSkill
- shadcnSkill
- supabase-postgres-best-practicesSkill
- vercel-react-view-transitionsSkill
- web-design-guidelinesSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 25
Check the selected set's licence in its own repository, not only in Iconify's metadata, and check the brand's usage requirements.
- Very specific: line 31
Search at Iconify's catalog or through its search API.
- Very specific: line 54
Use local SVGs or build-time icon data by default.
- Very specific: line 62
Use svgl's API docs to find exact titles, categories and asset routes.
- Distinctive: line 101
Put an accessible name on icon-only controls.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Source icons that fit
Reuse the project's icon family for ordinary UI glyphs. Choose a different source when the mark represents a brand, country or file type, then check it in context.
Where to look
| Need | Starting point |
| UI glyph | The project's existing library |
| Country flag | Iconify: circle-flags, flag, flagpack |
| Colour file-type mark | Iconify: vscode-icons, catppuccin, material-icon-theme |
| Colour brand logo or wordmark | svgl, including its light/dark variants |
| Monochrome brand logo | Iconify: simple-icons |
| Tech or infrastructure logo | Iconify: logos, devicon, skill-icons |
| A mark absent from catalogs | The organization's official brand assets |
These are search starting points, not guaranteed coverage or blanket licences. Check the selected set's licence in its own repository, not only in Iconify's metadata, and check the brand's usage requirements. Do not invent a logo for a real organization when an official asset is unavailable.
Iconify
Search at Iconify's catalog or through its
search API. Results use
prefix:name identifiers; prefixes limits a query to selected sets. Fetch
individual SVGs through https://api.iconify.design/{prefix}/{name}.svg (the
identifier remains prefix:name).
The public API needs no key; https://api.iconify.design/collections?prefixes=<sets>
returns metadata and licences for comma-separated sets.
The public API rate-limits bursts of requests, so for more than a handful of
icons fetch per set, not per icon:
https://api.iconify.design/<prefix>.json?icons=a,b returns the named icons' SVG
bodies in one response, and
https://cdn.jsdelivr.net/npm/@iconify-json/<prefix>/icons.json is the whole set
from another host. A body is the inside of the element: wrap it in <svg xmlns="http://www.w3.org/2000/svg" viewBox="{left} {top} {width} {height}">,
each value from the icon when it has one, else from the set, else 0, 0, 16, 16.
The SVG flag sets circle-flags, flagpack and flag use lowercase ISO 3166-1
alpha-2 codes. A country-name search can return only emoji sets, so build the id
directly: circle-flags:fi, flagpack:fi; flag needs a ratio suffix (flag:fi-4x3, flag:fi-1x1), and
bare flag:fi is a 404. Use SVG flags rather than emoji: Windows' emoji font
has no flag glyphs and shows the letters (FI). For a language selector,
language names usually communicate the choice better than national flags.
Use local SVGs or build-time icon data by default. A string identifier passed to
@iconify/react can load missing data from the public API at runtime; merely
installing an icon-data package does not make that rendering offline. Pass or
register the data explicitly. See React usage
for the project's chosen integration.
svgl
Use svgl's API docs to find exact titles, categories
and asset routes. The API base is https://api.svgl.app (no key). Its docs state a
request limit and ask callers to cache: the bare base returns the whole catalogue
in one response, which serves many lookups better than one search per logo. It
primarily holds software and brand marks, with some file marks such as PDF; use Iconify for flag families and consistent file-type sets.
?search= matches titles; a missing title returns "SVG not found". Browse
categories through /categories and use each name exactly as listed there
(/category/AI; ai is not found). Registry names are currently slugified
titles, not asset filenames (Hugging Face → hugging-face, Next.js → nextjs,
shadcn/ui → shadcnui); confirm with https://svgl.app/r/<name>.json
before adding. Entries may carry light/dark routes and a separate wordmark.
For a shadcn project, its
registry guide defines the @svgl namespace
at https://svgl.app/r/{name}.json. Follow the project's package manager and
existing registry configuration. If shadcn is absent, use the raw asset rather
than initializing a component system just to add a logo.
Without network
Iconify and svgl are online services. Offline, search the installed icon
library (for example node_modules/lucide-react/dist/esm/icons/) or any
installed @iconify-json/<prefix>/icons.json, and reuse assets already in the
repo. For a missing brand mark, ask for the official file or use a neutral
placeholder; do not draw one.
Integration gotchas
- Match stroke/fill, optical size and alignment to surrounding UI. Lucide uses a 24 px grid and 2 px stroke; Tabler and Hugeicons sit close, Material and Carbon read thinner. Colour file-type marks carry their own padding and often need one size step up. Mix by role when needed: one family for controls, one set for flags, one for file types. Preserve brand colours where appropriate rather than tinting every mark.
- Choose the variant for its actual background. Check dark and light surfaces if both are supported.
- Inline SVG masks, gradients and clip paths need IDs unique per rendered instance, with every reference updated. A brand-name suffix still collides when the same logo appears twice.
- Put an accessible name on icon-only controls; hide decorative SVGs next to equivalent text. Verify the rendered control and downloaded asset.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

