MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
OmniStudio OmniScript creation and validation with 120-point scoring.
$ npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omniscript -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omniscript --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Jaganpro/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/sf-industry-commoncore-omniscript .claude/skills/sf-industry-commoncore-omniscript && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "sf-industry-commoncore-omniscript" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omniscript into .claude/skills/sf-industry-commoncore-omniscript/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omniscript", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omniscriptType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omniscript -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omniscript --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Jaganpro/sf-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/sf-industry-commoncore-omniscript .agents/skills/sf-industry-commoncore-omniscript && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sf-industry-commoncore-omniscript" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omniscript into .agents/skills/sf-industry-commoncore-omniscript/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omniscript", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omniscript -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omniscript --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Jaganpro/sf-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/sf-industry-commoncore-omniscript .cursor/skills/sf-industry-commoncore-omniscript && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "sf-industry-commoncore-omniscript" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omniscript into .cursor/skills/sf-industry-commoncore-omniscript/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omniscript", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Jaganpro/sf-skills.git --path skills/sf-industry-commoncore-omniscript--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omniscript -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omniscript --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Jaganpro/sf-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/sf-industry-commoncore-omniscript .gemini/skills/sf-industry-commoncore-omniscript && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "sf-industry-commoncore-omniscript" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omniscript into .gemini/skills/sf-industry-commoncore-omniscript/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omniscript", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omniscriptInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omniscript -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Jaganpro/sf-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/sf-industry-commoncore-omniscript .github/skills/sf-industry-commoncore-omniscript && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "sf-industry-commoncore-omniscript" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omniscript into .github/skills/sf-industry-commoncore-omniscript/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omniscript", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omniscript -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omniscript --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Jaganpro/sf-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/sf-industry-commoncore-omniscript .opencode/skills/sf-industry-commoncore-omniscript && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "sf-industry-commoncore-omniscript" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omniscript into .opencode/skills/sf-industry-commoncore-omniscript/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omniscript", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
sf-industry-commoncore-omniscriptOmniStudio OmniScript creation and validation with 120-point scoring.
Sf Industry Commoncore Omniscript is an agent skill from Jaganpro/sf-skills. 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 sf-industry-commoncore-flexcard), creating Integration Procedures directly (use…
Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files and assets (for example `CREDITS.md`, `assets/omni-process-element-step.json` and `assets/omni-process-element-text-block.json`).
It sits in Agent Workflows. The repository describes itself as: [ARCHIVED — migrated to forcedotcom/afv-library] Salesforce Skills for Agentic Coding Tools — Apex, Flow, LWC, SOQL, Agentforce, Data Cloud, OmniStudio. Read-only archive; active… The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 53c9956. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
sfFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Sf Industry Commoncore Omniscript loads about 4.9k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 158 tokens; SKILL.md has 1,801 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Jaganpro/sf-skills at commit 53c9956, republished under its MIT licence (© Jaganpro). 1,801 words, ~4,853 tokens.
.claude/skills/sf-industry-commoncore-omniscript/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.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.
Scoring: 120 points across 6 categories. Thresholds: ✅ 90+ (Deploy) | ⚠️ 67-89 (Review) | ❌ <67 (Block - fix required)
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.
| Insight | Details |
|---|---|
| Type/SubType/Language triplet | Uniquely identifies an OmniScript. All three values are required and form the composite key. Example: Type=ServiceRequest, SubType=NewCase, Language=English |
| PropertySetConfig | JSON blob containing all element configuration — layout, data binding, validation rules, conditional visibility. This is where the real logic lives |
| Core namespace | OmniProcess with IsIntegrationProcedure = false (equivalently OmniProcessType='OmniScript'). Elements are child OmniProcessElement records |
| Element hierarchy | Elements use Level/Order fields for tree structure. Level 0 = Steps, Level 1+ = elements within steps. Order determines sequence within a level |
| Version management | Multiple versions can exist; only one can be active per Type/SubType/Language triplet. Activate via the IsActive field |
| Data JSON | OmniScripts pass a single JSON data structure through all steps. Elements read from and write to this shared JSON via merge field syntax |
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:
ServiceRequest, Enrollment, ClaimSubmission)NewCase, UpdateAddress, FileAppeal)English unless multi-language support is requiredThen: Check existing OmniScripts to avoid duplication, identify reusable Integration Procedures or DataRaptors, and map the dependency chain.
Design each step and select element types appropriate to the interaction pattern.
| Element Type | Purpose | Key Config |
|---|---|---|
| Step | Top-level container for a group of UI elements; each Step is a page in the wizard | chartLabel, knowledgeOptions, show (conditional visibility) |
| Conditional Block | Show/hide a group of elements based on conditions | conditionType, show expression |
| Loop Block | Iterate over a data list and render elements for each item | loopData (JSON path to array) |
| Edit Block | Inline editing container for tabular data | editFields, dataSource |
| Element Type | Purpose | Key Config |
|---|---|---|
| Text | Single-line text input | label, placeholder, pattern (regex validation) |
| Text Area | Multi-line text input | label, maxLength, rows |
| Number | Numeric input with optional formatting | label, min, max, step, format |
| Date | Date picker | label, dateFormat, minDate, maxDate |
| Date/Time | Date and time picker | label, dateFormat, timeFormat |
| Checkbox | Boolean toggle | label, defaultValue |
| Radio | Radio button group for single selection | label, options (static or data-driven) |
| Select | Dropdown selection | label, options, optionSource (static/data) |
| Multi-select | Multiple item selection | label, options, maxSelections |
| Type Ahead | Search/autocomplete input | label, dataSource, searchField, minCharacters |
| Signature | Signature capture pad | label, penColor, backgroundColor |
| File | File upload | label, maxFileSize, allowedExtensions |
| Currency | Currency input with locale formatting | label, currencyCode, min, max |
| Email input with format validation | label, placeholder | |
| Telephone | Phone number input with masking | label, mask, placeholder |
| URL | URL input with format validation | label, placeholder |
| Password | Masked text input | label, minLength |
| Range | Slider input | label, min, max, step |
| Time | Time picker | label, timeFormat |
| Element Type | Purpose | Key Config |
|---|---|---|
| Text Block | Static content display (HTML supported) | textContent, HTMLTemplateId |
| Headline | Section heading | text, level (h1-h6) |
| Aggregate | Calculated summary display | aggregateExpression, format |
| Disclosure | Expandable/collapsible content | label, defaultExpanded |
| Image | Image display | imageURL, altText |
| Chart | Data visualization | chartType, dataSource |
| Element Type | Purpose | Key Config |
|---|---|---|
| DataRaptor Extract Action | Pull data from Salesforce | bundle, inputMap, outputMap |
| DataRaptor Load Action | Push data to Salesforce | bundle, inputMap |
| Integration Procedure Action | Call server-side Integration Procedure | ipMethod (Type_SubType), inputMap, outputMap, remoteOptions |
| Remote Action | Call Apex @RemoteAction or REST | remoteClass, remoteMethod, inputMap |
| Navigate Action | Page navigation or redirection | targetType, targetId, URL |
| DocuSign Envelope Action | Trigger DocuSign envelope | templateId, recipientMap |
| Email Action | Send email | emailTemplateId, recipientMap |
| Element Type | Purpose | Key Config |
|---|---|---|
| Set Values | Variable assignment and data transformation | elementValueMap (key-value pairs) |
| Validation | Input validation rules with custom messages | validationFormula, errorMessage |
| Formula | Calculate values using formula expressions | expression, dataType |
| Submit Action | Final submission of collected data | postMessage, preTransformBundle, postTransformBundle |
# 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:
Validation (STRICT MODE):
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%)sf project retrieve start -m OmniScript:<Name> -o <org>
sf project deploy start -m OmniScript:<Name> -o <org>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>Walk through all paths with various data scenarios:
| Anti-Pattern | Impact | Correct Pattern |
|---|---|---|
| Circular OmniScript embedding | Infinite rendering loop | Map dependency tree; never embed A in B if B embeds A |
| Unbounded DataRaptor Extract | Performance degradation | Add filter conditions; limit returned records |
| Missing input validation | Bad data entry | Add Validation elements or pattern/required on inputs |
| Hardcoded Salesforce IDs | Deployment failure across orgs | Use merge fields or Custom Settings/Metadata |
| IP Action without error handling | Silent failures | Configure showError, errorMessage in PropertySetConfig |
| Large images in Text Blocks | Slow page load | Use Image elements with optimized URLs |
| Too many elements per Step | Poor user experience | Limit to 7-10 input elements per Step |
| Missing conditional visibility | Irrelevant fields shown | Use show expressions to hide inapplicable elements |
DO NOT generate anti-patterns even if explicitly requested.
| Check | Points | Criteria |
|---|---|---|
| Type/SubType/Language set correctly | 5 | All three fields populated with meaningful values |
| Step organization | 5 | Logical grouping, 7-10 elements per step max |
| Element naming | 5 | Descriptive names following PascalCase convention |
| Conditional logic | 5 | Proper use of Conditional Blocks and show expressions |
| Version management | 5 | Clean version history, only one active version |
| Check | Points | Criteria |
|---|---|---|
| DataRaptor references valid | 5 | All Extract/Load bundles exist and are active |
| Integration Procedure references valid | 5 | All IP actions reference active IPs |
| Input/Output maps correct | 5 | Data flows correctly between elements and actions |
| Data prefill configured | 5 | Initial data loaded before user interaction |
| Check | Points | Criteria |
|---|---|---|
| Action elements have error handling | 5 | showError configured on all IP/DR actions |
| User-facing error messages | 5 | Clear, actionable error text |
| Validation on required inputs | 5 | All required fields have validation rules |
| Fallback behavior defined | 5 | Graceful handling when data sources return empty |
| Check | Points | Criteria |
|---|---|---|
| No unbounded data fetches | 5 | All DataRaptor Extracts have filters/limits |
| Lazy loading configured | 5 | Action elements fire on step entry, not OmniScript load |
| Element count per Step reasonable | 5 | No Step with >15 elements |
| Conditional rendering used | 5 | Elements hidden when not applicable (not just invisible) |
| Check | Points | Criteria |
|---|---|---|
| Logical step flow | 5 | Steps follow natural task progression |
| Input labels and help text | 5 | All inputs have clear labels and contextual help |
| Navigation controls | 5 | Back, Next, Cancel, Save for Later configured appropriately |
| Responsive layout | 5 | Elements configured for mobile and desktop breakpoints |
| Check | Points | Criteria |
|---|---|---|
| No sensitive data in client-side JSON | 5 | Passwords, SSNs, tokens kept server-side |
| IP actions use server-side processing | 5 | Sensitive logic in Integration Procedures, not client OmniScript |
| Field-level access respected | 5 | Data access matches user profile/permission set |
# 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>| From Skill | To sf-industry-commoncore-omniscript | When |
|---|---|---|
| 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-omniscript | To Skill | When |
|---|---|---|
| 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" |
| Scenario | Solution |
|---|---|
| Multi-language OmniScript | Create separate versions per Language with shared Type/SubType. Use translation workbench for labels |
| Embedded OmniScript data passing | Map parent data JSON keys to child OmniScript input via prefillJSON. Test data round-trip |
| Large Loop Block datasets | Paginate or limit DataRaptor results. Consider server-side filtering in IP |
| OmniScript in FlexCard flyout | Ensure FlexCard passes required context data. Test flyout sizing |
| Community/Experience Cloud deployment | Verify 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 conflicts | Deactivate old version before activating new. Never have two active versions for same triplet |
| Custom Lightning Web Components in OmniScript | Register 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
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.
MIT License. Copyright (c) 2026 David Ryan (weytani)
© Jaganpro, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references, assets) in skills/sf-industry-commoncore-omniscript of Jaganpro/sf-skills.
Open the folder on GitHubat commit 53c9956
Sf Industry Commoncore Omniscript next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Sf Industry Commoncore Omniscript this skillJaganpro/sf-skills | 424 | — | ~4.9k | Automated safety check: Pass | MIT | |
| MCP Server Builderanthropics/skills | 180k | 63 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 38k | 10 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Using Superpowersfarm-fe/farm | 5.6k | 35 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Executing Plans Inlineobra/superpowers | 297k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| Skill CreatorAzure/azqr | 796 | 89 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Jaganpro/sf-skills
Agentforce session tracing extraction and analysis. An agent skill from Jaganpro/sf-skills.
Jaganpro/sf-skills
Agent Script DSL for deterministic Agentforce agents. An agent skill from Jaganpro/sf-skills.
Jaganpro/sf-skills
Salesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows.
Jaganpro/sf-skills
Salesforce architecture diagrams using Mermaid with ASCII fallback.
Jaganpro/sf-skills
AI-powered image generation for Salesforce visuals via Nano Banana Pro.
Jaganpro/sf-skills
Creates and validates Salesforce Flows with 110-point scoring.
Categories
OmniStudio OmniScript creation and validation with 120-point scoring. Sf Industry Commoncore Omniscript is an agent skill from Jaganpro/sf-skills. OmniStudio OmniScript creation and validation with 120-point scoring.
Sf Industry Commoncore Omniscript fits situations like: building guided digital experiences; multi-step forms; interactive processes that orchestrate Integration Procedures and Data Mappers; : user creates OmniScripts.
Run `npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omniscript -a claude-code`. Or copy the skill folder (skills/sf-industry-commoncore-omniscript in Jaganpro/sf-skills) into .claude/skills/sf-industry-commoncore-omniscript in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omniscript -a codex`. Or copy the skill folder (skills/sf-industry-commoncore-omniscript in Jaganpro/sf-skills) into .agents/skills/sf-industry-commoncore-omniscript in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omniscript -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sf-industry-commoncore-omniscript, .gemini/skills/sf-industry-commoncore-omniscript, .github/skills/sf-industry-commoncore-omniscript and .opencode/skills/sf-industry-commoncore-omniscript in your project.
Going by SKILL.md and its folder, Sf Industry Commoncore Omniscript needs the command-line tools its instructions call (sf).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Sf Industry Commoncore Omniscript is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.9k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 12k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Sf Industry Commoncore Omniscript: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 297k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Jaganpro (a GitHub user) maintains it in Jaganpro/sf-skills, which has 424 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on April 27, 2026.
Source: Jaganpro/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.