# experience-lwc-rtl-validate

Проверяет Lightning Web Components на поддержку чтения справа налево. Находит физические CSS-свойства, ошибки в разметке и выдаёт отчёт с готовыми исправлениями.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2300 установок · ★ 1112
- Автор: forcedotcom
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/experience-lwc-rtl-validate/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/experience-lwc-rtl-validate

## Что делает

Скилл анализирует файлы компонента `.html`, `.js`, `.ts` и `.css`. Встроенный скрипт `scan-rtl-css.sh` построчно разбирает стили и переводит физические свойства в логические: `margin-left` превращается в `margin-inline-start`, а `text-align: right` — в `text-align: end`. Свойство `border-radius` с явным указанием углов скрипт автоматически не обрабатывает, его придётся проверять вручную.

В разметке и скриптах инструмент ищет направленные иконки в тегах `<img>` и inline SVG, проверяет атрибут `dir` и поведение стрелок на клавиатуре. При этом тег `<lightning-icon>` проверка намеренно пропускает, так как служба иконок платформы зеркалит их сама. Попытка переименовать классы SLDS вроде `slds-m-left_*` в несуществующие варианты `_start` сломает вёрстку, поэтому инструмент запрещает их трогать.

Для запуска требуется Python версии не ниже 3.8 и доступ к файлам компонента внутри `modules/…`. Если нужно создать компонент с нуля или выполнить аудит доступности, для этих задач в репозитории предусмотрены отдельные скиллы.

## Требования
- Работает с: Salesforce

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-lwc-rtl-validate -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/experience-lwc-rtl-validate/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/experience-lwc-rtl-validate/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-lwc-rtl-validate -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/experience-lwc-rtl-validate/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-lwc-rtl-validate -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/experience-lwc-rtl-validate/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install forcedotcom/sf-skills experience-lwc-rtl-validate
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/experience-lwc-rtl-validate/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-lwc-rtl-validate -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/forcedotcom/sf-skills --path skills/experience-lwc-rtl-validate
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/experience-lwc-rtl-validate/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-lwc-rtl-validate -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/experience-lwc-rtl-validate/SKILL.md

## Когда брать
- Заменить физические CSS-свойства в стилях LWC на логические аналоги
- Найти незеркалированные стрелочные иконки в чистом HTML и SVG
- Проверить смену клавиш-стрелок в навигационных скриптах для RTL
- Подготовить компоненты интерфейса к локализации под арабский язык и иврит

## Примеры запросов агенту
- Проверь этот LWC на соответствие требованиям RTL
- Найди физические CSS-свойства в компоненте и замени их на логические
- Проверь вёрстку этого компонента для арабской локали

## Похожие
- [rtl-right-to-left-i18n-cursorrules-prompt-file](https://affpapa.org/nevibecode/rules/rtl-right-to-left-i18n-cursorrules-prompt-file.md) — правило · ★ 41011
- [Salesforce UI Development (Aura & LWC)](https://affpapa.org/nevibecode/agents/salesforce-ui-development-aura-lwc.md) — субагент · ★ 40418
- [salesforce-component-standards](https://affpapa.org/nevibecode/skills/salesforce-component-standards.md) — скилл · 770 установок
- [salesforce-development](https://affpapa.org/nevibecode/skills/salesforce-development.md) — скилл · 90 установок
- [localize](https://affpapa.org/nevibecode/skills/localize.md) — скилл · 2700 установок
- [internationalization-i18n](https://affpapa.org/nevibecode/skills/internationalization-i18n.md) — скилл · 978 установок

Из того же набора: [forcedotcom/sf-skills](https://affpapa.org/nevibecode/by/forcedotcom/sf-skills.md) — 167 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
