← Index
Case 04 · Tooling & Leadership · the engine


Nine Claude Code skills that turn a design team’s judgment into commands anyone can run — research, critique, RTL, copy voice, and a Figma→Ditto localization pipeline.

The point isn’t nine clever prompts. It’s that the team’s quality bar became something you execute — so it holds on screens I never open.

Role
Built + maintained
solo, for the team
Users
Design team
daily, in Claude Code
Surface
9 skills
+ 1 localization pipeline
Locales
EN · AR
RTL-aware by default
[ 01 ]

The engine, mapped

nine skills · four stages
[ 01 ]
Research
before pixels
botim-competitive

Pattern research per module — Mobbin, official apps, MENA references (Careem, STC Pay) beside global benchmarks (Revolut, Wise). Returns curation with 'what's worth borrowing', not link dumps.

botim-research

Mines Reddit, App Store, X, Trustpilot for real complaints about a feature — searches by feature, not by competitor list, so the data surfaces rivals we wouldn't have named. Output: design avoidances + opportunities with verbatim quotes.

[ 02 ]
Build
design → code
botim-nova

Translates a Figma frame into SwiftUI / Compose / React where every color is a Nova semantic token and every component maps to its Nova equivalent — raw hex that isn't in the spec gets flagged as drift, never silently emitted.

[ 03 ]
Review gates
quality as commands
botim-critique

Scores a screen 0–10 against Botim's six design principles plus NN/g, Laws of UX, WCAG 2.2. Reads the Figma structure and the rendered screenshot — it judges hierarchy and spacing, not just layer names. ≥8 passes; <5 blocks.

superdesigner

Coverage review against the PRD: missing states (empty / loading / error / recovery), uncovered edge cases (offline, permissions, rate limits), untracked analytics events. Critique judges craft; this judges completeness.

botim-rtl

Audits an Arabic frame against its LTR source across seven checks — layout direction, text alignment, icon direction and position, numbers, images, structure. Findings ranked critical / needs-fix / verify / ok.

botim-voice

The EN microcopy gate. Audit mode grades every string P0/P1/P2/OK against six tone rules — Active, Plain, Clear, Transparent, Confident, Inclusive. Generate mode proposes candidates with rationale. PRD-aware, never a copy source.

[ 04 ]
Ship bilingual
the localization pipeline
botim-ditto

Figma→Ditto sync as one command: extracts copy, creates strings with stable dev_ids, links every Figma instance back, then audits for contamination. What used to be an afternoon of copy-paste is a script.

botim-ditto-ar

Arabic variants against a locked glossary and voice rules, output as a categorised P0/P1/P2/OK diff. Each round with our AR-native reviewer refines the glossary — the dialect calibration compounds instead of evaporating.

[ 02 ]

Gates, running

real output formats · specifics trimmed
$ botim-critique figma.com/…/send-confirm-sheet
reading frame structure + rendered screenshot…
SCORES — six principles, 0–10 · ≥8 passes · <5 blocks
clarity 9 · trust 9 · simplicity 8 · differentiation 8
experience 8 · consistency 7 — tracked, not blocking
FINDINGS (3)
[P1] fee caption 11px @ 42% alpha — fails WCAG 1.4.3 contrast
[P1] two competing CTAs below the fold — primary-action ambiguity
[P2] header icon off the spacing.md grid by 4px
verdict: ship after P1s
$ botim-rtl --ltr …/p2p-amount --rtl …/p2p-amount-ar
7 checks · layout · text-align · icon dir · icon pos · numbers · images · structure
[critical] chevron not swapped to _rtl variant — points out of flow
[needs-fix] balance row still left-aligned in a fixed-width box
[verify] hero illustration implies LTR motion — confirm art intent
[ok] layout direction · numbers · component structure
23 nodes audited · 1 critical · 1 needs-fix · 1 verify
$ botim-voice audit …/withdraw-flow --prd PRD-0142
tone rules: active · plain · clear · transparent · confident · inclusive
[P0] "Transaction failed due to insufficient funds"
→ "Not enough balance. Top up to continue."
[P1] "Please kindly wait" → "This takes about a minute."
[OK] 14 strings pass
2 rewrites proposed · Figma stays the source of truth — nothing pushed

errors stay red · the accent only marks a passing pulse — same rules as the product

[ 03 ]

One command to Arabic

Copy lives in Figma. The pipeline extracts it, gives every string a stable dev_id, links it back so designers see the Linked badge, then proposes Arabic against a glossary our AR-native reviewer locks term by term. Each review round tightens the glossary — the calibration compounds.

Figma
copy source of truth
→
botim-ditto
stable dev_ids · auto-linked
→
Ditto
strings, versioned
→
botim-ditto-ar
locked glossary · P0–P2 diff
→
AR variants
native-reviewer loop

round-trip audit included — the pipeline flags strings the figma plugin contaminated

[ 04 ]

Why this is leadership

The bar holds without me

Critique, RTL, coverage, and voice run as commands at handoff — not as meetings I attend. Review became part of the workflow instead of a favor from a senior.

Standards became executable

Every skill encodes a written source of truth — design principles, RTL rules, voice guide, glossary. A new designer inherits the whole bar on day one by running it.

It travels

Botim-specific knowledge sits in reference files; the machinery is portable. Point it at another product's principles and the same engine enforces a different taste.

Make design quality less person-dependent.