Skip to content
Skillsify
Back to registry
Refactoringv1.1.1688 installs

rtl-layout-audit

Audits a web interface for right-to-left layout correctness in Arabic, Hebrew, Persian or Urdu. Use when adding an RTL locale, when the user reports mirrored or broken Arabic layout, or before shipping a bilingual interface.

SchemaLintTrigger

Install

npx skillsify add rtl-layout-audit

Translating strings is the easy half of Arabic support; the layout is the half that breaks. This skill audits direction handling end to end — logical versus physical CSS properties, which icons should mirror and which must not, keeping numbers and code LTR inside RTL text, and Arabic line-height needs. It explicitly forbids the global scaleX mirror that reverses text along with the layout, and requires testing against real Arabic content.

Quality report

Should trigger

  • The Arabic page has the sidebar on the wrong side
  • We are adding Arabic, audit the layout
  • Icons point the wrong way in Hebrew
  • Check the RTL build before release

Should not trigger

  • Add a dark mode toggle
  • Set up Stripe billing

Files

SKILL.md
---
name: rtl-layout-audit
description: Audits a web interface for right-to-left layout correctness in Arabic, Hebrew, Persian or Urdu. Use when adding an RTL locale, when the user reports mirrored or broken Arabic layout, or before shipping a bilingual interface.
---

# RTL layout audit

## When to use this
An RTL locale is being added, Arabic or Hebrew layout is reported as broken, or
a bilingual interface is about to ship.

## Procedure
1. Confirm `dir` is set on the html element and derived from the locale, not
   hard-coded.
2. Grep the stylesheet for physical properties and flag every one. The complete
   mapping is in [references/logical-properties.md](references/logical-properties.md).
3. Identify icons that encode direction (arrows, chevrons, undo, send) and
   confirm they mirror. Icons that do NOT encode direction (search, user, close,
   play) must **not** mirror.
4. Check that numbers, code, URLs and Latin identifiers stay LTR inside RTL text.
5. Verify line height — Arabic needs more leading than Latin at the same size.

## Rules
- Never mirror with a global `transform: scaleX(-1)`. It reverses text too.
- A translated string is not an RTL implementation. Layout is the work.
- Test with real Arabic content, never with lorem ipsum.
references/logical-properties.md
# Physical to logical property map

| Physical | Logical |
| --- | --- |
| margin-left / margin-right | margin-inline-start / margin-inline-end |
| padding-left / padding-right | padding-inline-start / padding-inline-end |
| left / right | inset-inline-start / inset-inline-end |
| border-left / border-right | border-inline-start / border-inline-end |
| text-align: left / right | text-align: start / end |
| float: left / right | float: inline-start / inline-end |

Keep physical properties only where the meaning is genuinely physical — a
drop shadow offset, or a decorative element anchored to a viewport edge.

Related skills

PerformanceVerified

core-web-vitals-audit

Audits a web application for Core Web Vitals regressions. Use when the user asks to check LCP, INP or CLS, investigate a Lighthouse score drop, or review front-end performance before a release.

1,284 installs · v1.2.0

TestingVerified

flaky-test-hunter

Finds and diagnoses flaky tests in a test suite. Use when tests pass locally but fail in CI, when a suite fails intermittently, or when the user asks to stabilise or de-flake their tests.

963 installs · v1.1.0

SecurityVerified

dependency-risk-review

Reviews third-party dependencies for supply-chain and licence risk. Use when the user asks to audit dependencies, evaluate whether to add a package, review a lockfile diff, or check licence compatibility.

741 installs · v1.0.3