typography
Typography
Apply this skill when UI text is hard to read, typography feels inconsistent, links are not clearly clickable, or contrast decisions are harming usability.
Principles to apply
Ground decisions in NN/g guidance from:
references/nng-guidelines.md- https://www.nngroup.com/articles/glanceable-fonts/
- https://www.nngroup.com/videos/il1-typography-test/
- https://www.nngroup.com/articles/pairing-typefaces/
- https://www.nngroup.com/articles/serif-vs-sans-serif-fonts-hd-screens/
- https://www.nngroup.com/articles/guidelines-for-visualizing-links/
- https://www.nngroup.com/articles/low-contrast/
Core rules:
- Optimize for legibility first (size, spacing, contrast).
- Keep font systems simple and role-based (usually 1–2 families).
- Preserve explicit link affordance.
- Run IL1 checks for alphanumeric surfaces.
- Avoid low-contrast text for primary UI and body copy.
Workflow
- Inventory current typography tokens/rules.
- Define clear type roles:
- Display/headline
- Body
- Meta/supporting text
- Validate legibility basics:
- Sufficient font size
- Adequate line-height
- Adequate contrast
- Validate link presentation:
- Clear clickability cues
- Distinct visited state where relevant
- Validate font choices for data-heavy/alphanumeric contexts with IL1 testing.
- Run script checks and fix failures.
Audit script
Run the bundled heuristic auditor:
ruby scripts/typography_audit.rb "app/assets/stylesheets/**/*.css"
You can scan mixed file types (CSS/SCSS/HTML with <style> blocks).
Generate an IL1 specimen page from discovered font families:
ruby scripts/typography_audit.rb "app/assets/stylesheets/**/*.css" --il1-html /tmp/il1.html
The script reports common risks:
- Small font sizes
- Tight line-height
- Low text/background contrast pairs
- Excessive family count
- Weak link affordance (e.g., removing underlines without replacement)
- Missing
:visitedcolor styles
Treat results as guardrails. Always apply visual review in real UI contexts.
Output expectations
When using this skill in a user-facing task:
- Provide specific typography changes (token/rule level).
- Explain impact on legibility/comprehension.
- Note any intentional tradeoffs (brand constraints, design-system compatibility, edge-case exceptions).
More from nateberkopec/dotfiles
sandi-metz-rules
This skill should be used when users request code review, refactoring, or code quality improvements for Ruby codebases. Apply Sandi Metz's four rules for writing maintainable object-oriented code - classes under 100 lines, methods under 5 lines, no more than 4 parameters, and controllers instantiate only one object. Use when users mention "Sandi Metz", "code quality", "refactoring", or when reviewing Ruby code for maintainability.
15nanobanana
Generate, edit, and restore images using Gemini CLI with the Nano Banana extension. Use when users request image generation, edits, icons, patterns, diagrams, or visual storytelling.
15argument-validator
This skill should be used when users want to validate or critique an argument by extracting premises, surfacing hidden assumptions, checking logical validity, optionally formalizing in Lean, and researching premise support.
15webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
14env-to-fnox
This skill should be used when users want to migrate from .env files to fnox with 1Password (or another secret provider). It covers installing fnox, creating 1Password items, configuring fnox.toml, and integrating with mise. Use when users mention ".env migration", "fnox setup", "1password secrets", or want to improve their secret management workflow.
14deep-research
This skill should be used when users request comprehensive, in-depth research on a topic that requires detailed analysis similar to an academic journal or whitepaper. The skill conducts multi-phase research using web search and content analysis, employing high parallelism with multiple subagents, and produces a detailed markdown report with citations.
14