# platform-sharing-rules-generate

Скилл для работы с правилами доступа к записям Salesforce: создаёт, правит и удаляет метаданные Sharing Rules через sf. Нужен, когда доступ к записям настраивают не вручную.

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

## Что делает

Скилл закрывает `sharingCriteriaRules`, `sharingOwnerRules` и `sharingGuestRules` — правила по условиям, по владельцу и для гостевых пользователей Experience Sites. Он умеет получать правила из org, дописывать новые в существующий файл, менять условия или уровень доступа и удалять правила. Вне его области — org-wide defaults, создание Experience Sites, permission sets и профили, а также территориальные правила.

Работа идёт по фазам. Сначала скилл находит `sfdx-project.json` и каталог `sharingRules/`, затем всегда тянет актуальные правила из org командой `sf project retrieve start --metadata "SharingRules:<ObjectName>" --target-org <org>`. Локальный файл может устареть, поэтому правки по нему способны вернуть уже удалённые правила или затереть чужие изменения. Дальше скилл определяет операцию и тип правила и читает схему в `references/rule-types.md`.

Есть жёсткие ограничения. `<sharedTo>` и `<sharedFrom>` на месте не меняются: если нужен другой получатель доступа, придётся удалить правило и создать новое. У owner-правил редактируется только `<accessLevel>`. Для правил на объект Account обязателен элемент `accountSettings`, а у гостевых правил `sharedTo` заполняется через `<guestUser>` с community nickname — `<role>` и `<group>` там не подойдут. Нужен `sf` версии 2.0.0 или новее и API не ниже 60.0.

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

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

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

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

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

### Claude.ai

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

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

## Когда брать
- выдать доступ к записям по условию на поле, не трогая профили
- открыть часть записей ролям и группам через owner-правило
- настроить доступ для гостевых пользователей Experience Site
- посмотреть, какие правила уже действуют в org
- убрать устаревшее правило из метаданных объекта

## Примеры запросов агенту
- Покажи все sharing rules для объекта Account в моём org
- Создай criteria-based правило: записи Property__c с полем Status__c = 'Active' доступны на чтение роли Sales
- Удали правило HighValueAccounts из метаданных Account

## Похожие
- [salesforce-dx](https://affpapa.org/nevibecode/skills/salesforce-dx.md) — скилл · 688 установок
- [salesforce-developer](https://affpapa.org/nevibecode/skills/salesforce-developer.md) — скилл · 4300 установок
- [Salesforce Visualforce Development](https://affpapa.org/nevibecode/agents/salesforce-visualforce-development.md) — субагент · ★ 40418
- [salesforce-apex-quality](https://affpapa.org/nevibecode/skills/salesforce-apex-quality.md) — скилл · 884 установки
- [writing-mappings](https://affpapa.org/nevibecode/skills/writing-mappings.md) — скилл · 3000 установок
- [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 карточек

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