Web Typography logo

Web Typography

Community
flitzrrr
web-typography

Font selection, font pairing, typographic scales, line height, line length, and CSS implementation for web typography. Defines rules for readable, performant, and hierarchically structured text design.

Overview

Publisherflitzrrr
Repositoryfrontend-design-skills
Skill nameweb-typography
Stars
9
Forks
2
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by flitzrrr on GitHub. Read the source before you install it.

Installation

Install the Web Typography AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/flitzrrr/frontend-design-skills/tree/main/skills-src/web-typography
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/flitzrrr/frontend-design-skills.git /tmp/frontend-design-skills
mkdir -p .claude/skills
cp -r /tmp/frontend-design-skills/skills-src/web-typography .claude/skills/web-typography
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Web Typography in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Web Typography on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Web Typography is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Web Typography

Readable, hierarchically structured, and performant text design for the web.

Scope

Use this skill when: You are selecting fonts, defining font pairings, building typographic scales, setting line heights and line lengths, implementing fluid typography, or auditing existing typography for quality.

Principles

1. Typography Is User Interface

Text is the primary information layer. Typographic design determines whether content is read, scanned, or ignored.

2. Readability Before Aesthetics

A font must first be readable. If the user focuses on the formatting instead of the content, the typography has failed.

3. Create Hierarchy Through Typography

Different sizes, weights, and styles form a clear information hierarchy. The reading flow is typographically directed.

4. Fewer Fonts -- Greater Impact

Maximum 2-3 font families per project. Each additional font increases load time and reduces coherence.

5. Use Emotional Impact Intentionally

Sans-serif grotesque = modern/neutral. Serif = classic/trustworthy. Display font = expressive/unique.

Rules

Font Selection

  • DO: Choose fonts matching the brand identity. Corporate: Inter, Geist, DM Sans. Creative: display fonts.
  • DO: Verify character set coverage: umlauts, special characters (mandatory for German-language content).
  • DO: Use variable fonts when available (one file instead of 6+).
  • DO: Prefer self-hosted WOFF2 (GDPR: no Google Fonts CDN).
  • DON'T: Use more than 2 font families for body + headings. A third only for accents.
  • DON'T: Use Comic Sans, Papyrus, or Impact in professional contexts -- never.

Font Pairing

  • DO: Combine with contrast: serif for headlines + sans for body (or vice versa).
  • DO: Match similar x-heights between pairs for optical harmony.
  • DO: Use proven combinations: Playfair Display + Source Sans Pro, Poppins + Inter.
  • DON'T: Combine two similar sans-serifs. Lack of contrast appears indecisive.

Sizes & Scale

  • DO: Use a typographic scale: Major Third (1.250) or Perfect Fourth (1.333).
  • DO: Body at least 16px (preferably 18px).
  • DO: Headlines: mobile min. 24px, desktop min. 32px.
  • DO: Use clamp() for fluid responsive sizes: font-size: clamp(1rem, 2.5vw, 2rem).
  • DON'T: Use font sizes below 14px for readable content. Minimum 12px for footers.

Line Height & Line Length

  • DO: Body line-height: 1.5 to 1.75.
  • DO: Headline line-height: 1.1 to 1.3.
  • DO: Line length 45-75 characters (optimal: 65). CSS: max-width: 65ch.
  • DON'T: Use line-height 1.0 or below for multi-line text.
  • DON'T: Let text lines run at full viewport width (readability drops drastically above 80+ characters).

Text Styling

  • DO: Use justified text only with hyphenation (hyphens: auto).
  • DO: Prefer ragged right (text-align: left) for web content.
  • DO: Use text-wrap: balance for headlines.
  • DO: Use font-weight: 600-700 for emphasis, not underlines or ALL CAPS.
  • DON'T: Use underlines for text emphasis -- on the web, underline always means "link."
  • DON'T: Set longer texts in all caps. Only for short labels/buttons (max. 3-4 words).

Performance

  • DO: Use WOFF2 format (best compression).
  • DO: Use font-display: swap.
  • DO: Preload the primary font: <link rel="preload" href="font.woff2" as="font" type="font/woff2" crossorigin>.
  • DO: Subset fonts when only Latin characters are needed (60-80% savings).
  • DON'T: Load more than 4 font files (including weights).

Patterns

Detailed pattern descriptions: see references/patterns.md

Typographic Hierarchy (Standard Setup)

H1: 40-56px Bold, H2: 32-40px SemiBold, H3: 24-28px SemiBold, Body: 16-18px Regular, Small: 14px, Eyebrow: 12-14px SemiBold Uppercase.

Fluid Typography

clamp() on all text levels. No media query breakpoints needed for font sizes.

Editorial Typography

Serif font for body (18-20px). Narrower line length (max 60ch). Drop caps. Pull quotes with display font.

Anti-Patterns

Wall of Text

Long running text without structure. Solution: Add a subheading every 2-3 paragraphs. Use lists and quotes as rhythm elements.

Font Overload

More than 3 families, inconsistent weights, arbitrary sizes. Solution: 2 families, a defined scale, documented rules.

Too-Small Font

Body below 16px, especially on mobile. Solution: Body min. 16px, on mobile preferably 18px. Test on real devices.

Insufficient Contrast

Light gray text on a white background. Solution: Min. 4.5:1 for body text (WCAG AA). For large headlines (>= 24px): min. 3:1.

Checklist

  • Max. 2-3 font families?
  • Typographic scale defined and consistently applied?
  • Body at least 16px?
  • Line height body 1.5-1.75, headlines 1.1-1.3?
  • Line length 45-75 characters (ideal 65ch)?
  • Fonts as WOFF2 with font-display: swap?
  • Max. 4 font files loaded?
  • Body text contrast at least 4.5:1?
  • No underlines used for text emphasis?
  • No justified text without hyphenation?
  • clamp() for responsive sizes?
  • Space before headlines larger than space after headlines?
  • Umlauts and special characters available in the font?
  • Fonts self-hosted (GDPR)?

Cross-References

  • ui-design -- Typography as a core element of visual hierarchy
  • color-theory -- Text color and contrast ratios
  • accessibility -- WCAG contrast requirements for text
  • responsive-design -- Fluid typography across breakpoints
  • branding-identity -- Font as a brand element
  • visual-direction -- Current typographic trends

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Web Typography AI skill do?

Font selection, font pairing, typographic scales, line height, line length, and CSS implementation for web typography. Defines rules for readable, performant, and hierarchically structured text design.

Why use Web Typography on TypingMind?

Because you install it once and use it with any model. Web Typography is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Web Typography in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/flitzrrr/frontend-design-skills/tree/main/skills-src/web-typography. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Web Typography?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Web Typography?

As many as you like. As long as a model supports skills, you can use Web Typography with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Web Typography AI skill free?

Yes. It is published on GitHub by flitzrrr under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