Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

sf-industry-commoncore-omniscriptSF 行业 Commoncoreomnscript

Agent Skill

sf-industry-commoncore-omniscript 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

17,193

周安装

731

GitHub Stars

401

下载量

6,023
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:sf-industry-commoncore-omniscript(SF 行业 Commoncoreomnscript)
来源仓库:https://github.com/jaganpro/sf-skills
仓库路径:skills/sf-industry-commoncore-omniscript
安装命令:
npx skills add https://github.com/jaganpro/sf-skills --skill sf-industry-commoncore-omniscript
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/jaganpro/sf-skills --skill sf-industry-commoncore-omniscript

简介

用于查找、检索和筛选相关信息。sf-industry-commoncore-omniscript 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合根据关键词或任务场景快速定位候选结果。
  • 可结合来源仓库和原始 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态及是否触发联网或命令执行。
  • 安装方式:通过 npx 从指定 GitHub 仓库添加技能。

SKILL.md

sf-industry-commoncore-omniscript: 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: ✅ 90+ (Deploy) | ⚠️ 67-89 (Review) | ❌ <67 (Block - fix required)


Core Responsibilities

  1. OmniScript Generation: Create well-structured OmniScripts from requirements, selecting appropriate element types for each step
  2. Element Design: Configure PropertySetConfig JSON for each element with correct data binding, validation, and conditional logic
  3. Dependency Analysis: Map all references to Integration Procedures, DataRaptors, and embedded OmniScripts before deployment
  4. Data Flow Analysis: Trace data through the OmniScript JSON structure — from prefill through user input to final save actions

CRITICAL: Orchestration Order

sf-industry-commoncore-omnistudio-analyze → sf-industry-commoncore-datamapper → sf-industry-commoncore-integration-procedure → sf-industry-commoncore-omniscript → sf-industry-commoncore-flexcard (you are here: sf-industry-commoncore-omniscript)

OmniScripts consume Integration Procedures and DataRaptors. Build those FIRST. FlexCards may launch OmniScripts — build FlexCards AFTER. Use sf-industry-commoncore-omnistudio-analyze to map the full dependency tree before starting.


Key Insights

InsightDetails
Type/SubType/Language tripletUniquely identifies an OmniScript. All three values are required and form the composite key. Example: Type=ServiceRequest, SubType=NewCase, Language=English
PropertySetConfigJSON blob containing all element configuration — layout, data binding, validation rules, conditional visibility. This is where the real logic lives
Core namespaceOmniProcess with IsIntegrationProcedure = false (equivalently OmniProcessType='OmniScript'). Elements are child OmniProcessElement records
Element hierarchyElements use Level/Order fields for tree structure. Level 0 = Steps, Level 1+ = elements within steps. Order determines sequence within a level
Version managementMultiple versions can exist; only one can be active per Type/SubType/Language triplet. Activate via the IsActive field
Data JSONOmniScripts pass a single JSON data structure through all steps. Elements read from and write to this shared JSON via merge field syntax

Workflow Design (5-Phase Pattern)

Phase 1: Requirements Gathering

Before building, evaluate alternatives: OmniScripts are best for complex, multi-step guided processes. For simple single-screen data entry, consider Screen Flows. For data display without interaction, consider FlexCards.

Ask the user to gather:

  • Type: The process category (e.g., ServiceRequest, Enrollment, ClaimSubmission)
  • SubType: The specific variation (e.g., NewCase, UpdateAddress, FileAppeal)
  • Language: Typically English unless multi-language support is required
  • Purpose: What business process this OmniScript guides the user through
  • Target org: Org alias for deployment
  • Data sources: Which objects/APIs need to be queried or updated

Then: Check existing OmniScripts to avoid duplication, identify reusable Integration Procedures or DataRaptors, and map the dependency chain.

Phase 2: Design & Element Selection

Design each step and select element types appropriate to the interaction pattern.

Container Elements

Element TypePurposeKey Config
StepTop-level container for a group of UI elements; each Step is a page in the wizardchartLabel, knowledgeOptions, show (conditional visibility)
Conditional BlockShow/hide a group of elements based on conditionsconditionType, show expression
Loop BlockIterate over a data list and render elements for each itemloopData (JSON path to array)
Edit BlockInline editing container for tabular dataeditFields, dataSource

