Use when creating typography scales, font size tokens, or establishing a typographic hierarchy. Includes auto-calculated line heights.
/plugin marketplace add dylantarre/design-system-skills/plugin install design-system-skills@design-system-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
algorithm.tsGenerate harmonious typography scales using musical interval ratios. Automatically calculates appropriate line heights based on font size for optimal readability.
| Name | Ratio | Character |
|---|---|---|
| Minor Second | 1.067 | Subtle, tight |
| Major Second | 1.125 | Conservative |
| Minor Third | 1.2 | Versatile (recommended) |
| Major Third | 1.25 | Balanced |
| Perfect Fourth | 1.333 | Bold contrast |
| Augmented Fourth | 1.414 | Dramatic |
| Perfect Fifth | 1.5 | High contrast |
| Golden Ratio | 1.618 | Classical, striking |
Larger fonts need tighter line height for readability:
| Font Size | Line Height | Reasoning |
|---|---|---|
| 14px or less | 1.7 | Small text needs room |
| 15-18px | 1.6 | Body text range |
| 19-24px | 1.5 | Large body/small headings |
| 25-32px | 1.4 | Subheadings |
| 33-48px | 1.3 | Headings |
| 49px+ | 1.2 | Display text |
CSS Custom Properties:
:root {
/* Font Sizes */
--text-xs: 13.33px;
--text-sm: 14.22px;
--text-base: 16px;
--text-lg: 19.2px;
--text-xl: 23.04px;
--text-2xl: 27.65px;
/* Line Heights */
--leading-xs: 1.70;
--leading-sm: 1.70;
--leading-base: 1.60;
--leading-lg: 1.50;
--leading-xl: 1.50;
--leading-2xl: 1.40;
}
Tailwind Config:
module.exports = {
theme: {
fontSize: {
'xs': ['13.33px', { lineHeight: '1.70' }],
'sm': ['14.22px', { lineHeight: '1.70' }],
'base': ['16px', { lineHeight: '1.60' }],
'lg': ['19.2px', { lineHeight: '1.50' }],
'xl': ['23.04px', { lineHeight: '1.50' }],
'2xl': ['27.65px', { lineHeight: '1.40' }],
}
}
}
JSON Tokens:
{
"typography": {
"xs": { "fontSize": "13.33px", "lineHeight": "1.70" },
"sm": { "fontSize": "14.22px", "lineHeight": "1.70" },
"base": { "fontSize": "16px", "lineHeight": "1.60" },
"lg": { "fontSize": "19.2px", "lineHeight": "1.50" }
}
}
| Position | Name |
|---|---|
| 3 below base | xxs |
| 2 below base | xs |
| 1 below base | sm |
| Base | base |
| 1 above base | lg |
| 2 above base | xl |
| 3+ above base | 2xl, 3xl, 4xl... |
Compact UI (dashboards, data-dense):
Content Site (blogs, marketing):
Editorial (magazines, long-form):