make-interfaces-feel-better
Design engineering principles for making interfaces feel polished, with focus on micro-interactions, typography, and visual details.
Install
npx skills add https://github.com/jakubkrehel/make-interfaces-feel-better --skill make-interfaces-feel-betterIcons
Icon weight, states, sizing, and direction: the details that make icons sit naturally in an interface.
Match Icon Stroke to Text Weight
An icon next to text should carry the same optical weight as the text.
Use one stroke weight per icon set on a surface. Size inline icons relative to the text's cap height, typically 1em–1.25em.
One SVG, Recolored per State
Use one SVG drawn with currentColor; let CSS drive hover, selected, and disabled states. Strip hardcoded fill and stroke colors when importing icons.
Outline Default, Fill Active
The swap between variants is a contextual icon animation; use the exact cross-fade values in animations.md [blocked].
Design at Render Size
- Test every icon at the smallest size it will render, often
16px. - Prefer simplified glyphs for small contexts over scaled-down detailed artwork.
- Use the icon set's native grid sizes (
16,20,24) rather than arbitrary fractional scales. - Use SVG rather than raster assets.
Icons in RTL
Analyze composite icons part by part: an overlay may keep its position even when the base glyph flips. Give every icon-only control an accessible name and mark purely decorative icons hidden from assistive technology.