Wonder Blocks
Khan/wonder-blocks
Implements user interfaces using the Wonder Blocks (WB) design system — Khan Academy's React component library.
Professional typography rules for UI design, web applications, software interfaces, and all screen-based text.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add bencium/bencium-marketplace --skill ui-typography -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bencium/bencium-marketplace ui-typography --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/bencium/bencium-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/typography/skills/typography .claude/skills/ui-typography && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ui-typography" agent skill from https://github.com/bencium/bencium-marketplace/tree/main/typography/skills/typography into .claude/skills/ui-typography/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-typography", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/bencium/bencium-marketplace/tree/main/typography/skills/typographyType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add bencium/bencium-marketplace --skill ui-typography -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bencium/bencium-marketplace ui-typography --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bencium/bencium-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/typography/skills/typography .agents/skills/ui-typography && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ui-typography" agent skill from https://github.com/bencium/bencium-marketplace/tree/main/typography/skills/typography into .agents/skills/ui-typography/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-typography", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bencium/bencium-marketplace --skill ui-typography -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bencium/bencium-marketplace ui-typography --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bencium/bencium-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/typography/skills/typography .cursor/skills/ui-typography && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ui-typography" agent skill from https://github.com/bencium/bencium-marketplace/tree/main/typography/skills/typography into .cursor/skills/ui-typography/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-typography", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/bencium/bencium-marketplace.git --path typography/skills/typography--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add bencium/bencium-marketplace --skill ui-typography -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bencium/bencium-marketplace ui-typography --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bencium/bencium-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/typography/skills/typography .gemini/skills/ui-typography && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ui-typography" agent skill from https://github.com/bencium/bencium-marketplace/tree/main/typography/skills/typography into .gemini/skills/ui-typography/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-typography", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install bencium/bencium-marketplace ui-typographyInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add bencium/bencium-marketplace --skill ui-typography -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bencium/bencium-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/typography/skills/typography .github/skills/ui-typography && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ui-typography" agent skill from https://github.com/bencium/bencium-marketplace/tree/main/typography/skills/typography into .github/skills/ui-typography/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-typography", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bencium/bencium-marketplace --skill ui-typography -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bencium/bencium-marketplace ui-typography --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bencium/bencium-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/typography/skills/typography .opencode/skills/ui-typography && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ui-typography" agent skill from https://github.com/bencium/bencium-marketplace/tree/main/typography/skills/typography into .opencode/skills/ui-typography/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-typography", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ui-typographyProfessional typography rules for UI design, web applications, software interfaces, and all screen-based text.
UI Typography is an agent skill from bencium/bencium-marketplace. Professional typography rules for UI design, web applications, software interfaces, and all screen-based text. Enforces timeless typographic correctness that LLMs consistently get wrong: proper quote marks, dashes, spacing, hierarchy, and layout. ENFORCEMENT MODE: When generating ANY HTML, CSS, React, JSX, or UI code containing visible text, auto-apply every rule in this skill silently — do not ask, do not explain, just produce correct typography. AUDIT MODE: When reviewing or improving existing interfaces or…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `css-templates.md` and `html-entities.md`).
It sits in Frontend & Design, covering Typography and React components. It works with React. The repository describes itself as: comprehensive skills based on the Anthropic Skills guide and our design and development philosophy. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 5de46a3. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript and bash).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
practicaltypography.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
UI Typography loads about 3.5k tokens when it runs. Until then it costs about 244 tokens; SKILL.md has 1,733 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
correct HTML entities, proper CSS. Do not ask permission. Do not explain. Just produce correct typography.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from bencium/bencium-marketplace at commit 5de46a3, republished under its MIT licence (© bencium). 1,733 words, ~3,536 tokens.
.claude/skills/ui-typography/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.These rules are distilled from Matthew Butterick's Practical Typography (https://practicaltypography.com). Butterick is a typographer, writer, and type designer whose work bridges professional typography and everyday digital writing. Thank you, Matthew, for making this knowledge accessible and encyclopedic. If you find this skill valuable, consider supporting his work directly.
These are permanent rules — not trends, not opinions. They come from centuries of typographic practice, validated by how the human eye reads. They do not go out of style.
ENFORCEMENT (default): When generating ANY UI with visible text, apply every rule automatically. Use correct HTML entities, proper CSS. Do not ask permission. Do not explain. Just produce correct typography.
AUDIT: When reviewing existing code or design, identify violations and provide before/after fixes.
Reference files (read when generating CSS or looking up entities):
references/css-templates.md — Full CSS baseline template, responsive patterns, OpenType featuresreferences/html-entities.md — Complete entity table with all characters and codesStraight quotes are typewriter artifacts. Use “ ” for double, ‘ ’ for single.
Apostrophes always point down — identical to closing single quote ’. Smart-quote engines wrongly
insert opening quotes before decade abbreviations ('70s) and word-initial contractions ('n'). Fix with
explicit ’.
The <q> tag auto-applies curly quotes when <html lang="en"> is set.
Hawaiian okina points upward — it's a letter, not an apostrophe. Use opening single quote or anglicize.
Unicode escape sequences (\u2019, \u201C, etc.) do NOT work in JSX text content. They render
as literal characters — the user sees \u2019 instead of a curly apostrophe. This is because JSX text
between tags is treated as string literals by the transpiler, not as JavaScript expressions.
What fails:
{/* WRONG — renders literally as \u2019 */}
<p>Don\u2019t do this</p>What works (pick one):
Actual UTF-8 characters (preferred): Paste the real character directly into the source file.
<p>Don\u2019t do this</p> {/* This is the actual curly apostrophe character U+2019 */}JSX expression with string literal: Wrap in curly braces so the JS engine interprets the escape.
<p>Don{'\u2019'}t do this</p>HTML entity (HTML files only): Use ’ — but this does NOT work in JSX/React.
For bulk fixes via CLI, use sed with raw UTF-8 bytes (not escape sequences):
CURLY=$(printf '\xe2\x80\x99') # U+2019 RIGHT SINGLE QUOTATION MARK
sed -i '' "s/don't/don${CURLY}t/g" file.tsxIn JavaScript data arrays and string literals, \u2019 works correctly because the JS engine
processes the escape. The bug only affects JSX text content between tags.
| Character | HTML | Use |
|---|---|---|
| - (hyphen) | - | Compound words (cost-effective), line breaks |
| – (en dash) | – | Ranges (1–10), connections (Sarbanes–Oxley Act) |
| — (em dash) | — | Sentence breaks—like this |
Never approximate with -- or ---. If you open with "from", pair with "to" not en dash. Hyphen for
compound names (marriage); en dash for joint authorship. Em dash typically flush; add   if crushed.
No slash where en dash belongs. Hyphenate phrasal adjectives (five-dollar bills). No hyphen after -ly adverbs.
Use … (…), not three periods. Spaces before and after; use on the text-adjacent side.
For interrupted dialogue, prefer em dash over ellipsis.
Use × for multiplication, − for subtraction. Use + and = from keyboard.
En dash is acceptable as simple minus. Dimensions: 8.5″ × 14″ uses ×.
Foot and inch marks — the ONE exception to curly quotes. Must be STRAIGHT: ' for foot,
" for inch. Use between values: 6' 10".
Use real symbols: © ™ ®, never (c) (TM) (R). ™/® are superscripts, no space before.
© is inline, followed by then year. "Copyright ©" is redundant — word OR symbol, not both.
§ (§) and ¶ (¶) always followed by : § 1782. Spell out at sentence start.
Double for plurals: §§.
Proper names: accents are MANDATORY (François Truffaut, Plácido Domingo). Loanwords: check dictionary — some naturalized (naive), some not (cause célèbre).
Exactly one space after any punctuation. Never two. Not debatable. Two spaces create rivers and disrupt text balance. The period already contains visual white space.
prevents line break. Use before numeric refs (§ 42, Fig. 3), after ©
(© 2025), after honorifics (Dr. Smith), between foot/inch values.
| Need | Tool |
|---|---|
| Space between words | One word space (spacebar) |
| Prevent line break | |
| New line, same paragraph | <br> |
| New paragraph | <p> tags |
| New page (print) | page-break-before: always |
| Suggest hyphenation point | ­ |
Never hold spacebar. Never double carriage returns for spacing. Never tabs for indentation in output.
HTML collapses all whitespace to single space (except ).
Rule 1: Bold OR italic. Mutually exclusive. Never combine. Rule 2: Use as little as possible. If everything is emphasized, nothing is.
Serif: italic for gentle, bold for strong. Sans serif: bold only — italic sans barely stands out. Never bold entire paragraphs. Never use quotation marks for emphasis.
Never underline in a document or UI. Typewriter workaround. Use bold or italic. For web links,
use subtle styling: text-decoration-thickness: 1px; text-underline-offset: 2px.
Caps are harder to read (homogeneous rectangles vs varied lowercase contour). Suitable for short
headings, labels, captions. ALWAYS add 5–12% letterspacing. ALWAYS ensure kerning is on.
NEVER capitalize whole paragraphs. letter-spacing: 0.06em in CSS.
Never fake (scaled-down regular caps). Use font-variant-caps: small-caps with fonts that have
real small caps (OpenType smcp). System fonts lack them. Add letterspacing + kerning.
Print: 10–12pt. Web: 15–25px. The 12pt default is a typewriter relic. Half-point differences
matter. Use smallest increment for emphasis. Use clamp() for fluid web sizing.
5–12% extra on ALL CAPS and small caps. Nothing on lowercase. Never spread so far apart that
letters could fit in the gaps. CSS: letter-spacing: 0.05em to 0.12em.
No exceptions. font-feature-settings: "kern" 1; text-rendering: optimizeLegibility;
Mandatory only when fi/fl visually collide. Check bold and italic too. Otherwise optional.
CSS: font-feature-settings: "liga" 1.
Tabular ("tnum") for data tables. Oldstyle ("onum") for body text. Default figures are fine
for most uses. font-variant-numeric: tabular-nums lining-nums for numeric tables.
Max 2 fonts. Each gets a consistent role. Can mix serif+serif or sans+sans. Rarely mix within a paragraph. Lower contrast often more effective than high contrast.
Set body text BEFORE anything else. Four decisions determine everything: font, point size, line spacing, line length. All other elements calibrate against these.
The #1 readability factor designers get wrong. The #1 flaw in responsive web layouts.
Measure in characters, not inches. Alphabet test: fit 2–3 lowercase alphabets per line.
CSS: max-width: 65ch on text containers.
line-height: 1.2 to 1.45. Single-spaced (~117%) is too tight. Double (~233%) is too loose.
Word processor "Single" and "Double" both miss the optimal range.
One inch is not enough for proportional fonts. Print: 1.5–2.0″ at 12pt. Web: max-width on
text containers plus padding. Don't fear white space — generous margins look professional.
Left-align for web (default). Justified requires hyphens: auto — browser engines are crude.
Centered: sparingly, only for short titles (< 1 line). Never center whole text blocks.
First-line indent: 1–4× point size. text-indent: 1.5em. Optional on first paragraph.
Space between: 50–100% of font size. margin-bottom: 0.75em. Never double <br> tags.
hyphens: none on headingspage-break-after: avoid)Reduce size + line spacing slightly. Indent 2–5em. No quotation marks (indent signals the quote). Keep line length readable. Use sparingly — long block quotes signal lazy writing.
Semantic markup (<ul>, <ol>), never manual bullets. Prefer hollow bullets. Asterisks are too
small for bullets. Don't over-indent.
Data creates an implied grid. Borders add clutter. Keep only thin rule under header row.
padding: 0.5em 1em. Tabular figures for numeric columns. Right-align numbers.
Try space above and below first. Border thickness: 0.5–1pt. No patterned borders. Thick lines are chartjunk.
Widows (last line alone at top of page) and orphans (first line alone at bottom). CSS print:
orphans: 2; widows: 2. Headings: page-break-after: avoid. Soft hyphens ­ for
words that confuse hyphenation engines.
Print columns: 2–3 on letter paper, never 4. Web columns: awkward (indefinite bottom edge). Grids guide, not guarantee — simpler grids enforce more consistency. Aligning ugly to a grid still produces ugly.
The rules don't change with screen size. Same line length, line spacing, hierarchy.
font-size and container width togethermax-width on text containers — never edge-to-edge textch unit for exact measurement (only measures zero width)clamp() for fluid scaling: font-size: clamp(16px, 2.5vw, 20px)padding: 0 1rem on text containersModern screens render type nearly as well as print. "Sans serif for screens" was true for 72dpi and is now obsolete. Serif fonts work fine on modern screens. Dark mode: reduce weight slightly. Test on macOS and Windows (antialiasing differs).
© bencium, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in typography/skills/typography of bencium/bencium-marketplace.
Open the folder on GitHubat commit 5de46a3
UI Typography next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| UI Typography this skillbencium/bencium-marketplace | 445 | — | ~3.5k | Automated safety check: Warn | MIT | |
| Wonder BlocksKhan/wonder-blocks | 163 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Skillshare UI Website StyleJetBrains/skills | 364 | — | ~3.1k | Automated safety check: Pass | None | |
| Design Reviewpproenca/dot-skills | 215 | — | ~3.4k | Automated safety check: Pass | MIT | |
| Tailwindcss Developmentanonaddy/anonaddy | 4.9k | 10 repos | ~865 | Automated safety check: Pass | MIT | |
| UI UX Pro Maxsaoudi-h/solar-icons | 184 | 18 repos | ~11k | Automated safety check: Notes | Custom licence |
Khan/wonder-blocks
Implements user interfaces using the Wonder Blocks (WB) design system — Khan Academy's React component library.
JetBrains/skills
Skillshare frontend design system for the React dashboard (ui/) and Docusaurus website (website/).
pproenca/dot-skills
Structured UI design review — existing code (React/JSX, CSS, Tailwind) and, when behaviour matters, the running app in a real browser — reported as a prioritised Before / After / Why table.
anonaddy/anonaddy
Always invoke when the user's message includes 'tailwind' in any form.
saoudi-h/solar-icons
UI/UX design intelligence for web and mobile. An agent skill from saoudi-h/solar-icons.
greensock/gsap-skills
Shows how to run GSAP animations in React and Next.js with the useGSAP hook, refs, scoped selectors and automatic cleanup on unmount.
bencium/bencium-marketplace
Reviews codebases, architectures, PRs, and technical plans for vanity engineering — code and systems built for the developer's ego, resume, or intellectual pleasure rather than delivering user or…
bencium/bencium-marketplace
A skill your agent uses when detecting ambiguous user intent, hedging language, open-ended framing, personal context before requests, or when unsure whether user wants exploration vs direct answer.
bencium/bencium-marketplace
Grassroots-first campaign design for anyone being outspent — startups vs.
bencium/bencium-marketplace
Review user journeys, public content, and codebases for potentially relevant EU AI Act provisions, with exact official citations, evidence gaps, application dates, and plain-language next actions.
bencium/bencium-marketplace
Detect and remove AI-generated markers from Hungarian text, making it sound like a native Hungarian speaker wrote it.
bencium/bencium-marketplace
A decision-support framework that evaluates systems, architectures, and strategies through the entropy (decay) vs negentropy (growth) lens, while surfacing tacit knowledge gaps.
Works with
Categories
Professional typography rules for UI design, web applications, software interfaces, and all screen-based text. UI Typography is an agent skill from bencium/bencium-marketplace. Professional typography rules for UI design, web applications, software interfaces, and all screen-based text.
UI Typography fits situations like: : any HTML/CSS/React artifact creation; build a landing page; create a component; fix the typography.
Run `npx skills add bencium/bencium-marketplace --skill ui-typography -a claude-code`. Or copy the skill folder (typography/skills/typography in bencium/bencium-marketplace) into .claude/skills/ui-typography in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bencium/bencium-marketplace --skill ui-typography -a codex`. Or copy the skill folder (typography/skills/typography in bencium/bencium-marketplace) into .agents/skills/ui-typography in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bencium/bencium-marketplace --skill ui-typography -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ui-typography, .gemini/skills/ui-typography, .github/skills/ui-typography and .opencode/skills/ui-typography in your project.
SKILL.md names no scripts, command-line tools or credentials: UI Typography is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: practicaltypography.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way.
UI Typography is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with UI Typography: Wonder Blocks (Khan/wonder-blocks, 163 stars), Skillshare UI Website Style (JetBrains/skills, 364 stars), Design Review (pproenca/dot-skills, 215 stars) and Tailwindcss Development (anonaddy/anonaddy, 4.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
bencium (a GitHub user) maintains it in bencium/bencium-marketplace, which has 445 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 4, 2026.
Source: bencium/bencium-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.