@di-atomic/iconography

@di-atomic/iconography

Name
@di-atomic/iconography
Tagline
Ships no icons. Tells you which one you may legally use.
Hero subhead
Chooses the set, the token, the size and the colour for the design system in front of it, then says whether that glyph may appear in work a client pays for. The catalogue is a solved commodity, so what ships is the contract layer the consuming skills describe and nobody had written down.
Who it's for
Anyone putting icons into a deliverable somebody pays for, and anyone who cannot currently answer whether the logo in that deck is licensed for the use they are making of it.
Version
0.1.0
Tier
beta
Path type
guidance-only
Hero image
Hero image
Diagram image
Diagram image
Install command
opvs-skills install @di-atomic/iconography
Trigger phrase
which icon for this section
Marketplace URL
https://market.opvs.ai/v/di-atomic/iconography
Blog URL
https://di-atomic.com/blog/shipping-di-atomic-iconography
Stat 1 value
0
Stat 1 label
UI glyphs that existed across 19 skills describing icon slots ~875 times
Stat 2 value
40/43
Stat 2 label
slots resolving in Lucide, against 39 in Tabler and 24 in Phosphor, checked live
Stat 3 value
70
Stat 3 label
of 236 icon sets carrying no licence URL at all, classed red until opened
Stat 4 value
4
Stat 4 label
scripts that print numbers, one of which failed on this package's own registry
What headline
The three rules doing most of the work
Cap 1 icon
⚖️
Cap 1 title
The licence question is about END USE
Cap 1 desc
The binding question is never may we redistribute this set, it is may this icon appear in a commercial client deliverable and does anything have to print next to it. That reframing changes the verdict on real sources: non-commercial and share-alike stay hard blocks because they bite exactly where we sit, while an attribution obligation is workable if something actually renders it. Of 236 sets, 70 carry no licence URL at all and are treated as red until someone opens one.
Cap 2 icon
🔗
Cap 2 title
A token is a dependency, not a string
Cap 2 desc
Lucide renamed help-circle to circle-help to circle-question-mark, and the oldest no longer resolves. Tabler kept all three. A dead token throws no build error, logs no warning and goes nowhere near a red mark in review. It renders nothing at all, so every token is resolve-checked live against the set it claims to come from.
Cap 3 icon
🏷
Cap 3 title
CC0 licences the drawing, never the mark
Cap 3 desc
Simple Icons ships thousands of company logos under CC0, and CC0 is about as permissive as licensing gets. It still does not licence the trademark, because a trademark is not handed over by whoever drew the SVG. So brand marks are gated separately from functional glyphs and every use asserts a permitted-use category rather than assuming one.
Showcase headline
Two things it refuses to get wrong
Showcase before caption
There is no house icon set, and that is deliberate. Of 150 design systems, one forbids fill-based icons in the chrome and another demands filled and rounded. A single spine set is wrong on one of them by construction.
Showcase after caption
It will not hand over a brand mark for a use that implies endorsement, and it will not emit a proprietary icon font as a fetch instruction. Font Awesome Pro and the like appear in design references as facts, not as things you may source.
Diagram caption
The glyph and the tap target are two different measurements. A 16 pixel glyph is fine; a 16 pixel target is not, and most icon guidance treats them as one number.
Worked title
What the four questions look like on a real deliverable
Worked example
> "which icon for the search field on this Linear-style page" WHICH KIND ... UI glyph, so continue a 256px product mark goes to media-generator WHICH SET .... read the design system's own icon contract no system named? ask. There is no house set. WHICH TOKEN .. registry/slot-search/slot.json lucide: search · tabler: search · ph: magnifying-glass RESOLVES? .... checked live against the set non-negotiable LICENCE? ..... lucide ISC GREEN for paid client work not MIT, which a round-up blog claimed CONTRACT? .... currentColor · 3:1 non-text · 24px in a 44px zone radius 50% only · mirrors in RTL? search does not
Worked framing
The step people skip is the resolve check, because a wrong token looks exactly like a right one in a diff. The step people get wrong is the contrast figure: 4.5:1 is the text rule, and icons are held to 3:1 under WCAG 2.2 SC 1.4.11 while the target is a separate measurement again at 24px rising to 44px.
Rel 1 icon
📐
Rel 1 name
@di-atomic/section-designer
Rel 1 desc
Designs the section the icon sits in. Its own references delegate icons to a separate skill, and this is that skill.
Rel 1 url
https://market.opvs.ai/v/di-atomic/section-designer
Rel 2 icon
🎨
Rel 2 name
@di-atomic/media-generator
Rel 2 desc
Draws new artwork, including the 256px product mark. This one picks an existing licensed glyph and never draws.
Rel 2 url
https://market.opvs.ai/v/di-atomic/media-generator
Rel 3 icon
📜
Rel 3 name
@di-atomic/explainer-illustrations
Rel 3 desc
Plans a set of panels that explain an article. This supplies the glyph vocabulary those panels are allowed to use.
Rel 3 url
https://market.opvs.ai/v/di-atomic/explainer-illustrations
CTA headline
My own catalog was the thing that failed the audit.
CTA description
Nineteen shipped skills described icon slots roughly 875 times and not one UI glyph existed anywhere, while every marketplace card fell back to emoji. iconography is one skill in the system behind Di-Atomic, the marketing and compliance agency running cognitoAI, SpiderIQ and OPVS. If you need icons that survive a licence question in any of our seven languages, including right-to-left, that is the day job.
Upstream license
MIT. Zero icon files ship. The licence index is read from iconify/icon-sets collections.json (snapshotted 2026-08-23) and every set's SPDX id and licence URL is recorded per slot with the date it was checked, so the record can be re-verified rather than trusted.