Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Editorial Type Tokens

ASecurity

Two-face typographic system for premium, editorial, magazine-grade UI — a high-contrast serif/display face for H1, H2, hero and section titles, and a clean geometric/humanist sans for body, labels, tables, forms, buttons and metadata — mapped as CSS custom properties with weight, tracking and line-height per role. Use this whenever writing or reviewing CSS/Tailwind/design tokens for headings and body text, picking fonts, building a type scale, or when the page would otherwise default to a sin...

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
designgorailsgit

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add fernandokylas/editorial-web-craft --skill editorial-type-tokens --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Editorial Type Tokens?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Editorial Type Tokens
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fernandokylas-editorial-type-tokens/badge)](https://www.skillsdirectory.com/skills/fernandokylas-editorial-type-tokens)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: editorial-type-tokens
description: >-
  Two-face typographic system for premium, editorial, magazine-grade UI — a high-contrast
  serif/display face for H1, H2, hero and section titles, and a clean geometric/humanist sans for
  body, labels, tables, forms, buttons and metadata — mapped as CSS custom properties with weight,
  tracking and line-height per role. Use this whenever writing or reviewing CSS/Tailwind/design tokens
  for headings and body text, picking fonts, building a type scale, or when the page would otherwise
  default to a single face (Inter, Arial, Roboto, system-ui everywhere) — including when the user says
  "make it feel premium / editorial / like a magazine / less generic", "font pairing", "what fonts
  should I use", "typography", or asks for a landing page, report, case study, portfolio, or brand
  site.
---

# Editorial Type Tokens

One font family across a whole interface reads as a default, not a decision. Publications and consultancies that look expensive almost always run two faces with clearly separated jobs: a display face that carries drama at large sizes, and a text face that gets out of the way at small ones. The contrast between them — serif against sans, heavy against regular, tight against open — is what creates hierarchy before the reader has read a word.

Set up both faces as tokens, assign every element a role, and never let the roles blur.

## The two roles

**Display face** — H1, H2, hero statements, pull quotes, editorial section titles, big KPI numbers. A high-contrast serif (Playfair Display, Fraunces, Newsreader) or a heavy display sans when serif is wrong for the brand. Heavy weight (600–700), *negative* tracking (−0.02 to −0.03em — large serifs set loose look amateurish), tight leading (1.05–1.15). Its job is to be noticed.

**Body / UI face** — paragraphs, H3 and below, labels, inputs, buttons, table cells, nav, metadata rails, captions. A geometric or humanist sans that is legible at 12–18px and doesn't call attention to itself. Regular 400 for reading, 500–600 for emphasis and buttons, zero tracking at body size, generous leading (1.5–1.65). Its job is to disappear.

H3 goes to the *body* face on purpose: serif sub-headings at 1.25rem look smaller than the sans text around them (serif x-heights are lower), and three levels of serif dilutes the drama of the top two. Sub-heads in the sans at 600 keep the hierarchy crisp.

## Token contract

```css
:root {
  /* Display — editorial tone */
  --font-display: "Playfair Display", Georgia, Cambria, "Times New Roman", Times, serif;
  --font-weight-display: 700;
  --letter-spacing-display: -0.03em;
  --line-height-display: 1.15;

  /* Body / UI — utility, high scan rate */
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-weight-body-regular: 400;
  --font-weight-body-bold: 600;
  --letter-spacing-body: 0;
  --line-height-body: 1.6;

  /* Metadata — the third voice, still the body face */
  --font-size-meta: 0.75rem;
  --letter-spacing-meta: 0.12em;
}

h1, h2, .editorial-headline {
  font-family: var(--font-display);
  font-weight: var(--font-weight-display);
  letter-spacing: var(--letter-spacing-display);
  line-height: var(--line-height-display);
  color: var(--text-main);
  text-wrap: balance;
}

p, h3, h4, li, td, th, label, input, select, textarea, button, .ui-metadata {
  font-family: var(--font-body);
  font-weight: var(--font-weight-body-regular);
  letter-spacing: var(--letter-spacing-body);
  line-height: var(--line-height-body);
}
h3, h4, th, button { font-weight: var(--font-weight-body-bold); line-height: 1.3; }
h3, h4 { letter-spacing: -0.01em; }                  /* sub-heads in the body face still tighten slightly */
input, select, textarea, button { font: inherit; }   /* form controls don't inherit by default */

.ui-metadata {
  font-size: var(--font-size-meta);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-meta);
  font-weight: var(--font-weight-body-bold);
  color: var(--text-muted);
}
```

Colours reference `--text-main` / `--text-muted` rather than hex so the system survives a dark section (see `ground-inversion-guard`). Sizes come from fluid tokens (`--fs-display`, `--fs-h2`, `--fs-h3` in `fluid-clamp-calculator`) — this skill decides *which face and how it's set*, not how big.

## The metadata voice

Small, uppercase, tracked-out sans (`.ui-metadata`) is the third register: dates, section numbers, labels, table headers, the left rail in an editorial layout. It provides architectural contrast against the big serif without introducing a third family. Tracking scales inversely with size — the shared floor across this skill set is **0.08em for any uppercase text**, rising to 0.12em at 0.75rem; never on lowercase body text. Keep `font-size`, `font-weight` and `letter-spacing` in the *same rule* so the compensation is visible to the next reader and to `accessible-ink-scale`'s audit.

## Choosing the pair

Playfair + system sans is the default and needs no justification. When the brief has a tone — financial, literary, luxury, studio, tech — pick from `references/pairings.md`, which lists tested pairs with the weights to load, the Google Fonts link pattern, and the system-only stacks for offline artifacts. Load two or three weights, not the whole family; a variable font with an axis range is ideal.

If fonts can't load (blocked network, single-file artifact with no `<link>`), the system serif fallback still does the job: Georgia at 700 / −0.02em / 1.1 is more editorial than most people expect. Always design so the fallback looks intentional.

## Things that undo the system

- **Serif body text in UI.** Fine for a long essay page; wrong for anything with forms, tables, or controls. Keep the serif to display sizes.
- **Loose tracking on big serifs.** Positive or zero `letter-spacing` at 3rem+ reads as default. Tighten.
- **Tight leading on body.** `line-height: 1.2` on paragraphs is a heading setting. Body wants 1.5–1.65.
- **Uppercase without tracking.** All-caps at 0.75rem with 0 tracking is a dense block; add 0.08–0.12em.
- **Buttons and inputs in a different face.** They inherit nothing by default — `font: inherit` is mandatory or they'll silently fall to the browser's default sans.
- **Three families.** Display, body, and a mono for code if there's code. Not a fourth.
- **Digits that dance.** Tables and KPIs need `font-variant-numeric: tabular-nums`.

Attribution

fernandokylasfernandokylas
View sourceMore from fernandokylas →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Responsive Design

Implement modern responsive layouts using container queries, fluid typography, CSS Grid, and mobile-first breakpoint strategies. Use when building adaptive interfaces, implementing fluid layouts, or creating component-level responsive behavior.

393432 votes

Mermaid Diagrams

Creating and refining Mermaid diagrams with live reload. Use when users want flowcharts, sequence diagrams, class diagrams, ER diagrams, state diagrams, or any other Mermaid visualization. Provides best practices for syntax, styling, and the iterative workflow using mermaid_preview and mermaid_save tools.

2032 votes

sleek-design-mobile-apps

Use when the user wants to design a mobile app, create screens, build UI, or interact with their Sleek projects. Covers high-level requests ("design an app that does X") and specific ones ("list my projects", "create a new project", "screenshot that screen").

5711 votes

swiftui-design-skill

SwiftUI frontend visual design skill. Creates beautiful, distinctive iOS/macOS interfaces that avoid generic AI slop patterns. Covers design direction, layout systems, typography, color, spacing, brand integration, and design review. Use when designing new SwiftUI views, reviewing UI quality, creating iOS prototypes, choosing visual styles, improving app aesthetics, or when the UI looks generic or AI-generated.

1801 votes

Ios Hig

Use when designing iOS interfaces, implementing accessibility (VoiceOver, Dynamic Type), handling dark mode, ensuring adequate touch targets, providing animation/haptic feedback, or requesting user permissions. Apple Human Interface Guidelines for iOS compliance.

761 votes
View all in design →