Input Elements

Element TypePurposeKey Config
TextSingle-line text inputlabel, placeholder, pattern (regex validation)
Text AreaMulti-line text inputlabel, maxLength, rows
NumberNumeric input with optional formattinglabel, min, max, step, format
DateDate pickerlabel, dateFormat, minDate, maxDate
Date/TimeDate and time pickerlabel, dateFormat, timeFormat
CheckboxBoolean togglelabel, defaultValue
RadioRadio button group for single selectionlabel, options (static or data-driven)
SelectDropdown selectionlabel, options, optionSource (static/data)
Multi-selectMultiple item selectionlabel, options, maxSelections
Type AheadSearch/autocomplete inputlabel, dataSource, searchField, minCharacters
SignatureSignature capture padlabel, penColor, backgroundColor
FileFile uploadlabel, maxFileSize, allowedExtensions
CurrencyCurrency input with locale formattinglabel, currencyCode, min, max
EmailEmail input with format validationlabel, placeholder
TelephonePhone number input with maskinglabel, mask, placeholder
URLURL input with format validationlabel, placeholder
PasswordMasked text inputlabel, minLength
RangeSlider inputlabel, min, max, step
TimeTime pickerlabel, timeFormat

Display Elements

Element TypePurposeKey Config
Text BlockStatic content display (HTML supported)textContent, HTMLTemplateId
HeadlineSection headingtext, level (h1-h6)
AggregateCalculated summary displayaggregateExpression, format
DisclosureExpandable/collapsible contentlabel, defaultExpanded
ImageImage displayimageURL, altText
ChartData visualizationchartType, dataSource

Action Elements

Element TypePurposeKey Config
DataRaptor Extract ActionPull data from Salesforcebundle, inputMap, outputMap
DataRaptor Load ActionPush data to Salesforcebundle, inputMap
Integration Procedure ActionCall server-side Integration ProcedureipMethod (Type_SubType), inputMap, outputMap, remoteOptions
Remote ActionCall Apex @RemoteAction or RESTremoteClass, remoteMethod, inputMap
Navigate ActionPage navigation or redirectiontargetType, targetId, URL
DocuSign Envelope ActionTrigger DocuSign envelopetemplateId, recipientMap
Email ActionSend emailemailTemplateId, recipientMap

Logic Elements

Element TypePurposeKey Config
Set ValuesVariable assignment and data transformationelementValueMap (key-value pairs)
ValidationInput validation rules with custom messagesvalidationFormula, errorMessage
FormulaCalculate values using formula expressionsexpression, dataType
Submit ActionFinal submission of collected datapostMessage, preTransformBundle, postTransformBundle

Phase 3: Generation & Validation

# Verify no duplicate Type/SubType/Language exists
sf data query -q "SELECT Id,Name,Type,SubType,Language,IsActive,VersionNumber FROM OmniProcess WHERE Type='<Type>' AND SubType='<SubType>' AND Language='<Language>' AND OmniProcessType='OmniScript'" -o <org>

Build the OmniScript:

  1. Create the OmniProcess record with Type, SubType, Language, and OmniProcessType='OmniScript'
  2. Create OmniProcessElement child records for each Step (Level=0)
  3. Create OmniProcessElement child records for each element within Steps (Level=1+, ordered by Order field)
  4. Configure PropertySetConfig JSON for each element
  5. Wire action elements to their Integration Procedures / DataRaptors

Validation (STRICT MODE):

  • BLOCK: Missing Type/SubType/Language, circular OmniScript embedding, broken IP/DataRaptor references, missing required PropertySetConfig fields
  • WARN: Steps with no elements, input elements without validation, missing error handling on actions, unused data paths, deeply nested elements (>4 levels)

Validation Report Format (6-Category Scoring 0-120):

Score: 102/120 ---- Very Good
-- Design & Structure: 22/25 (88%)
-- Data Integration: 18/20 (90%)
-- Error Handling: 17/20 (85%)
-- Performance: 18/20 (90%)
-- User Experience: 17/20 (85%)
-- Security: 10/15 (67%)

