# Salesforce Omnistudio

> Router for the 34 SfSkills `omnistudio` skill packages. OmniStudio: OmniScripts, FlexCards, DataRaptors, Integration Procedures, Business Rules Engine and DataPack deployment. Use when the request mentions OmniStudio, OmniScript, FlexCard, DataRaptor, Integration Procedure, Business Rules Engine, calculation procedure, DataPack, Vlocity. Finds and opens the exact skill package to read; it does not contain the guidance itself.

- Skill: `pranavnagrecha/salesforce-omnistudio` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add pranavnagrecha/salesforce-omnistudio`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pranavnagrecha/salesforce-omnistudio/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: PranavNagrecha (https://skillmd.com/u/pranavnagrecha)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/pranavnagrecha/salesforce-omnistudio

---


# Salesforce omnistudio — SfSkills domain router

OmniStudio: OmniScripts, FlexCards, DataRaptors, Integration Procedures, Business Rules Engine and DataPack deployment.

**34 skill packages** live under
`${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/<slug>/SKILL.md`. They are not
loaded — reach them by path, on demand.

**Generated by `scripts/build_plugin.py`. Do not hand-edit.**

## How to find the right skill

Three mechanisms, listed in order of reliability on a fresh install.
Use the first one that is available; do not stop at a guess.

**1. The shipped roster (always works, no setup).**
Read `references/skill-index.md` next to this file. It lists every
`omnistudio` skill package with a one-line gloss, generated from
`registry/skills.json`. Scan it and pick by name.

**2. The MCP server (fast, needs the `sfskills-mcp` server connected).**
Call the `search_skill` tool with the user's phrasing and `domain: "omnistudio"`. It returns
ranked skill ids. `get_skill` then returns the package contents.

**3. The search CLI (fast, needs a locally built index).**

```bash
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/search_knowledge.py" "<the user's question>" --domain omnistudio --json
```

This needs `vector_index/`, which is **not shipped** — it is gitignored
and must be built once per clone:

```bash
cd "${CLAUDE_PLUGIN_ROOT}" && python3 -m pip install -r requirements.txt && python3 scripts/build_index.py
```

If the command errors or reports `Coverage: NONE`, fall back to
mechanism 1 rather than telling the user the topic is uncovered.

**Then read the package.** Open the exact
`${CLAUDE_PLUGIN_ROOT}/skills/<domain>/<slug>/SKILL.md` the lookup
returned, plus its `references/gotchas.md` and
`references/llm-anti-patterns.md`. Do not answer from this router:
it is a map, not the territory.

## Featured entry points

Curated starting points when the request is broad or the lookup is
ambiguous. This is a shortlist, not the catalogue — the roster at
`references/skill-index.md` has all 34.

- `${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/omniscript-design-patterns/SKILL.md` — OmniScript structure, steps, and where the logic should live
- `${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/integration-procedures/SKILL.md` — server-side orchestration and when it replaces an OmniScript action
- `${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/dataraptor-patterns/SKILL.md` — Extract, Transform and Load DataRaptors, and their field mappings
- `${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/flexcard-design-patterns/SKILL.md` — FlexCard composition, state, and data sources
- `${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/business-rules-engine/SKILL.md` — expression sets and decision matrices instead of hard-coded rules
- `${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/omnistudio-performance/SKILL.md` — caching, remote actions, and the OmniStudio-specific slow paths
- `${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/omnistudio-deployment-datapacks/SKILL.md` — DataPack export/import and the CI story for OmniStudio metadata
- `${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/omnistudio-vs-flow-decision/SKILL.md` — when OmniStudio is the wrong answer and Flow is the right one

## Decision trees

Read the tree *before* activating a skill when the request could be
solved more than one way, and cite the branch that decided it.

- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/automation-selection.md` — read before assuming OmniStudio is the answer
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/performance-tuning.md` — the OmniStudio branch, for cache and remote-action symptoms

## Run-time agents for this domain

Invoke one of these subagents when the ask is a whole workflow
rather than a single question:

- `omnistudio-designer` — Design or audit an OmniStudio capability

## Rules

1. Answer from the opened `omnistudio` package, never from this router.
2. Cite the skill id and, where one applied, the decision-tree branch.
3. Never claim a topic is uncovered without pasting lookup output.
4. Never deploy to an org.


