arabic-design skillA
arabic-design is agent-read markdown (skill) from jamalmohafil/claude-skills: Make AI-generated designs render Arabic text correctly — clean, connected, professional. Fixes the letter-spacing trap that breaks connected script, wrong font fallbacks, clipped diacritics, and RTL/bidi bugs in mixed Arabic+English text. Use whenever generating or styling ANY Arabic text in HTML/CSS/React/UI — especially when Arabic "looks broken", letters overlap or disconnect, words render in the wrong order, or diacritics get clipped..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# Arabic Design — clean Arabic in AI-generated UI
Arabic is a **cursive, connected script**: letters join, and diacritics (ً ّ َ) sit above/below the
baseline. Most AI-generated CSS is tuned for Latin type — and that's exactly what breaks Arabic.
Apply these rules by default whenever the design contains Arabic; don't wait to be told.
## Rule 1 — NEVER negative `letter-spacing` on Arabic (the #1 bug)
Latin design trends love tight tracking (`letter-spacing: -0.02em`). On Arabic, negative tracking
overlaps the letter joins and crushes words into an unreadable blur. Positive tracking is just as
wrong — it *disconnects* letters that must join.
```css
/* ❌ WRONG — crushes connected letters into a blur */
h1 { letter-spacing: -1.5px; } /* element contains Arabic */
/* ✅ RIGHT */
h1 { letter-spacing: normal; } /* or 0 — always, for any element containing Arabic */
```
- Any element containing Arabic (or mixed Arabic+Latin) → `letter-spacing: normal`. Full stop.
- Negative/positive tracking is allowed **only** on pure-Latin/numeric elements (big stat numbers,
`$99`, `VS`, all-caps Latin labels).
## Rule 2 — Use a real Arabic font (never Latin-font fallback)
…Read the whole file at its exact version.
How to install
mdr add jamalmohafil/claude-skills/arabic-design@git:20260712.eba2317mdr add jamalmohafil/claude-skills/arabic-design@sha256:3601b0e8d4329bafPin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_mmfhdnprygo5mmpo)
1 badge views in 30 days
Versions
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (5738 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
jamalmohafil/claude-skills · 26 stars · license MIT · pushed 2026-09-21 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_mmfhdnprygo5mmpo GET https://markdownregistry.com/api/v1/resolve?ref=jamalmohafil/claude-skills/arabic-design GET https://markdownregistry.com/api/v1/blob/3601b0e8d4329baf4e2146c416e6f64a1fb8d5ca86aa71204e737151aeb6acbf
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.