ui-ux-typography
Skill0 starsChanged 3 months agoApache-2.0View on GitHub
Generate, implement, or review resilient interface typography, including restrained type tokens, relative and fluid sizing, line height, readable text measure, hierarchy, wrapping, zoom, localization, and user text spacing. Use whenever UI work creates or changes typography systems, body copy, headings, text containers, or responsive type behavior.
In this repository46 other files it gives its agents.
- AGENTS.mdAGENTS.md
- academixSkill
- agent-browserSkill
- ai-engineering-platformSkill
- apocalypseSkill
- aria-apg-reviewSkill
- context-budgetSkill
- crawler-readiness-auditSkill
- data-protection-gateSkill
- decision-criticality-gateSkill
- fact-checkerSkill
- find-skillsSkill
- focus-friendly-outputSkill
- frontend-designSkill
- grill-meSkill
- grill-with-docsSkill
- humanizerSkill
- improve-codebase-architectureSkill
- microsoft-foundrySkill
- output-templatesSkill
- pre-launch-security-gateSkill
- prompt-preflightSkill
- quick-recapSkill
- rag-retrieval-qualitySkill
- rest-api-best-practicesSkill
- rigorous-responseSkill
- security-checklistSkill
- shepherdSkill
- skill-optimizerSkill
- sql-query-correctnessSkill
- system-design-scaleSkill
- tddSkill
- ui-ux-color-contrastSkill
- ui-ux-component-qualitySkill
- ui-ux-design-systemsSkill
- ui-ux-dropdownsSkill
- ui-ux-form-validationSkill
- ui-ux-generationSkill
- ui-ux-loading-statesSkill
- ui-ux-mobile-cssSkill
- ux-logic-loopSkill
- ux-pattern-reviewSkill
- vercel-react-best-practicesSkill
- visual-flow-storyboardSkill
- visual-pr-reviewSkill
- web-design-guidelinesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. About 0 are common, 10 are distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Start body text around 1rem under normal browser defaults.
- Very specific: line 24
Treat 16px as a practical baseline, not a universal accessibility threshold.
- Very specific: line 25
Use relative units such as rem, preserve browser text resizing, and never disable zoom.
- Very specific: line 32
Use a modular ratio around 1.2–1.333 only as a starting point.
- Distinctive: line 33
Avoid near-duplicate tokens whose visual or semantic roles cannot be distinguished.
- Very specific: line 38
Use clamp() where headings must adapt across viewports without abrupt jumps.
- Very specific: line 40
Test every fluid value at its minimum, interpolation range, maximum, and 200% text resizing.
- Distinctive: line 41
Keep ordinary body copy stable unless the design has a measured need for fluid sizing.
- Very specific: line 45
Start reading-heavy body copy around 1.45–1.65 unitless line height.
- Very specific: line 46
Start headings around 1.1–1.3, then test wrapped headings, capitals, descenders, and diacritics.
- Very specific: line 47
Keep UI labels compact only after verifying legibility and clipping.
- Distinctive: line 48
Do not force one line-height token across body copy, controls, headings, and code.
- Very specific: line 52
Keep reading-heavy paragraphs around 45–75 characters per line, using approximately 65ch as a useful starting point.
- Distinctive: line 54
Do not mechanically constrain controls, navigation, tables, dashboards, labels, or code to paragraph measure.
- Distinctive: line 60
Keep visual hierarchy aligned with semantic heading structure and document order.
- Distinctive: line 61
Avoid thin or low-contrast text as a shortcut for de-emphasis.
- Distinctive: line 65
Avoid fixed-height text containers and layouts that depend on one line of content.
- Distinctive: line 68
Use truncation only when the full value remains available and the product decision truly requires a single-line constraint.
- Distinctive: line 72
Leave one runnable browser or visual regression check where the project supports it, then verify:
- Distinctive: line 81
If the production font, localization samples, runtime layout, or user text-spacing checks are unavailable, state that limitation explicitly.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
UI/UX Typography
Build a small resilient type system instead of choosing every text size independently.
Required rules
1. Start from a flexible body baseline
- Start body text around
1remunder normal browser defaults. - Treat
16pxas a practical baseline, not a universal accessibility threshold. - Use relative units such as
rem, preserve browser text resizing, and never disable zoom.
2. Keep the type scale restrained
- Reuse existing typography tokens before adding new ones.
- Define only the sizes needed for the product's actual hierarchy and bind every token to a named role.
- Specify size, weight, and line height together for each role instead of mixing independent values at call sites.
- Use a modular ratio around
1.2–1.333only as a starting point. Let optical hierarchy, available space, typeface characteristics, content, and responsive behavior override mathematical purity. - Avoid near-duplicate tokens whose visual or semantic roles cannot be distinguished.
- Limit available weights to those with a real role and actual font file. Values such as
400,500,600,700, and800are a possible set, not a requirement to load or use every weight.
3. Use fluid type deliberately
- Use
clamp()where headings must adapt across viewports without abrupt jumps. - Express minimum and maximum sizes with relative units and avoid pure viewport-based text sizing that ignores zoom.
- Test every fluid value at its minimum, interpolation range, maximum, and
200%text resizing. - Keep ordinary body copy stable unless the design has a measured need for fluid sizing.
4. Set line height for the role
- Start reading-heavy body copy around
1.45–1.65unitless line height. - Start headings around
1.1–1.3, then test wrapped headings, capitals, descenders, and diacritics. - Keep UI labels compact only after verifying legibility and clipping; use roughly
1.0–1.2as a starting range, not a fixed token across controls. - Do not force one line-height token across body copy, controls, headings, and code.
5. Control reading measure selectively
- Keep reading-heavy paragraphs around
45–75characters per line, using approximately65chas a useful starting point. - Apply measure to the text container, not the entire page or component shell.
- Do not mechanically constrain controls, navigation, tables, dashboards, labels, or code to paragraph measure.
- Recheck measure with the actual typeface because character width varies.
6. Create hierarchy with multiple cues
- Combine size, weight, spacing, placement, and contrast instead of relying on size alone.
- Keep visual hierarchy aligned with semantic heading structure and document order.
- Avoid thin or low-contrast text as a shortcut for de-emphasis; use the existing component-quality rules for readability and contrast.
7. Let text reflow
- Avoid fixed-height text containers and layouts that depend on one line of content.
- Allow wrapping without clipping, overlap, accidental truncation, or hidden actions.
- Preserve functionality under font substitution, longer translations, narrow and wide viewports, browser zoom,
200%text resizing, and user-applied text spacing. - Use truncation only when the full value remains available and the product decision truly requires a single-line constraint.
Verification
Leave one runnable browser or visual regression check where the project supports it, then verify:
- The token set is small, role-based, and visibly distinct.
- Body text remains near the intended baseline without blocking browser resizing or zoom.
- Fluid headings transition without abrupt jumps and still scale at
200%text size. - Body and heading line heights survive wrapping, diacritics, and the actual production font.
- Reading paragraphs remain around
45–75characters while controls, tables, navigation, dashboards, and code remain unconstrained by paragraph measure. - Narrow and wide viewports, longer translations, font substitution, high-contrast mode, text spacing, and zoom produce no clipping, overlap, hidden content, or lost actions.
If the production font, localization samples, runtime layout, or user text-spacing checks are unavailable, state that limitation explicitly.
Output
Return the typography tokens or implementation changes first, then the tested font, viewport, language, resizing, and wrapping matrix plus any remaining limits.
Shared output profile
Compose the execution profile from output-templates.
Preserve the typography rules above, omit empty components, and never present mathematical scale consistency as proof of readability.
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.

