type-system
Skill0 starsChanged 34 days agoMITView on GitHub
Choose the brand's fonts from evidence (liked fonts, screenshots, constraints) and define the full type system, Thai and Latin.
In this repository15 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ask-designerSkill
- brand-contextSkill
- brand-imageSkill
- brand-intakeSkill
- brand-systemSkill
- color-systemSkill
- design-briefSkill
- design-craftSkill
- design-critiqueSkill
- design-grillingSkill
- design-routesSkill
- grill-brandSkill
- logo-labSkill
- make-graphicSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 34
When the human picks, define the system and write it into Typography and into brand/tokens.json (see TOKENS.md in brand-context: create the …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Type system
Fonts are the brand's voice. This skill turns the fonts a human likes, and the constraints they live under, into a chosen pairing and a complete system of roles, sizes, and rules.
Load the brand-context, design-craft, and design-grilling skills (the Skill tool, or read their SKILL.md). Read typography.md, and thai-typography.md whenever the brand uses Thai. Reply in the user's language. The brand memory needs a decided Direction (a chosen route, or "existing identity" kept at intake); without one, tell the human to run /design-routes.
1. Read the type DNA
From the brand memory take the chosen route, personality, and every font in Taste evidence. For each liked or disliked font (a name, a file, or a screenshot), write its anatomy by the checklist in typography.md and name the attribute the human gave. Summarize the type DNA: the class, contrast, proportions, and mood that the liked fonts share and the disliked ones lack. If fewer than three references exist, run a visible probe: show six specimens across classes set with the brand's own name, ask for a like or dislike on each with the attribute, and record the reactions as Taste evidence.
2. Fix the constraints
Settle with the human (interview rounds, design-grilling): the languages to set (Thai, English, both), the media (web, social, print, signage), the budget (free OFL only, or paid licences), the looped or loopless preference for Thai, and any font that must stay.
3. Shortlist and show
Pick three to five pairings (display or heading plus text; one family alone counts as a pairing) that fit the DNA and constraints. Prefer families that ship both scripts. For Thai, choose from the verified list in thai-typography.md unless a licensed font is in scope. Give each pairing a one-line rationale tied to the type DNA.
Build brand/explore/type-specimen.html, loading each family from Google Fonts. Show every pairing side by side with the brand's real name and tagline, a headline, a paragraph at body size, the numerals, and the test strings below. Then look at it: render at 390 px and 1280 px, take screenshots when a browser tool exists, and confirm the Thai marks neither collide nor clip.
Latin: Hamburgefonstiv 0123456789 &?!@
Thai stacking: ป้ายผู้ใหญ่ ฝั่งฟื้น กรุ๊ปปั๊ม ญุฐู ที่นี่ ๑๒๓ 1234. Choose and specify
When the human picks, define the system and write it into Typography and into brand/tokens.json (see TOKENS.md in brand-context: create the file from the template when missing, merge when present):
- Roles: display, heading, body, caption, UI, numerals, each with family, weight, and case.
- Scale: one ratio (default 1.25) and the size ladder derived from it, in px or rem.
- Line height per script: Latin 1.2 to 1.45 for body and tighter for large display, Thai 1.5 to 1.8 for body and 1.3 or more for headings once the stacking test passed. Letter-spacing 0 for Thai.
- Fallback stack with Latin first and Thai second where scripts mix, and the Google Fonts URL with only the weights used.
- Source and licence of every family, with the URL.
The skill is done when each family has a verified licence and source, the scale and line heights are written, the stacking test passed in the rendered specimen, and the human confirmed the pairing. Log the choice and the rejected pairings in the Decision log, and set Typography to decided.
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.