Phase 4: Deployment

  1. Deploy all dependencies first: DataRaptors, Integration Procedures, referenced OmniScripts
  2. Retrieve or deploy OmniScript metadata: sf project retrieve start -m OmniScript:<Name> -o <org> sf project deploy start -m OmniScript:<Name> -o <org>
  3. Activate the OmniScript version after successful deployment
  4. Verify activation: sf data query -q "SELECT Id,Name,Type,SubType,Language,IsActive,VersionNumber FROM OmniProcess WHERE Type='<Type>' AND SubType='<SubType>' AND OmniProcessType='OmniScript' AND IsActive=true" -o <org>

Phase 5: Testing

Walk through all paths with various data scenarios:

  • Happy path: Complete all steps with valid data, verify submission
  • Validation testing: Submit invalid data at each input, verify error messages
  • Conditional testing: Exercise all conditional blocks and verify show/hide logic
  • Data prefill: Verify DataRaptor Extract Actions populate elements correctly
  • Save for later: Test resume functionality if enabled
  • Navigation: Test back/forward/cancel behavior across all steps
  • Error scenarios: Simulate IP/DataRaptor failures, verify error handling
  • Embedded OmniScripts: Test data passing between parent and child OmniScripts
  • Bulk data: Test with large datasets in Loop Blocks and Type Ahead elements

Generation Guardrails (MANDATORY)

Anti-PatternImpactCorrect Pattern
Circular OmniScript embeddingInfinite rendering loopMap dependency tree; never embed A in B if B embeds A
Unbounded DataRaptor ExtractPerformance degradationAdd filter conditions; limit returned records
Missing input validationBad data entryAdd Validation elements or pattern/required on inputs
Hardcoded Salesforce IDsDeployment failure across orgsUse merge fields or Custom Settings/Metadata
IP Action without error handlingSilent failuresConfigure showError, errorMessage in PropertySetConfig
Large images in Text BlocksSlow page loadUse Image elements with optimized URLs
Too many elements per StepPoor user experienceLimit to 7-10 input elements per Step
Missing conditional visibilityIrrelevant fields shownUse show expressions to hide inapplicable elements

DO NOT generate anti-patterns even if explicitly requested.


Scoring: 120 Points Across 6 Categories

Design & Structure (25 points)

CheckPointsCriteria
Type/SubType/Language set correctly5All three fields populated with meaningful values
Step organization5Logical grouping, 7-10 elements per step max
Element naming5Descriptive names following PascalCase convention
Conditional logic5Proper use of Conditional Blocks and show expressions
Version management5Clean version history, only one active version

Data Integration (20 points)

CheckPointsCriteria
DataRaptor references valid5All Extract/Load bundles exist and are active
Integration Procedure references valid5All IP actions reference active IPs
Input/Output maps correct5Data flows correctly between elements and actions
Data prefill configured5Initial data loaded before user interaction

Error Handling (20 points)

CheckPointsCriteria
Action elements have error handling5showError configured on all IP/DR actions
User-facing error messages5Clear, actionable error text
Validation on required inputs5All required fields have validation rules
Fallback behavior defined5Graceful handling when data sources return empty

Performance (20 points)

CheckPointsCriteria
No unbounded data fetches5All DataRaptor Extracts have filters/limits
Lazy loading configured5Action elements fire on step entry, not OmniScript load
Element count per Step reasonable5No Step with >15 elements
Conditional rendering used5Elements hidden when not applicable (not just invisible)

User Experience (20 points)

CheckPointsCriteria
Logical step flow5Steps follow natural task progression
Input labels and help text5All inputs have clear labels and contextual help
Navigation controls5Back, Next, Cancel, Save for Later configured appropriately
Responsive layout5Elements configured for mobile and desktop breakpoints

Security (15 points)

CheckPointsCriteria
No sensitive data in client-side JSON5Passwords, SSNs, tokens kept server-side
IP actions use server-side processing5Sensitive logic in Integration Procedures, not client OmniScript
Field-level access respected5Data access matches user profile/permission set

CLI Commands

# List active OmniScripts
sf data query -q "SELECT Id,Name,Type,SubType,Language,IsActive,VersionNumber FROM OmniProcess WHERE IsActive=true AND OmniProcessType='OmniScript'" -o <org>

