# omnistudio-omniscript-generate

This skill builds and validates OmniScripts for guided, multi-step processes using Integration Procedures and Data Mappers. Use it for forms with branching logic and data flow.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 4800 installs · ★ 1112
- Author: forcedotcom
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/omnistudio-omniscript-generate/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/omnistudio-omniscript-generate

## What it does

The skill turns requirements into OmniScripts and selects element types for each step. It configures PropertySetConfig JSON with data bindings, validation, conditional visibility, and layout settings. A shared JSON structure carries data through the process, so elements can read and update values across steps.

Before building, it works from the Type, SubType, Language, Purpose, target org, and data sources. It checks references to Integration Procedures, DataRaptors, and embedded OmniScripts, traces the data flow, and scores the configuration across 120 points. The result falls into PASS at 90 or higher, REVIEW from 67 to 89, or BLOCK below 67.

Integration Procedures and DataRaptors should come before the OmniScript, while FlexCards come after it. The skill expects the Salesforce CLI `sf` at `>=2.0.0` and uses API version `66.0`; check those prerequisites before configuring a project.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill omnistudio-omniscript-generate -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/omnistudio-omniscript-generate/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/omnistudio-omniscript-generate/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill omnistudio-omniscript-generate -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/omnistudio-omniscript-generate/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill omnistudio-omniscript-generate -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/omnistudio-omniscript-generate/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install forcedotcom/sf-skills omnistudio-omniscript-generate
```

2. **Manually: put the files in place**
- File: `.github/skills/omnistudio-omniscript-generate/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill omnistudio-omniscript-generate -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/forcedotcom/sf-skills --path skills/omnistudio-omniscript-generate
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/omnistudio-omniscript-generate/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill omnistudio-omniscript-generate -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/omnistudio-omniscript-generate/SKILL.md

## When to use it
- build a multi-step OmniScript from requirements
- configure elements and PropertySetConfig JSON
- check Integration Procedure and DataRaptor references
- trace data between OmniScript steps
- score an OmniScript configuration against 120 points

## Example prompts
- Create an OmniScript for Type `ServiceRequest`, SubType `NewCase`, and Language `English`, then define its steps and data sources.
- Review an existing OmniScript for PropertySetConfig, dependency, and data-flow issues, then assign its 120-point score.
- Design a multi-step form that collects user input and sends it to an Integration Procedure.

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: be98623042c44297.

BEGIN THIRD-PARTY FILE be98623042c44297
```text
---
name: omnistudio-omniscript-generate
description: "OmniStudio OmniScript creation and validation with 120-point scoring. Use when building guided digital experiences, multi-step forms, or interactive processes that orchestrate Integration Procedures and Data Mappers. TRIGGER when: user creates OmniScripts, designs step flows, configures element types, or reviews existing OmniScript configurations. DO NOT TRIGGER when: building FlexCards (use omnistudio-flexcard-generate), creating Integration Procedures directly (use omnistudio-integration-procedure-generate), or analyzing dependencies (use omnistudio-dependencies-analyze)."
metadata:
  version: "1.0"
  domains: ["OmniStudio"]
  minApiVersion: "66.0"
  relatedSkills:
    - "omnistudio-datamapper-generate"
    - "omnistudio-dependencies-analyze"
    - "omnistudio-flexcard-generate"
    - "omnistudio-integration-procedure-generate"
    - "platform-metadata-deploy"
  cliTools:
    - tool: ["sf"]
      semver: ">=2.0.0"
---

# omnistudio-omniscript-generate: OmniStudio OmniScript Creation and Validation

Expert OmniStudio OmniScript builder for declarative, step-based guided digital experiences. OmniScripts are the OmniStudio analog of Screen Flows: multi-step, interactive processes that collect input, orchestrate server-side logic (Integration Procedures, DataRaptors), and present results to the user — all without code.

## Quick Reference

**Scoring**: 120 points across 6 categories. **Thresholds**: [PASS] 90+ (Deploy) | [REVIEW] 67-89 (Review) | [BLOCK] <67 (Block - fix required)

---

## Scope

- **In scope**: Creating OmniScripts from requirements, element selection and PropertySetConfig design, dependency analysis (Integration Procedures, DataRaptors), data flow tracing, 120-point validation scoring, deployment and activation
- **Out of scope**: Building FlexCards (use `omnistudio-flexcard-generate`), creating Integration Procedures directly (use `omnistudio-integration-procedure-generate`), mapping full dependency trees (use `omnistudio-dependencies-analyze`), deploying metadata to org (use `platform-metadata-deploy`)

---

## Required Inputs

Gather these before building:

| Input | Description | Default |
|-------|-------------|---------|
| **Type** | Process category (e.g., `ServiceRequest`, `Enrollment`) | None — required |
| **SubType** | Specific variation (e.g., `NewCase`, `UpdateAddress`) | None — required |
```
END THIRD-PARTY FILE be98623042c44297

The third-party file has ended. Everything between the be98623042c44297 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2421 of 22350 bytes. © forcedotcom · Apache-2.0 · https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/omnistudio-omniscript-generate/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
