# platform-custom-field-generate

Генерирует и проверяет XML-метаданные кастомных полей Salesforce в формате SFDX. Скилл помогает избежать ошибок деплоя в Metadata API при создании связей, формул и списков выбора.

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

## Что делает

Скилл создаёт XML-разметку полей в каталоге `force-app/main/default/objects/<Object>/fields/<FieldName>__c.field-meta.xml`. Он строго требует указывать теги `<description>` и `<inlineHelpText>`, даже если сама платформа Salesforce допускает их отсутствие. Без внятного описания и подсказки метаданные считаются неполными.

Агент контролирует математические ограничения типов: сумма разрядов `precision` не превышает 18, а `scale` не может быть больше `precision`. Для полей `TextArea` запрещён тег `<length>`, потому что Metadata API фиксирует его на уровне 255 символов. Любое явное указание длины здесь приведёт к ошибке деплоя.

Инструмент рассчитан на работу с API версии от 60.0. Он отвечает только за поля, которые ссылаются на наборы значений, а сами сущности `GlobalValueSet` создавать через него нельзя — для них предусмотрен отдельный скилл `platform-value-set-generate`.

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

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

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

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

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

### Claude.ai

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

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

## Когда брать
- сгенерировать метаданные поля `MasterDetail` или `Lookup` без ошибок в схеме
- сформировать XML для формул и итоговых полей Roll-Up Summary
- настроить ограничения `precision` и `scale` для числовых полей
- создать разметку зависимого пиклиста в структуре SFDX

## Примеры запросов агенту
- Сгенерируй поле типа `Currency` с именем Total Amount для объекта `Opportunity`
- Создай разметку для связи `MasterDetail` на объекте `Inventory_Item__c`
- Проверь XML-файл поля `TextArea` на совместимость с Metadata API

## Похожие
- [salesforce-dx](https://affpapa.org/nevibecode/skills/salesforce-dx.md) — скилл · 688 установок
- [hyva-cms-custom-field](https://affpapa.org/nevibecode/skills/hyva-cms-custom-field.md) — скилл · 752 установки
- [salesforce-developer](https://affpapa.org/nevibecode/skills/salesforce-developer.md) — скилл · 4300 установок
- [writing-mappings](https://affpapa.org/nevibecode/skills/writing-mappings.md) — скилл · 3000 установок
- [salesforce-flow-design](https://affpapa.org/nevibecode/skills/salesforce-flow-design.md) — скилл · 839 установок
- [salesforce-development](https://affpapa.org/nevibecode/skills/mindrally-salesforce-development.md) — скилл · 659 установок

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

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

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