# Query elements for a specific OmniScript
sf data query -q "SELECT Id,Name,ElementType,PropertySetConfig,Level,Order FROM OmniProcessElement WHERE OmniProcessId='<id>' ORDER BY Level,Order" -o <org>

# Retrieve OmniScript metadata
sf project retrieve start -m OmniScript:<Name> -o <org>

# Deploy OmniScript metadata
sf project deploy start -m OmniScript:<Name> -o <org>

# Check OmniScript versions
sf data query -q "SELECT Id,VersionNumber,IsActive,LastModifiedDate FROM OmniProcess WHERE Type='<Type>' AND SubType='<SubType>' AND OmniProcessType='OmniScript' ORDER BY VersionNumber DESC" -o <org>

Cross-Skill Integration

From SkillTo sf-industry-commoncore-omniscriptWhen
sf-industry-commoncore-omnistudio-analyze-> sf-industry-commoncore-omniscript"Analyze dependencies before building OmniScript"
sf-industry-commoncore-datamapper-> sf-industry-commoncore-omniscript"DataRaptor ready, build the OmniScript that uses it"
sf-industry-commoncore-integration-procedure-> sf-industry-commoncore-omniscript"IP ready, wire it into the OmniScript action"
From sf-industry-commoncore-omniscriptTo SkillWhen
sf-industry-commoncore-omniscript-> sf-industry-commoncore-flexcard"Build FlexCard that launches this OmniScript"
sf-industry-commoncore-omniscript-> sf-deploy"Deploy OmniScript to target org"
sf-industry-commoncore-omniscript-> sf-industry-commoncore-omnistudio-analyze"Map full dependency tree before deployment"
sf-industry-commoncore-omniscript-> sf-industry-commoncore-integration-procedure"Need a new IP for this OmniScript action"
sf-industry-commoncore-omniscript-> sf-industry-commoncore-datamapper"Need a DataRaptor for data prefill"

Edge Cases

ScenarioSolution
Multi-language OmniScriptCreate separate versions per Language with shared Type/SubType. Use translation workbench for labels
Embedded OmniScript data passingMap parent data JSON keys to child OmniScript input via prefillJSON. Test data round-trip
Large Loop Block datasetsPaginate or limit DataRaptor results. Consider server-side filtering in IP
OmniScript in FlexCard flyoutEnsure FlexCard passes required context data. Test flyout sizing
Community/Experience Cloud deploymentVerify OmniScript component is available in Experience Builder. Check guest user permissions
Save & Resume (Save for Later)Configure saveNameTemplate, saveExpireInDays. Test resume with partial data
Versioning conflictsDeactivate old version before activating new. Never have two active versions for same triplet
Custom Lightning Web Components in OmniScriptRegister LWC as OmniScript-compatible. Follow omniscript-lwc namespace conventions

Debug: OmniScript not rendering -> check activation status + element hierarchy | Data not prefilling -> verify DataRaptor Extract output mapping + JSON path | IP action failing -> check IP independently first + verify input map | Steps not showing -> review conditional visibility expressions


Notes

Dependencies (required): sf-industry-commoncore-datamapper, sf-industry-commoncore-integration-procedure | Dependencies (optional): sf-deploy, sf-industry-commoncore-flexcard, sf-industry-commoncore-omnistudio-analyze | API: 66.0 | Mode: Strict (warnings block) | Scoring: Block deployment if score < 67 | Reference docs: See references/ for element types and best practices

Creating OmniScripts programmatically: Use REST API (sf api request rest --method POST --body @file.json). Required fields: Name, Type, SubType, Language, VersionNumber. OmniScripts default to IsIntegrationProcedure=false (do NOT set OmniProcessType — it is computed). The sf data create record --values flag cannot handle JSON textarea fields like PropertySetConfig. Create child OmniProcessElement records via REST API for each Step and element.


License

MIT License. Copyright (c) 2026 David Ryan (weytani)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.43%
按下载量换算2,013

Claude

28.6%
按下载量换算1,723

Cursor

19.27%
按下载量换算1,161

Gemini CLI

9.08%
按下载量换算547

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills