# platform-validation-rule-generate

Скилл для создания и правки правил валидации Salesforce: собирает метаданные, формулы и сообщения об ошибках. Пригодится, когда нужно запретить сохранение неполных записей.

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

## Что делает

Скилл берёт на себя работу с ValidationRule — декларативным компонентом Salesforce, который проверяет формулу при сохранении записи и блокирует операцию, если формула вернула TRUE. Агент собирает `fullName`, флаг `active`, `errorConditionFormula` и `errorMessage` (до 255 символов) и следит за правилами именования: имя начинается с буквы, не заканчивается подчёркиванием, без двух подчёркиваний подряд и не длиннее 40 символов.

Внутри — спецификация метаданных и список типовых ошибок в формулах. Например, `TEXT()` нельзя применять к текстовым полям, `VALUE()` — только к текстовым, а `DAY()` и `MONTH()` требуют поля типа Date, не Datetime. Для проверки picklist-поля нужен `ISPICKVAL()`. Отдельно оговорено, как читать указания: «update the formula to …» означает полную замену логики, а «update the formula to also …» — дописать условие через `AND()` или `OR()`.

Самая частая причина падений — XML. Любая формула с XML-тегами должна лежать внутри секции CDATA, иначе деплой не пройдёт. Файл правила обязан иметь расширение `.validationRule-meta.xml`. Скилл рассчитан на API-версию не ниже 60.0 — на более старых организациях метаданные просто не соберутся.

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

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill platform-validation-rule-generate -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill platform-validation-rule-generate -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill platform-validation-rule-generate -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install forcedotcom/sf-skills platform-validation-rule-generate
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/platform-validation-rule-generate/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill platform-validation-rule-generate -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/forcedotcom/sf-skills --path skills/platform-validation-rule-generate
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill platform-validation-rule-generate -a opencode
```

### Claude.ai

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

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

## Когда брать
- создать правило валидации для контроля качества данных
- запретить сохранение неполных или некорректных записей
- сгенерировать метаданные правила вместе с формулой
- починить формулу, которая ломает деплой из-за XML
- разобрать ошибку валидации и переписать условие

## Примеры запросов агенту
- Создай правило валидации на объекте Account: запретить сохранение, если поле BillingCountry пустое, и выведи понятное сообщение.
- Обнови формулу правила, чтобы также проверялось изменение поля StageName через ISCHANGE().
- Почему падает деплой этого правила валидации? Проверь формулу и XML.

## Похожие
- [n8n-validation-expert](https://affpapa.org/nevibecode/skills/n8n-validation-expert.md) — скилл · 6800 установок
- [writing-mappings](https://affpapa.org/nevibecode/skills/writing-mappings.md) — скилл · 3000 установок
- [zod-validation-utilities](https://affpapa.org/nevibecode/skills/zod-validation-utilities.md) — скилл · 3800 установок
- [zod-schema-validation](https://affpapa.org/nevibecode/skills/zod-schema-validation.md) — скилл · 1200 установок
- [validation-patterns](https://affpapa.org/nevibecode/skills/validation-patterns.md) — скилл · 537 установок
- [hono-validation](https://affpapa.org/nevibecode/skills/hono-validation.md) — скилл · 408 установок

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

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