원클릭으로
arib-check-arabic
Check | Arabic typography, RTL, numerals, punctuation — MENA compliance
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Check | Arabic typography, RTL, numerals, punctuation — MENA compliance
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Memory | Code-graph subsystem — a native lightweight IMPORT graph (which file imports which, god-node candidates) built with ripgrep/grep, so a large monorepo can be navigated by structure instead of re-grepping every session. build/refresh/query. Honest scope: structural import graph, NOT semantic (no call-graph/type resolution); no Graphify dependency. Loads ON DEMAND only (zero always-on tokens). ADR-034.
Dev | Over-engineering review — reads a diff/module and returns a delete-list of bloat (single-use abstractions, premature generalization, speculative config, dead options) WITHOUT stripping legitimate structure. Advisory: returns recommendations, never auto-deletes. The on-demand companion to the ponytail-lite tripwire hook. Authored natively (no Ponytail dependency). ADR-033.
Wave | Pre-wave requirement lock — Act 1 derives the requirements from the codebase + memory (an honest grill, not guesswork), Act 2 hands the locked plan to an independent model (Codex) to tear apart until sign-off. Produces waves/<id>/PLAN.md + PLAN-REVIEW-LOG.md. Auto-chained idempotently from /arib-wave-start. If Act 2 can't run (no Codex), the wave proceeds but HOLDS MERGE for a human. Absorbs grill-me-codex (ADR-032).
Wave | Start a multi-session delivery wave — branch, plan, parallel architect+planner
Engine | Command the engineering team to deliver a known goal — dispatches the engineer-manager to decompose → dispatch specialists (parallel where safe) → integrate → reconcile (verification-agent) → merge gate. Scales its own reach: runs inline for a bounded goal, escalates to a parallel Workflow for a broad one, and paces under /loop for a multi-turn campaign — only when it needs to. Use when a goal needs a coordinated TEAM, not one specialist. Sibling of /arib-engine: the engine DISCOVERS its own backlog; /arib-build EXECUTES a goal you hand it.
Stack | NestJS architecture & patterns reference — modules/providers/DI, DTO+validation, guards/interceptors/pipes/filters, config, async lifecycle, testing, and the security + performance pitfalls that bite at scale. Use when building or reviewing a NestJS backend. Composes with security-auditor (OWASP), database-guardian (TypeORM/Prisma migrations), and performance (N+1). Authored natively (the ECC graft was unsourceable; this is CCM's own, MIT).
| name | arib-check-arabic |
| argument-hint | [<path>] |
| description | Check | Arabic typography, RTL, numerals, punctuation — MENA compliance |
Audits Arabic-language UI surfaces against the rules in
.claude/rules/i18n-ar.md and compliance/frameworks/mena-pdpl.md.
This is the original Item #7 deliverable. It complements arib-docs-language
(generic i18n covering CJK, Indic, etc.) by going deeper on Arabic-specific
typography, direction, numerals, punctuation, and mirroring.
/arib-deep-audit./arib-check-arabic # whole codebase
/arib-check-arabic components/checkout/ # a subdir
/arib-check-arabic locales/ar.json # a single file
# Find files containing U+0600-U+06FF
grep -rlE '[\x{0600}-\x{06FF}]' --include='*.{tsx,jsx,vue,svelte,html,json}' \
--exclude-dir=node_modules <target>
If zero hits: return PASS with note "no Arabic content found".
For each Arabic-content file:
# Look for dir="rtl" on root containers in Arabic locale rendering
grep -rEn '<html\s+lang="ar"' <target>
grep -rEn '<body\s+dir="' <target>
Confirm dir="rtl" is set when locale is ar. Flag missing directionality.
Read architecture/DECISIONS.md for a declared numeral policy. If absent,
emit INFO finding asking to declare one.
If present, scan Arabic content for inconsistent numerals:
# Find Latin punctuation INSIDE Arabic strings
# Use jq for ar.json files; regex pass on .tsx/.jsx/.vue
For each Arabic string containing ?, ,, or ; — flag with the right
replacement (؟, ،, ؛).
grep -rEn 'Chevron|Arrow|Caret' --include='*.tsx' <target>
For each match, check whether rtl:rotate-180 or an RTL-aware variant is
used. Flag bare directional icons in pages that ship Arabic.
# Look for English strings inside .tsx files where dir="rtl" is set
Flag hard-coded English. Suggest moving to locales/ar.json.
If the project declares KSA institutional context (in
compliance/CONTROLS.md or architecture/DECISIONS.md):
arib-check-compliance pdpl).| Severity | Trigger |
|---|---|
| BLOCK | Missing dir="rtl" on Arabic UI root, no Arabic privacy notice for customer-facing institutional, data residency outside KSA for KSA institutional |
| WARN | Latin punctuation in Arabic strings, wrong font family, mirroring issues, hard-coded English |
| INFO | Numeral policy not declared |
| PASS | All clean |
# Arabic / RTL Audit — <target> — <date>
## Summary
- typography: OK | WARN | BLOCK
- direction: OK | WARN | BLOCK
- numerals: OK | WARN | INFO
- punctuation: OK | WARN
- mirroring: OK | WARN
- hardcoded: OK | WARN
- compliance: n/a | OK | BLOCK
## Findings
### F1 — <file:line> — <severity>
<description>
**Fix:** <action>
compliance/CONTROLS.md absent: skip the institutional compliance
overlay; emit INFO that institutional context is unconfirmed..claude/rules/i18n-ar.md — auto-loads on Arabic content paths.compliance/frameworks/mena-pdpl.md — KSA framework alignment..claude/skills/arib-check-compliance/SKILL.md — meta-skill for all frameworks..claude/skills/arib-docs-language/SKILL.md — generic i18n (CJK, Indic).