better-typography

Reviews and fixes CSS typography covering type scales, spacing, wrapping, and OpenType features.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Interfaces often ship with typography issues that only appear at real content lengths: bad wrapping, orphaned words, synthesized font weights, shifting tabular values, and broken heading hierarchies. This Skill provides a systematic review checklist and concrete CSS fixes so text renders, wraps, and behaves correctly across viewports and languages. ## Core Features & Use Cases - Type system guidance: Build semantic type scales, map heading levels to descending sizes, and set role-based line-height and letter-spacing values. - Rendering and wrapping fixes: Apply text-wrap balance/pretty, truncation with ellipsis or line-clamp, tabular numbers for changing values, and font-metric underlines. - Variable fonts and OpenType: Use CSS properties over raw axis tags, load intended weights to avoid synthesis, and enable features like tabular-nums and slashed-zero. - Use Case: While reviewing a dashboard UI, you notice a price ticker shifting layout as digits change and a card description with a cramped three-line paragraph. The Skill directs you to add font-variant-numeric: tabular-nums and raise line-height to at least 1.4, with Tailwind equivalents from the cheat sheet. ## Quick Start Review the typography in my web app's components and report findings with severity, location, and the exact CSS fixes to apply.

Frequently Asked Questions about better-typography

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

FAQPage Schema
How do I stop numbers from shifting layout when values change?

Apply font-variant-numeric: tabular-nums to any value that updates, such as timers, counters, and prices. Default digits have different widths, so tabular numbers give every digit equal width and keep the layout stable.

How do I fix orphaned words and uneven heading lines in CSS?

Use text-wrap: pretty on descriptions to prevent a single short word on the final line, and text-wrap: balance on headings to distribute text evenly across lines. Skip both in long-form paragraphs.

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

Use the CSS property when one exists, such as font-weight: 650 instead of font-variation-settings: "wght" 650. Properties keep working when a non-variable fallback font renders; reserve raw tags for custom axes like GRAD.

Why does iOS Safari zoom in when focusing an input field?

Safari zooms when an input's font-size is below 16px. Either size the input up on mobile with text-base sm:text-sm, or keep font-size at 16px and render the intended size with a transform scale plus compensating width and line-height.

What font format should I use for web projects?

Use .woff2 on the web for Brotli compression and broad browser support. Keep .woff only as a fallback for very old browsers, and avoid .ttf and .otf since they are uncompressed desktop formats.

When should I disable font synthesis with font-synthesis: none?

Only after verifying every required bold, italic, small-cap, superscript, and subscript form stays distinct across the entire fallback stack. The blanket shorthand erases emphasis rather than reporting it, so prefer specific longhands when only one mode is unwanted.