typeset
pbakaus/impeccable
Fix fonts, hierarchy, and readability to make typography intentional and polished.
What is typeset?
Improves typography by assessing and fixing font choices, hierarchy, sizing, weight, and readability. Use when text feels generic, inconsistent, or poorly structured—transforming default-looking type into intentional, well-crafted design that enhances readability and brand personality.
- Analyze font choices for brand fit and consistency (max 2-3 families)
- Establish clear typographic hierarchy with modular scales and weight strategies
- Fix readability through proper line-length, line-height, and minimum sizing (16px+)
- Ensure consistent styling across same-role elements throughout the design
- Optimize web font loading and performance without layout shift
- Verify accessibility and WCAG contrast compliance
How to install typeset
npx skills add https://github.com/pbakaus/impeccable --skill typeset- Run /impeccable teach first to establish design context and gather requirements
- Access to the impeccable skill's typography reference guide
How to use typeset
- 1.Invoke /impeccable to gather design context and brand personality
- 2.Analyze current typography: assess fonts, hierarchy, sizing, readability, and consistency
- 3.Consult the typography reference for scales, pairing strategies, and loading best practices
- 4.Create a systematic improvement plan covering font selection, type scale, weight strategy, and spacing
- 5.Implement improvements: select fonts, establish hierarchy with modular scales, fix readability constraints, refine details
- 6.Verify improvements: check hierarchy clarity, readability, consistency, brand fit, performance, and accessibility
Use cases
- Redesigning a website where text hierarchy is muddy and fonts feel generic
- Establishing a consistent type system for a new product or brand
- Fixing readability issues in long-form content or dense interfaces
- Replacing default fonts (Inter, Roboto, Arial) with personality-matched alternatives
- Auditing typography consistency across multiple pages or components
- Product designers building or refining design systems
- Frontend developers implementing typography at scale
- Brand designers establishing typographic guidelines
- Content teams improving readability of marketing or editorial sites
typeset FAQ
Use 2-3 font families maximum. Pair with genuine contrast (serif + sans, geometric + humanist) or use a single family in multiple weights for consistency.
Body text should be at least 16px / 1rem for comfortable readability. Smaller sizes harm accessibility and user experience.
Use fixed rem-based scales for app UIs to maintain spatial predictability. Use fluid sizing via clamp() for marketing and content page headings to adapt across screen sizes.
Use a consistent ratio (1.25, 1.333, or 1.5) between size levels. Five sizes typically cover most needs: caption, secondary, body, subheading, and heading.
Use tighter line-height for headings (1.1-1.2) and looser for body text (1.5-1.7). Increase slightly for light-on-dark text.
Full instructions (SKILL.md)
Source of truth, from pbakaus/impeccable.
name: typeset description: Improves typography by fixing font choices, hierarchy, sizing, weight, and readability so text feels intentional. Use when the user mentions fonts, type, readability, text hierarchy, sizing looks off, or wants more polished, intentional typography. version: 2.1.1 user-invocable: true argument-hint: "[target]"
Assess and improve typography that feels generic, inconsistent, or poorly structured — turning default-looking text into intentional, well-crafted type.
MANDATORY PREPARATION
Invoke /impeccable — it contains design principles, anti-patterns, and the Context Gathering Protocol. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first.
Assess Current Typography
Analyze what's weak or generic about the current type:
-
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)
-
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)
-
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
remscales for app UIs; fluidclamp()for marketing/content page headings)
-
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?
-
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?
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 impeccable skill for detailed guidance on scales, pairing, and loading strategies.
Create a systematic plan:
- Font selection: Do fonts need replacing? What fits the brand/context?
- Type scale: Establish a modular scale (e.g., 1.25 ratio) with clear hierarchy
- 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
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
- Ensure web font loading doesn't cause layout shift (
font-display: swap, metric-matched fallbacks)
Establish Hierarchy
Build a clear type scale:
- 5 sizes cover most needs: caption, secondary, body, subheading, heading
- Use a consistent ratio between levels (1.25, 1.333, or 1.5)
- Combine dimensions: Size + weight + color + space for strong hierarchy — don't rely on size alone
- 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-widthon text containers usingchunits (max-width: 65ch) - Adjust line-height per context: tighter for headings (1.1-1.2), looser for body (1.5-1.7)
- Increase line-height slightly for light-on-dark text
- Ensure body text is at least 16px / 1rem
Refine Details
- Use
tabular-numsfor data tables and numbers that should align - Apply proper
letter-spacing: slightly open for small caps and uppercase, default or tight for large display text - Use semantic token names (
--text-body,--text-heading), not value names (--font-16) - Set
font-kerning: normaland 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)
- Load only the weights you actually use (each weight adds to page load)
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
pxfor font sizes — useremto 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.
Related skills
More from pbakaus/impeccable and the wider catalog.
impeccable
Design and iterate production-grade frontend interfaces with real working code and exceptional craft.
polish
Final quality pass fixing alignment, spacing, consistency, and micro-details before shipping.
critique
Evaluate design from a UX perspective with quantitative scoring, persona testing, and automated anti-pattern detection.
audit
Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns with severity ratings.
animate
Review features and add purposeful animations, micro-interactions, and motion effects that improve usability and delight.
adapt
Adapt designs across screen sizes, devices, and platforms with responsive layouts and context-aware patterns.