better-typography

Reviews and fixes web typography across fonts, spacing, wrapping, and accessibility.

Updated Aug 2, 2026
One-click install
npx skills add https://github.com/leonardoacosta/agents --skill better-typography-leonardoacosta
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: better-typography
Source: https://github.com/leonardoacosta/agents/tree/main/skills/better-typography
Command: npx skills add https://github.com/leonardoacosta/agents --skill better-typography-leonardoacosta

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Web interfaces often ship with inconsistent font choices, poor line spacing, bad text wrapping, and accessibility issues like iOS input zoom or unreadable contrast. This Skill provides a systematic set of typography principles and review procedures so text renders correctly, reads comfortably, and holds up across viewports and languages. ## Core Features & Use Cases - Font Selection and Formats: Guidance on typeface categories, pairing for contrast, woff2 formats, variable fonts, and OpenType features like tabular numbers and stylistic sets. - Spacing, Sizing, and Wrapping: Type scales, heading hierarchy, line-height and letter-spacing rules, measure caps, text-wrap balance/pretty, truncation, and smart punctuation. - Accessibility and Details: iOS 16px input zoom fixes, underline metrics from the font, selection styling, font smoothing, RTL/bidi handling, and a structured review output format with severity ratings. - Use Case: When reviewing a frontend pull request, apply the skill to catch a card description using tight heading line-height, a price display without tabular-nums causing layout shift, and inputs under 16px that trigger iOS zoom, then report findings in the standard severity table. ## Quick Start Review the typography in my frontend components and report any issues with fonts, spacing, wrapping, or accessibility.

Frequently Asked Questions about better-typography

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix iOS Safari zooming when focusing an input?

iOS Safari zooms the page when input text is smaller than 16px. Either size the input up on mobile with text-base sm:text-sm, or keep font-size at 16px and scale it down with a transform, compensating width and line-height so the design stays intact.

How do I stop numbers from shifting layout as they update?

Apply font-variant-numeric: tabular-nums to any changing value like timers, counters, or prices. Default digits have varying widths, so tabular numbers give every digit equal width and prevent layout shift.

What font format should I use on the web?

Use woff2, which offers Brotli compression and broad browser support. Woff is only a fallback for very old browsers, while ttf and otf are raw desktop formats without web compression and should be avoided.

Should I use font-variation-settings or font-weight for variable fonts?

Use font-weight, since it keeps working when a non-variable fallback font renders. Reserve font-variation-settings for custom axes like GRAD that have no dedicated CSS property.

What line-height should body text and headings use?

Headings work best around 1.1 and body copy at 1.5 to 1.6, using unitless values so line-height scales with font size. Any text wrapping to three or more lines needs at least 1.4, even in height-constrained cards or rows.

When should I not disable text selection with user-select none?

Keep text selectable by default, including application chrome, since users copy labels, errors, and values unpredictably. Use user-select: none only on a specific draggable or gesture-driven surface where accidental selection demonstrably conflicts with the interaction.