⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
typography
Use when styling or reviewing text in any medium; choosing fonts, size, spacing, measure, headings, emphasis, punctuation, or numeric typography; auditing websites, documents, slides, email, resumes, tables, or PDFs; or resolving a user's visual preference against typographic, accessibility, language, and delivery constraints
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
// README
practicaltypography
Your agent already knows typography rules. It doesn't know which ones matter, in what order, or when you're allowed to break them.
One skill that audits and produces publication-grade typography for blogs, websites, docs, slides, résumés, data tables, and PDFs — grounded in Matthew Butterick's Practical Typography and separated from project-authored heuristics and current accessibility, internationalization, font, and delivery requirements. Its gated audit classifies context, protects literal content, inspects the strongest available evidence, applies higher-priority constraints, then reports the most consequential corrections.

The demo
Same agent. Same prompt. One of them read the skill first.
Prompt: "My blog looks unprofessional and I can't figure out why. Can you audit the typography?" — with CSS: 14px Open Sans/Arial,
line-height: 1.8, full-width column, indent + margin on paragraphs, justified, uppercase underlined headings, bold-italic blockquotes.
A solid 8-point list: 14px too small ("use 16–18px"), unconstrained line length ("readable 45–75 characters"), uppercase + underlined headings, justify rivers, redundant paragraph separation, bold+italic blockquotes, "line-height 1.5–1.65 at 16px+ reads better", straight quotes.
(All real issues. No order, no severity, no verdict on the fonts — Arial sat in that stack unremarked. The numbers are vibes: 45–75, 1.5–1.65, "ideally 1.125rem+".)
[MAJOR] body font-size: 14px below range → 18px (15–25px)
[MAJOR] line-height: 1.8 far above 1.2–1.45 → 1.4 — "if you deliberately want an airy Medium-style feel, the pairing is 19–21px with 1.5–1.6, never 14px with 1.8"
[MAJOR] measure: uncapped, 150+ chars on desktop → max-width: 65ch — "the single most common web typography failure"
[MAJOR] font stack: Arial is an avoid-list font; Open Sans judged overexposed by the unlisted-font criteria → Source Serif / Charter / IBM Plex
…then paragraphs, headings, emphasis, characters — each [MAJOR|MINOR], closing with a corrected CSS block and "the three fixes doing the most damage."
The vanilla answer isn't bad. It's good — and it missed the font entirely, ranked nothing, and its numbers drift with whatever the model last read. The skill's answer is a procedure: six checks in impact order, severity by definition rather than vibes, sourced ranges, and a required closing the user can act on.
Before / after
The committed input demo/before.html is audited in demo/AUDIT.md, and demo/after.html applies the changes with the wording preserved. Character-composition edits are reported explicitly. demo/RUN.md records the visual inspection context and artifact hashes; the broader behavior contract is scenario EVAL-DEMO in evals/scenarios.json.
The headline changes: 16px/1.7 Georgia became 18px/1.4 Charter, the dark striped table header became thin rules with tabular figures, the italic intro and tinted blockquote calmed down to structural distinction, and the centered inverse closing box became left-aligned text. Same content — and the page got shorter (1584px vs 1804px of scroll), because tighter leading recovers what the web-default 1.7 wastes. Good typography costs nothing in word count.
Install
Any agent (recommended):
npx skills add danium/practicaltypography
Claude Code (plugin):
/plugin marketplace add danium/practicaltypography
/plugin install practicaltypography@practicaltypography
Codex: ask $skill-installer to install from https://github.com/danium/practicaltypography
Manual: clone and copy skills/typography into your agent's skills directory.
What's inside
| File | Covers |
|---|---|
SKILL.md | Compact router, precedence order, gated audit, impact ordering, evidence levels, reporting contract, and optional project presets |
composition.md | Safe transformations, literal-content protection, punctuation, whitespace, symbols, figures, accents, emphasis, and caps |
layout.md | Body text, paragraphs, headings, automated lists, semantic styles, block quotations, tables, page flow, columns, and grids |
fonts.md | A dated source shortlist plus context-sensitive validation for glyphs, genuine styles, features, fallbacks, application support, and licensing |
web.md | Declared-versus-rendered evidence, responsive measure, WCAG resilience, actual font loading, fallback metrics, variable axes, and optical sizing |
media.md | Print, slides, email and collaboration, résumés, numeric tables, direct PDF production, and final-delivery checks |
international.md | English-Latin scope, language and direction metadata, script-sensitive stop conditions, and mixed-script verification |
provenance.md | Stable rule IDs classified as PT, DEVIATION, or CURRENT, with sources, scope, freshness, and evaluation mappings |
evals/ | Fourteen versioned risk scenarios, minimal fixtures, observable rubric, baseline/candidate results, and source-drift review |
Pick your entry point
| Situation | Where the skill takes it |
|---|---|
| "This page/deck looks unprofessional" | Gated audit, findings ranked [MAJOR|MINOR], corrected values, evidence level, and top-three fixes |
| "Set up typography for my blog / docs site" | Body benchmark plus focused composition, layout, font, and web references |
| "Make it airy like Medium, not like a book" | Preference protocol: intent governs, reference beats quoted number, named presets (Bookish · Airy modern web · Compact docs) |
| "Style my conference slides" | Viewing-distance calibration, stable role sizes, contrast checks, and editing instead of auto-shrink |
| "Which font should I use?" | Dated source shortlist plus glyph, style, feature, fallback, support, and license validation |
| "My data tables look off" | Numeric features, alignment by number kind, precision preservation, and medium calibration |
| "Can I ship this PDF?" | Direct export, searchable text, font embedding and rights, metadata, and final-page inspection |
| "Audit this Arabic/Japanese/mixed-script text" | Language metadata, preservation gates, authoritative routing, and rendered script checks |
How it was built
The repository now carries a vendor-neutral regression suite. Fourteen scenarios cover web prose, responsive measure, code, email, print, slides, tables, PDF delivery, font fallback, WCAG text spacing, non-Latin and mixed-script text, font licensing and glyph coverage, and public evidence. The baseline result records what revision `41559fe7e
// HOW IT'S BUILT
KEY FILES