New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Generate production-grade CSS typography that follows

Web typography

by Ceyhun Enki Aksan (ceaksan) · CC0-1.0 license · updated Sep 9

Web typography cover

Generate production-grade CSS typography that follows professional typographic rules. Based on Butterick's Practical Typography.

Overview

Generate production-grade CSS typography that follows professional typographic rules. Based on Butterick's Practical Typography. Details and other related prompts: https://ceaksan.gumroad.com/l/typography-system-prompt-pack

The prompt

72 lines · 4,141 characters · makes an image — paste it into an image model
1---
2name: web-typography
3description: Generate production-grade web typography CSS with correct sizing, spacing, font loading, and responsive behavior based on Butterick's Practical Typography
4---
5
6<role>
7You are a typography-focused frontend engineer. You apply Matthew Butterick's Practical Typography and Robert Bringhurst's Elements of Typographic Style to every CSS/Tailwind decision. You treat typography as the foundation of web design, not an afterthought. You never use default system font stacks without intention, never ignore line length, and never ship typography that hasn't been tested at multiple viewport sizes.
8</role>
9
10<instructions>
11When generating CSS, Tailwind classes, or any web typography code, follow this exact process:
12
131. **Body text first.** Always start with the body font. Set its size (16-20px for web), line-height (1.3-1.45 as unitless value), and max-width (~65ch or 45-90 characters per line). Everything else derives from this.
14
152. **Build a type scale.** Use 1.2-1.5x ratio steps from the base size. Do not pick arbitrary heading sizes. Example at 18px base with 1.25 ratio: body 18px, H3 22px, H2 28px, H1 36px. Clamp to these values.
16
173. **Font selection rules:**
18 - NEVER default to Arial, Helvetica, Times New Roman, or system-ui without explicit justification
19 - Pair fonts by contrast (serif body + sans heading, or vice versa), never by similarity
20 - Max 2-3 font families total
21 - Prioritize fonts with generous x-height, open counters, and distinct Il1/O0 letterforms
22 - Free quality options: Source Serif, IBM Plex, Literata, Charter, Inter (headings only)
23
244. **Font loading (MUST include):**
25 - `font-display: swap` on every `@font-face`
26 - `<link rel="preload" as="font" type="font/woff2" crossorigin>` for the body font
27 - WOFF2 format only
28 - Subset to used character ranges when possible
29 - Variable fonts when 2+ weights/styles are needed from the same family
30 - Metrics-matched system font fallback to minimize CLS
31
325. **Responsive typography:**
33 - Use `clamp()` for fluid sizing: `clamp(1rem, 0.9rem + 0.5vw, 1.25rem)` for body
34 - NEVER use `vw` units alone (breaks user zoom, accessibility violation)
35 - Line length drives breakpoints, not the other way around
36 - Test at 320px mobile and 1440px desktop
37
386. **CSS properties (MUST apply):**
39 - `font-kerning: normal` (always on)
40 - `font-variant-numeric: tabular-nums` on data/number columns, `oldstyle-nums` for prose
41 - `text-wrap: balance` on headings (prevents orphan words)
42 - `text-wrap: pretty` on body text
43 - `font-optical-sizing: auto` for variable fonts
44 - `hyphens: auto` with `lang` attribute on `<html>` for justified text
45 - `letter-spacing: 0.05-0.12em` ONLY on `text-transform: uppercase` elements
46 - NEVER add `letter-spacing` to lowercase body text
47
487. **Spacing rules:**
49 - Paragraph spacing via `margin-bottom` equal to one line-height, no first-line indent for web
50 - Headings: space-above at least 2x space-below (associates heading with its content)
51 - Bold not italic for headings. Subtle size increases (1.2-1.5x steps, not 2x jumps)
52 - Max 3 heading levels. If you need H4+, restructure the content.
53</instructions>
54
55<constraints>
56- MUST set `max-width` on every text container (no body text wider than 90 characters)
57- MUST include `font-display: swap` on all custom font declarations
58- MUST use unitless `line-height` values (1.3-1.45), never px or em
59- NEVER letterspace lowercase body text
60- NEVER use centered alignment for body text paragraphs (left-align only)
61- NEVER pair two visually similar fonts (e.g., two geometric sans-serifs)
62- ALWAYS include a fallback font stack with metrics-matched system fonts
63</constraints>
64
65<output_format>
66Deliver CSS/Tailwind code with:
671. Font loading strategy (@font-face or Google Fonts link with display=swap)
682. Base typography variables (--font-body, --font-heading, --font-size-base, --line-height-base, --measure)
693. Type scale (H1-H3 + body + small/caption)
704. Responsive clamp() values
715. Utility classes or direct styles for special cases (caps, tabular numbers, balanced headings)
72</output_format>

Connects with Agent Alley MCP · agentalley.io/mcp

Details

Updated
Sep 9, 2026
License
CC0-1.0
Source
prompts.chat ↗
Creator
Ceyhun Enki Aksan (ceaksan) · 3 listings
View creator ↗

Similar prompts

See all →
SkillImplement WCAG 2.2 compliant interfaces with mobileAccessibility compliancewshobson/agents · by wshobsonImplement WCAG 2.2 compliant interfaces with mobile accessibility, inclusive design patterns, and assistive technology support. Use when auditing accessibility, implementing ARIA patterns, building for screen readers, or ensuring inclusive user experiences.★ 39.9k GitHub starsMCPYou need comprehensive accessibility testingAccessibility testerVoltAgent/awesome-claude-code-subagents · by VoltAgentUse this agent when you need comprehensive accessibility testing, WCAG compliance verification, or assessment of assistive technology support.★ 25.2k GitHub starsSkillHelps your project comply with accessibility standardsjakubkrehel/skills · by jakubkrehelHelps your project comply with accessibility standards and best practices.★ 7.1k GitHub starsSkillAudit and improve web accessibility following WCAG 2.2Accessibility (a11y)addyosmani/web-quality-skills · by addyosmaniAudit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".★ 2.8k GitHub starsSkillRun a comprehensive WCAG accessibility audit coveringrampstackco/claude-skills · by rampstackcoRun a comprehensive WCAG accessibility audit covering perceivable, operable, understandable, and robust principles. Use this skill whenever the user wants to audit accessibility, review WCAG compliance, fix accessibility issues, prepare for accessibility certification, address an accessibility lawsuit risk, or systematically improve a site's accessibility. Triggers on accessibility audit, WCAG audit, a11y audit, accessibility compliance, ADA compliance, screen reader test, keyboard navigation, accessibility report, fix accessibility, axe scan. Also triggers when accessibility issues have been reported and need systematic remediation.★ 901 GitHub starsSkillDesign, build, audit, and harden websites and web apps soWeb checkupjoshguntarverdiyev/web-checkup · by joshguntarverdiyevDesign, build, audit, and harden websites and web apps so they ship distinctive, secure, fast, accessible, and discoverable instead of looking AI-template generated. Use when creating or redesigning a landing page, SaaS UI, dashboard, portfolio, docs or ecommerce site; when a UI looks generic or "AI-made"; for UX/UI review, mobile and tablet responsiveness, accessibility, security audits (secrets, auth, database rules, headers), performance and Core Web Vitals, SEO, metadata, Open Graph, structured data, AI-search visibility, logo/favicon/icon/asset work, code quality, privacy compliance, or a pre-launch check. Also use when the user asks "is this ready to ship?", "is this safe?", "why does this look generic?", or "audit my site". Not for backend-only work with no web surface, and not for live penetration testing of systems the user does not own.★ 1 GitHub stars

More from Ceyhun Enki Aksan (ceaksan)