omnistudio-datapacks-deploy — Claude Code skill: DataPack deploys
A skill for deploying OmniStudio and Vlocity DataPacks with Vlocity Build: export, deploy, retries and migration error triage.
npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a claude-codeWhat omnistudio-datapacks-deploy does
The skill walks an agent through DataPack work in Salesforce Industries. It covers the vlocity commands packDeploy, packRetry, packContinue, packExport, packGetDiffs and validateLocalData, helps shape a job file with projectPath, expansionPath, manifest and queries, and triages dependency, matching-key and GlobalKey failures during org-to-org migration.
Before a full deploy it recommends a quality gate: run validateLocalData, optionally packGetDiffs, then packDeploy. Retry loops with packRetry make sense while error counts drop; once retries stop improving results, stop and investigate. For auth, prefer -sfdx.username <alias> over username and password files.
There is a gotcha table for common symptoms: No match found, duplicate GlobalKey records, No Configuration Found from outdated settings, unprocessed records after a settings mismatch, and template compile failures. The skill also lays out a CI/CD pipeline shape and hands off adjacent work — standard metadata deploys with sf project deploy go to platform-metadata-deploy. It needs npm and npx 9.0.0 or newer, sf 2.0.0 or newer, and vlocity 1.16.0 or newer.
What it helps with
- deploy DataPacks from one org to another
- build a job file with manifest and queries
- triage a "No match found" deploy error
- set up a CI/CD pipeline for DataPacks
- compare DataPack state after a deploy
Example prompts for the agent
- validate the local DataPack data and tell me what will break
- deploy the DataPacks to the target org and keep running packRetry while errors drop
- diff the DataPacks between orgs with packGetDiffs and show what drifted
How to install omnistudio-datapacks-deploy
1Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a claude-code2Manually: put the files in place
~/.claude/skills/omnistudio-datapacks-deploy/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/omnistudio-datapacks-deploy/
1Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a codex2Manually: put the files in place
.agents/skills/omnistudio-datapacks-deploy/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a cursor2Manually: put the files in place
.cursor/skills/omnistudio-datapacks-deploy/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install forcedotcom/sf-skills omnistudio-datapacks-deploy2Manually: put the files in place
.github/skills/omnistudio-datapacks-deploy/SKILL.md1Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a gemini-cli2Platform CLI
gemini skills install https://github.com/forcedotcom/sf-skills --path skills/omnistudio-datapacks-deployManually: put the files in place
.devin/skills/omnistudio-datapacks-deploy/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about omnistudio-datapacks-deploy
How do I install omnistudio-datapacks-deploy in Claude?
Run npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a claude-code. The skill file then sits at ~/.claude/skills/omnistudio-datapacks-deploy/SKILL.md.
What does omnistudio-datapacks-deploy do?
It orchestrates Vlocity DataPack deploys: export, deploy, retries, resuming interrupted jobs and diffing orgs. It also helps fix dependency and matching-key errors.
How is it different from platform-metadata-deploy?
It works on DataPacks through vlocity commands rather than sf project deploy. Plain Salesforce metadata deploys are handed to platform-metadata-deploy.
Source text
SKILL.md · Apache-2.0
---
name: omnistudio-datapacks-deploy
description: "Salesforce Industries DataPack deployment automation using Vlocity Build. TRIGGER when: user deploys or validates OmniStudio/Vlocity DataPacks with vlocity commands (packDeploy/packRetry/packExport/packGetDiffs), sets up DataPack CI/CD pipelines, or troubleshoots DataPack migration errors. DO NOT TRIGGER when: deploying Salesforce metadata with sf project deploy (use platform-metadata-deploy), authoring OmniStudio artifacts (use omnistudio-*-build), or writing Apex/LWC business logic (use platform-apex-generate/experience-lwc-generate)."
metadata:
version: "1.0"
domains: ["OmniStudio"]
relatedSkills:
- "experience-lwc-generate"
- "omnistudio-epc-catalog-generate"
- "omnistudio-flexcard-generate"
- "omnistudio-integration-procedure-generate"
- "omnistudio-omniscript-generate"
- "platform-apex-generate"
- "platform-apex-logs-debug"
- "platform-metadata-deploy"
cliTools:
- tool: ["npm"]
semver: ">=9.0.0"
- tool: ["npx"]
semver: ">=9.0.0"
- tool: ["sf"]
semver: ">=2.0.0"
- tool: ["vlocity"]
semver: ">=1.16.0"
---
# omnistudio-datapacks-deploy: Vlocity Build DataPack Deployment
Use this skill when the user needs **Vlocity DataPack deployment orchestration**: export/deploy workflow, manifest-driven deploys, failure triage, and CI/CD sequencing for OmniStudio/Industries DataPacks.
---
## Scope
Use `omnistudio-datapacks-deploy` when work involves:
- `vlocity packDeploy`, `packRetry`, `packContinue`, `packExport`, `packGetDiffs`, `validateLocalData`
- DataPack job-file design (`projectPath`, `expansionPath`, `manifest`, `queries`)
- org-to-org DataPack migration and retry loops
- troubleshooting DataPack dependency, matching-key, and GlobalKey issues
Delegate elsewhere when the user is:
- deploying standard metadata with `sf project deploy` -> [platform-metadata-deploy](../platform-metadata-deploy/SKILL.md)
- building OmniScripts, FlexCards, IPs, or Data Mappers -> `omnistudio-*-build`
- designing Product2 EPC bundles -> [omnistudio-epc-catalog-generate](../omnistudio-epc-catalog-generate/SKILL.md)
- writing Apex/LWC code -> [platform-apex-generate](../platform-apex-generate/SKILL.md), [experience-lwc-generate](../experience-lwc-generate/SKILL.md)
---
## Critical Operating Rules
- Use **Vlocity Build (`vlocity`)** commands for DataPacks, not `sf project deploy`.
- Prefer Salesforce CLI auth integration (`-sfdx.username <alias>`) over username/password files when available.
- Always run a **pre-deploy quality gate** before full deploy:
1) `validateLocalData`
2) optional `packGetDiffs`
3) then `packDeploy`
- Use `packRetry` repeatedly when error counts are dropping; stop when retries no longer improve results.
- Keep matching-key strategy and GlobalKey integrity consistent across source and target orgs.
---
## Required Context to Gather First
Ask for or infer:
- source org and target org aliases
- job file path and DataPack project path
- deployment scope (full project, manifest subset, or specific `-key`)
- whether this is export, deploy, retry, continue, or diff-only
- namespace model (`%vlocity_namespace%`, `vlocity_cmt`, or core)
- known constraints (new sandbox bootstrap, trigger behavior, matching key customizations)
Preflight checks:
```bash
vlocity help
sf org list
sf org display --target-org <alias> --json
test -f <job-file>.yaml
```
---
## Recommended Workflow
### 1. Ensure tool readiness
```bash
npm install --global vlocity
vlocity help
```
### 2. Validate project data locally
```bash
vlocity -sfdx.username <source-alias> -job <job-file>.yaml validateLocalData
```
Use `--fixLocalGlobalKeys` only when explicitly requested and after explaining impact.
### 3. Export from source (when needed)
```bash
vlocity -sfdx.username <source-alias> -job <job-file>.yaml packExport
vlocity -sfdx.username <source-alias> -job <job-file>.yaml packRetry
```
### 4. Deploy to target
```bash
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packDeploy
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packRetry
```
### 5. Continue interrupted jobs
```bash
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packContinue
```
### 6. Verify post-deploy parity
```bash
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packGetDiffs
```
Job-file starter: [references/job-file-template.md](references/job-file-template.md)
---
## Gotchas
| Error / symptom | Likely cause | Default fix direction |
|---|---|---|
| `No match found for ...` | missing dependency in target org | include missing DataPack key and redeploy |
| `Duplicate Results found for ... GlobalKey` | duplicate records in target | clean duplicates and re-run deploy |
| `Multiple Imported Records ... same Salesforce Record` | source duplicate matching-key records | remove duplicates in source and re-export |
| `No Configuration Found` | outdated DataPack settings | run `packUpdateSettings` or enable `autoUpdateSettings` |
| `Some records were not processed` | settings mismatch / partial dependency state | refresh settings both orgs, then retry |
| SASS / template compile failures | missing referenced UI template assets | export/deploy referenced template dependencies first |
Detailed matrix: [references/troubleshooting-matrix.md](references/troubleshooting-matrix.md)
---
## CI/CD Guidance
Default pipeline shape:
1. authenticate orgs (`sf org login ...`)
2. validate local DataPack integrity (`validateLocalData`)
3. export changed scope (`packExport` or manifest-driven export)
4. deploy (`packDeploy`)
5. retry loop (`packRetry`) until stable
6. compare (`packGetDiffs`) and publish deployment report
For incremental deploy optimization, use job-file options such as:
- `gitCheck: true`
- `gitCheckKey: <folder>`
- `manifest` for deterministic scope control
---
## Cross-Skill Integration
| Need | Delegate to | Reason |
|---|---|---|
| metadata deploy outside DataPacks | [platform-metadata-deploy](../platform-metadata-deploy/SKILL.md) | Metadata API workflows |
| OmniStudio component authoring | `omnistudio-*-build` | build artifacts before deploy |
| EPC product and offer payload authoring | [omnistudio-epc-catalog-generate](../omnistudio-epc-catalog-generate/SKILL.md) | Product2/DataPack model quality |
| Apex trigger/log error diagnosis | [platform-apex-logs-debug](../platform-apex-logs-debug/SKILL.md), [platform-apex-generate](../platform-apex-generate/SKILL.md) | automation-side root-cause fixes |
---
## Output Expectations
After completing a DataPack operation, deliver a completion block:
```text
DataPack goal: <export / deploy / retry / diff / ci-cd>
Source org: <alias or N/A>
Target org: <alias or N/A>
Scope: <job file + manifest/key/full>
Result: <passed / failed / partial>
Key findings: <errors, dependencies, retries, diffs>
Next step: <safe follow-up action>
```
---
## Reference File Index
| File | When to read |
|------|-------------|
| `references/job-file-template.md` | Before advising on job file structure — load as baseline configuration reference |
| `references/troubleshooting-matrix.md` | When user reports deploy failures — load to diagnose DataPack errors and apply fix directions |
| `examples/business-internet-plus-bundle/TRANSCRIPT.md` | Example of validation planning and execution for a Product2 bundle |
| `examples/business-internet-plus-bundle/deploy-business-internet-plus-bundle.yaml` | Example job file for scope-limited `validateLocalData` run |
| `examples/business-internet-plus-bundle-deploy/TRANSCRIPT.md` | Example of full deploy cycle including `packDeploy` and `packRetry` outcomes |
| `examples/business-internet-plus-bundle-deploy/deploy-business-internet-plus-bundle.yaml` | Example job file for staged deployment with manifest targeting |
© forcedotcom · Apache-2.0 · forcedotcom/sf-skills