MCPInstall

typeset

Improve UI typography by fixing font choices, type scale, hierarchy, weight, and readability so text feels intentional. Use when the user mentions fonts, typography, type scale, readability, text hierarchy, or sizing that feels off.

Installs
59
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/aladicf/better-react-web-ui --skill typeset
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads typeset automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Assess and improve typography that feels generic, inconsistent, or poorly structured — turning default-looking text into intentional, well-crafted type.

MANDATORY PREPARATION

Read frontend-design and follow its Context Gathering Protocol. Reuse available context and ask only about consequential gaps.


Assess Current Typography

Analyze what's weak or generic about the current type:

  1. Font choices:

    • Are we using invisible defaults? (Inter, Roboto, Arial, Open Sans, system defaults)
    • Does the font match the brand personality? (A playful brand shouldn't use a corporate typeface)
    • Are there too many font families? (More than 2-3 is almost always a mess)
  2. Hierarchy:

    • Can you tell headings from body from captions at a glance?
    • Are font sizes too close together? (14px, 15px, 16px = muddy hierarchy)
    • Are weight contrasts strong enough? (Medium vs Regular is barely visible)
  3. Sizing & scale:

    • Is there a consistent type scale, or are sizes arbitrary?
    • Does body text meet minimum readability? (16px+)
    • Is the sizing strategy appropriate for the context? (Fixed rem scales for app UIs; fluid clamp() for marketing/content page headings)
  4. Readability:

    • Are line lengths comfortable? (45-75 characters ideal)
    • Is line-height appropriate for the font and context?
    • Is there enough contrast between text and background?
    • Are italics, underlines, and all-caps being used deliberately rather than as decoration?
  5. Consistency:

    • Are the same elements styled the same way throughout?
    • Are font weights used consistently? (Not bold in one section, semibold in another for the same role)
    • Is letter-spacing intentional or default everywhere?
    • Is capitalization consistent by role? (titles, buttons, labels, toasts, metadata)

CRITICAL: The goal isn't to make text "fancier" — it's to make it clearer, more readable, and more intentional. Good typography is invisible; bad typography is distracting.

Plan Typography Improvements

Consult the typography reference from the frontend-design skill for detailed guidance on scales, pairing, loading strategies, and font-selection heuristics. Consult the text hierarchy and readability for line length, line-height, alignment, baseline, label/value handling, semantic-vs-visual hierarchy, link emphasis, and numeric alignment. Consult the hierarchy checklist when typography problems are really hierarchy problems in disguise. When changing web fonts in React or Tailwind projects, use the typography reference sections on framework font loading, fallback metrics, OpenType utilities, variable font axes, and font payload budgets before adding new font files.

Treat the shared text hierarchy/readability reference as the common source for reading comfort and text-structure rules, then apply the typography-specific changes here.

Create a systematic plan:

  • Font selection: Do fonts need replacing? What fits the brand/context?
  • Type scale: Establish a constrained UI scale; use modular scales as inspiration, then hand-craft the actual steps you need
  • Weight strategy: Which weights serve which roles? (Regular for body, Semibold for labels, Bold for headings — or whatever fits)
  • Spacing: Line-heights, letter-spacing, and margins between typographic elements
  • Schema: Are the typography roles documented clearly enough that future screens can stay consistent?
  • Loading and performance: Are fonts subset, preloaded by the framework when available, and safe from layout shift?
  • OpenType and numerals: Do data-heavy components need tabular-nums, lining numerals, disabled code ligatures, or other font features?

Improve Typography Systematically

Font Selection

If fonts need replacing:

  • Choose fonts that reflect the brand personality
  • Pair with genuine contrast (serif + sans, geometric + humanist) — or use a single family in multiple weights
  • Prefer families with a healthy range of weights; families with more weights are usually more carefully built
  • Optimize for legibility in UI text — avoid condensed display faces with short x-heights for body copy
  • Ensure web font loading doesn't cause layout shift (font-display: swap, metric-matched fallbacks)

Establish Hierarchy

Build a clear type scale:

  • 5-7 sizes cover most needs: caption, secondary, body, subheading, heading, display, optional eyebrow
  • Use ratios to explore, then commit to real values that feel right in the interface
  • Combine dimensions: Size + weight + color + space for strong hierarchy — don't rely on size alone
  • Use dramatic enough weight contrast that the hierarchy is obvious; medium vs regular is often too subtle
  • App UIs: Use a fixed rem-based type scale, optionally adjusted at 1-2 breakpoints. Fluid sizing undermines the spatial predictability that dense, container-based layouts need
  • Marketing / content pages: Use fluid sizing via clamp(min, preferred, max) for headings and display text. Keep body text fixed

Fix Readability

  • Set max-width on text containers using ch units (max-width: 65ch)
  • Keep most paragraphs in the 45-75 character range
  • Adjust line-height per context: tighter for headings (1.1-1.2), looser for body (1.5-1.7)
  • Increase line-height as line length increases; reduce it as font size gets larger
  • Increase line-height slightly for light-on-dark text
  • Ensure body text is at least 16px / 1rem

Refine Details

  • Use tabular-nums for data tables and numbers that should align
  • Right-align numeric columns when comparison matters
  • Align mixed-size text by the baseline when it appears on the same line
  • Apply proper letter-spacing: slightly open for small caps and uppercase, default or slightly tighter for large display text
  • Tighten headings selectively when the typeface is naturally loose at larger sizes
  • Use italics sparingly: short emphasis, quotes, and testimonials are fine; long UI copy and controls are not
  • Underline links and short key emphasis deliberately; do not blanket-underline dense text
  • Keep capitalization consistent by role, and add tracking when using all-caps labels or metadata
  • Don’t make every link bright blue by default; match link emphasis to its importance in the reading flow
  • Use semantic token names (--text-body, --text-heading), not value names (--font-16)
  • Set font-kerning: normal and consider OpenType features where appropriate

Weight Consistency

  • Define clear roles for each weight and stick to them
  • Don't use more than 3-4 weights (Regular, Medium, Semibold, Bold is plenty)
  • Prefer larger jumps between roles over lots of barely different weights
  • Load only the weights you actually use (each weight adds to page load)

Scale Integrity

  • Use rem or px as source values for the scale, then prefer rem in implementation to respect user settings
  • Avoid em-based type scales in nested UI — descendants quickly drift off-system
  • If a scale needs lots of fractional sizes to work, the scale is probably too mathematical and not practical enough

NEVER:

  • Use more than 2-3 font families
  • Pick sizes arbitrarily — commit to a scale
  • Set body text below 16px
  • Use decorative/display fonts for body text
  • Disable browser zoom (user-scalable=no)
  • Use em to define your type scale in nested UI
  • Use tiny font sizes just to create hierarchy — use weight or color first
  • Center-align long-form text
  • Assume a perfect mathematical ratio is better than a hand-crafted scale
  • Use px for font sizes in implementation — use rem to respect user settings
  • Default to Inter/Roboto/Open Sans when personality matters
  • Pair fonts that are similar but not identical (two geometric sans-serifs)

Verify Typography Improvements

  • Hierarchy: Can you identify heading vs body vs caption instantly?
  • Readability: Is body text comfortable to read in long passages?
  • Consistency: Are same-role elements styled identically throughout?
  • Personality: Does the typography reflect the brand?
  • Performance: Are web fonts loading efficiently without layout shift?
  • Accessibility: Does text meet WCAG contrast ratios? Is it zoomable to 200%?

Remember: Typography is the foundation of interface design — it carries the majority of information. Getting it right is the highest-leverage improvement you can make.

FAQ

What does the typeset skill do?

Improve UI typography by fixing font choices, type scale, hierarchy, weight, and readability so text feels intentional. Use when the user mentions fonts, typography, type scale, readability, text hierarchy, or sizing that feels off.

How do I install typeset?

Run npx skills add https://github.com/aladicf/better-react-web-ui --skill typeset in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/typeset/ (personal) or .claude/skills/typeset/ (project).

Which AI agents can use typeset?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is typeset safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains typeset?

It is published by aladicf in aladicf/better-react-web-ui. It has 59 recorded installs.

More from aladicf/better-react-web-ui

View all →

frontend-design

aladicf/better-react-web-ui

Create distinctive React and Tailwind interfaces with strong hierarchy and polished implementation. Use when building or redesigning pages, flows, or components, or when another better-react-web-ui skill needs shared design guidance. Pair with add-ui for direct implementation or requested alternatives.

polish

aladicf/better-react-web-ui

Perform a final quality pass fixing alignment, spacing, consistency, and micro-detail issues before shipping. Use when the work is functionally complete and needs finishing touches—not when the hierarchy, structure, tone, or technical foundation still need major changes.

add-ui

aladicf/better-react-web-ui

Create or redesign React and Tailwind sections, pages, flows, shells, and components. Use when the user wants new UI or a redesign. Implement one requested or selected direction directly, or generate distinct alternatives when the user asks to compare options.

data-viz

aladicf/better-react-web-ui

Design charts, metrics, and data tables that help users interpret and compare data. Use when the user asks to visualize data, choose chart types, improve dashboard analytics, or make data presentation accessible. Dashboard navigation and shell layout alone belong to add-ui or arrange.

setup

aladicf/better-react-web-ui

Gather and persist audience, brand, UX goals, React framework, Tailwind setup, and component defaults for future design work. Use when the user asks to establish or update reusable project design guidance. A request to build UI can proceed with existing context without running setup.

colorize

aladicf/better-react-web-ui

Open the skill to read its SKILL.md instructions.

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs