typeset
Skill14 starsChanged 37 days agoMITView on GitHub
Improves typography by fixing font choices, hierarchy, sizing, weight, and readability so text feels intentional. Use when the user mentions fonts, type, readability, text hierarchy, sizing looks off, or wants more polished, intentional typography.
29 other projects use a version of this, 17 of them edited.
Adopted by
Most recently taken up by
- theexperiencecompany/gaiaword for word, first seen Nov 3, 2026
- vijaysuperpositionist/skillsword for word, first seen Nov 1, 2026
- nexmoe/DayBeeedited, first seen Nov 1, 2026
- davidanthonyn/claude-skillsedited, first seen Oct 20, 2026
- JessyTsui/typesettheir own version, first seen Oct 20, 2026
- The-Utopia-Studio/skillsword for word, first seen Oct 13, 2026
Other versions29 projects use a version of this.
Word for word · 8
- 10xChengTu/Mux0★ 337100% same
- theexperiencecompany/gaia★ 325100% same
- owshq-mec/semana-ai-data-engineer★ 122100% same
- StyleSwift/StyleSwift★ 61100% same
- The-Utopia-Studio/skills★ 6100% same
- tyfarrago-hub/taste★ 3100% same
- ReScienceLab/TrySkills★ 2100% same
- vijaysuperpositionist/skills★ 0100% same
Edited · 17
- talesofai/cohub★ 58597% same
- nexmoe/DayBee★ 42495% same
- nexmoe/eve★ 42495% same
- Southclaws/storyden★ 34895% same
- AkaraChen/aghub★ 27197% same
- zacharyfmarion/openscad-studio★ 23893% same
- jagrat7/linux-wallpaper-engine★ 227100% same
- rwliebs/Dossier★ 8895% same
- HK-hub/AgentSkills★ 697% same
- arnabdeypolimi/claude_code_setup★ 497% same
7 more not listed
Wrote their own version · 4
- educlopez/ui-craft★ 441same name
- cerul-ai/typeset★ 21same name
- JessyTsui/typeset★ 21same name
- Zack-Grogan/agentos-foundation★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository44 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- adaptSkill
- animateSkill
- auditSkill
- bolderSkill
- brainstormSkill
- build-fixSkill
- business-panelSkill
- checkpointSkill
- clarifySkill
- colorizeSkill
- composition-patternsSkill
- confidence-checkSkill
- config-doctorSkill
- critiqueSkill
- delightSkill
- design-auditSkill
- devils-advocateSkill
- distillSkill
- eval-harnessSkill
- feature-plannerSkill
- fix-prSkill
- frontend-designSkill
- gap-analysisSkill
- grill-with-docsSkill
- hardenSkill
- impeccableSkill
- layoutSkill
- learnSkill
- optimizeSkill
- overdriveSkill
- polishSkill
- pytest-runnerSkill
- python-best-practicesSkill
- quieterSkill
- react-best-practicesSkill
- sc-helpSkill
- security-auditSkill
- shapeSkill
- tddSkill
- ui-ux-pro-maxSkill
- uv-packageSkill
- verifySkill
- web-design-guidelinesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 7 are common, 0 are distinctive, and 7 are very specific to this project.
7
Common
Most of the 19 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 52
Create a systematic plan:
- Common: line 54
Font selection: Do fonts need replacing? What fits the brand/context?
- Common: line 63
If fonts need replacing:
- Very specific: line 66
Ensure web font loading doesn't cause layout shift (font-display: swap, metric-matched fallbacks)
- Very specific: line 74
App UIs: Use a fixed rem-based type scale, optionally adjusted at 1-2 breakpoints.
- Very specific: line 75
Marketing / content pages: Use fluid sizing via clamp(min, preferred, max) for headings and display text.
- Common: line 82
Ensure body text is at least 16px / 1rem
- Very specific: line 86
Use tabular-nums for data tables and numbers that should align
- Very specific: line 88
Use semantic token names (--text-body, --text-heading), not value names (--font-16)
- Common: line 94
Don't use more than 3-4 weights (Regular, Medium, Semibold, Bold is plenty)
- Common: line 98
Use more than 2-3 font families
- Common: line 101
Use decorative/display fonts for body text
- Very specific: line 103
Use px for font sizes — use rem to respect user settings
- Very specific: line 104
Default to Inter/Roboto/Open Sans when personality matters
“Common” is measured: kept by at least 6 in 10 of the 19 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Assess and improve typography that feels generic, inconsistent, or poorly structured — turning default-looking text into intentional, well-crafted type.
MANDATORY PREPARATION
Invoke /impeccable — it contains design principles, anti-patterns, and the Context Gathering Protocol. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first.
Assess Current Typography
Analyze what's weak or generic about the current type:
- Font choices:
- Are we using invisible defaults? (Inter, Roboto, Arial, Open Sans, system defaults)
- Does the font match the brand personality? (A playful brand shouldn't use a corporate typeface)
- Are there too many font families? (More than 2-3 is almost always a mess)
- Hierarchy:
- Can you tell headings from body from captions at a glance?
- Are font sizes too close together? (14px, 15px, 16px = muddy hierarchy)
- Are weight contrasts strong enough? (Medium vs Regular is barely visible)
- Sizing & scale:
- Is there a consistent type scale, or are sizes arbitrary?
- Does body text meet minimum readability? (16px+)
- Is the sizing strategy appropriate for the context? (Fixed
remscales for app UIs; fluidclamp()for marketing/content page headings)
- Readability:
- Are line lengths comfortable? (45-75 characters ideal)
- Is line-height appropriate for the font and context?
- Is there enough contrast between text and background?
- Consistency:
- Are the same elements styled the same way throughout?
- Are font weights used consistently? (Not bold in one section, semibold in another for the same role)
- Is letter-spacing intentional or default everywhere?
CRITICAL: The goal isn't to make text "fancier" — it's to make it clearer, more readable, and more intentional. Good typography is invisible; bad typography is distracting.
Plan Typography Improvements
Consult the typography reference from the impeccable skill for detailed guidance on scales, pairing, and loading strategies.
Create a systematic plan:
- Font selection: Do fonts need replacing? What fits the brand/context?
- Type scale: Establish a modular scale (e.g., 1.25 ratio) with clear hierarchy
- Weight strategy: Which weights serve which roles? (Regular for body, Semibold for labels, Bold for headings — or whatever fits)
- Spacing: Line-heights, letter-spacing, and margins between typographic elements
Improve Typography Systematically
Font Selection
If fonts need replacing:
- Choose fonts that reflect the brand personality
- Pair with genuine contrast (serif + sans, geometric + humanist) — or use a single family in multiple weights
- Ensure web font loading doesn't cause layout shift (
font-display: swap, metric-matched fallbacks)
Establish Hierarchy
Build a clear type scale:
- 5 sizes cover most needs: caption, secondary, body, subheading, heading
- Use a consistent ratio between levels (1.25, 1.333, or 1.5)
- Combine dimensions: Size + weight + color + space for strong hierarchy — don't rely on size alone
- App UIs: Use a fixed
rem-based type scale, optionally adjusted at 1-2 breakpoints. Fluid sizing undermines the spatial predictability that dense, container-based layouts need - Marketing / content pages: Use fluid sizing via
clamp(min, preferred, max)for headings and display text. Keep body text fixed
Fix Readability
- Set
max-widthon text containers usingchunits (max-width: 65ch) - Adjust line-height per context: tighter for headings (1.1-1.2), looser for body (1.5-1.7)
- Increase line-height slightly for light-on-dark text
- Ensure body text is at least 16px / 1rem
Refine Details
- Use
tabular-numsfor data tables and numbers that should align - Apply proper
letter-spacing: slightly open for small caps and uppercase, default or tight for large display text - Use semantic token names (
--text-body,--text-heading), not value names (--font-16) - Set
font-kerning: normaland consider OpenType features where appropriate
Weight Consistency
- Define clear roles for each weight and stick to them
- Don't use more than 3-4 weights (Regular, Medium, Semibold, Bold is plenty)
- Load only the weights you actually use (each weight adds to page load)
NEVER:
- Use more than 2-3 font families
- Pick sizes arbitrarily — commit to a scale
- Set body text below 16px
- Use decorative/display fonts for body text
- Disable browser zoom (
user-scalable=no) - Use
pxfor font sizes — useremto respect user settings - Default to Inter/Roboto/Open Sans when personality matters
- Pair fonts that are similar but not identical (two geometric sans-serifs)
Verify Typography Improvements
- Hierarchy: Can you identify heading vs body vs caption instantly?
- Readability: Is body text comfortable to read in long passages?
- Consistency: Are same-role elements styled identically throughout?
- Personality: Does the typography reflect the brand?
- Performance: Are web fonts loading efficiently without layout shift?
- Accessibility: Does text meet WCAG contrast ratios? Is it zoomable to 200%?
Remember: Typography is the foundation of interface design — it carries the majority of information. Getting it right is the highest-leverage improvement you can make.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

