Archify Diagrams
tt-a1i/archify
Creates interactive architecture, workflow, sequence, data-flow and lifecycle diagrams as standalone HTML with inline SVG, themes and image or video export.
Cross-cutting OmniStudio analysis skill for namespace detection, dependency visualization, and impact analysis across OmniScripts, FlexCards, Integration Procedures, and Data Mappers.
$ npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omnistudio-analyze -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omnistudio-analyze --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-omnistudio-analyze .claude/skills/sf-industry-commoncore-omnistudio-analyze && 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-omnistudio-analyze" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omnistudio-analyze into .claude/skills/sf-industry-commoncore-omnistudio-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omnistudio-analyze", 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-omnistudio-analyzeType 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-omnistudio-analyze -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omnistudio-analyze --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-omnistudio-analyze .agents/skills/sf-industry-commoncore-omnistudio-analyze && 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-omnistudio-analyze" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omnistudio-analyze into .agents/skills/sf-industry-commoncore-omnistudio-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omnistudio-analyze", 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-omnistudio-analyze -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omnistudio-analyze --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-omnistudio-analyze .cursor/skills/sf-industry-commoncore-omnistudio-analyze && 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-omnistudio-analyze" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omnistudio-analyze into .cursor/skills/sf-industry-commoncore-omnistudio-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omnistudio-analyze", 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-omnistudio-analyze--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-omnistudio-analyze -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Jaganpro/sf-skills sf-industry-commoncore-omnistudio-analyze --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-omnistudio-analyze .gemini/skills/sf-industry-commoncore-omnistudio-analyze && 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-omnistudio-analyze" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omnistudio-analyze into .gemini/skills/sf-industry-commoncore-omnistudio-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omnistudio-analyze", 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-omnistudio-analyzeInstalls 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-omnistudio-analyze -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-omnistudio-analyze .github/skills/sf-industry-commoncore-omnistudio-analyze && 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-omnistudio-analyze" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omnistudio-analyze into .github/skills/sf-industry-commoncore-omnistudio-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omnistudio-analyze", 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-omnistudio-analyze -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-omnistudio-analyze --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-omnistudio-analyze .opencode/skills/sf-industry-commoncore-omnistudio-analyze && 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-omnistudio-analyze" agent skill from https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-industry-commoncore-omnistudio-analyze into .opencode/skills/sf-industry-commoncore-omnistudio-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sf-industry-commoncore-omnistudio-analyze", 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-omnistudio-analyzeCross-cutting OmniStudio analysis skill for namespace detection, dependency visualization, and impact analysis across OmniScripts, FlexCards, Integration Procedures, and Data Mappers.
Sf Industry Commoncore Omnistudio Analyze is an agent skill from Jaganpro/sf-skills. Cross-cutting OmniStudio analysis skill for namespace detection, dependency visualization, and impact analysis across OmniScripts, FlexCards, Integration Procedures, and Data Mappers. TRIGGER when: user asks about OmniStudio dependencies, wants namespace detection (Core vs vlocitycmt vs vlocityins), needs impact analysis, or requests dependency diagrams. DO NOT TRIGGER when: authoring OmniScripts (use sf-industry-commoncore-omniscript), building FlexCards (use sf-industry-commoncore-flexcard), creating…
Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `CREDITS.md`, `references/dependency-patterns.md` and `references/namespace-guide.md`).
It sits in Development, covering Diagrams. It works with Mermaid. 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.
4 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 Omnistudio Analyze loads about 5.1k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 174 tokens; SKILL.md has 1,239 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,239 words, ~5,073 tokens.
.claude/skills/sf-industry-commoncore-omnistudio-analyze/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Expert OmniStudio analyst specializing in namespace detection, dependency mapping, and impact analysis across the full OmniStudio component suite. Perform org-wide inventory of OmniScripts, FlexCards, Integration Procedures, and Data Mappers with automated dependency graph construction and Mermaid visualization.
CRITICAL: Orchestration Order
When multiple OmniStudio skills are involved, follow this dependency chain:
sf-industry-commoncore-omnistudio-analyze→sf-industry-commoncore-datamapper→sf-industry-commoncore-integration-procedure→sf-industry-commoncore-omniscript→sf-industry-commoncore-flexcardThis skill runs first to establish namespace context and dependency maps that downstream skills consume.
| Insight | Detail |
|---|---|
| Three namespaces coexist | Core (OmniProcess), vlocity_cmt (vlocity_cmt__OmniScript__c), vlocity_ins (vlocity_ins__OmniScript__c) |
| Dependencies are stored in JSON | PropertySetConfig (elements), Definition (FlexCards), InputObjectName/OutputObjectName (Data Mappers) |
| Circular references are possible | OmniScript A → IP B → OmniScript A via embedded call |
| FlexCard data sources are typed | dataSource.type === 'IntegrationProcedures' (plural) in DataSourceConfig JSON |
| Active vs Draft matters | Only active components participate in runtime dependency chains |
Purpose: Determine which OmniStudio namespace the org uses before querying any component metadata.
Detection Algorithm — Probe objects in order until a successful COUNT() returns:
Core (Industries namespace):
SELECT COUNT() FROM OmniProcessIf this succeeds, the org uses the Core namespace (API 234.0+ / Spring '22+).
vlocity_cmt (Communications, Media & Energy):
SELECT COUNT() FROM vlocity_cmt__OmniScript__cvlocity_ins (Insurance & Health):
SELECT COUNT() FROM vlocity_ins__OmniScript__cIf none succeed, OmniStudio is not installed in the org.
CLI Commands for namespace detection:
# Core namespace probe
sf data query --query "SELECT COUNT() FROM OmniProcess" --target-org myorg --json 2>/dev/null
# vlocity_cmt namespace probe
sf data query --query "SELECT COUNT() FROM vlocity_cmt__OmniScript__c" --target-org myorg --json 2>/dev/null
# vlocity_ins namespace probe
sf data query --query "SELECT COUNT() FROM vlocity_ins__OmniScript__c" --target-org myorg --json 2>/dev/nullEvaluate results: A successful query (exit code 0 with totalSize in JSON) confirms the namespace. A query failure (INVALID_TYPE or sObject type not found) means that namespace is not present.
See: references/namespace-guide.md for complete object/field mapping across all three namespaces.
Purpose: Build an inventory of all OmniStudio components in the org.
Using the detected namespace, query each component type:
OmniScripts (Core example):
SELECT Id, Type, SubType, Language, IsActive, VersionNumber,
PropertySetConfig, LastModifiedDate
FROM OmniProcess
WHERE IsIntegrationProcedure = false
ORDER BY Type, SubType, Language, VersionNumber DESCIntegration Procedures (Core example):
SELECT Id, Type, SubType, Language, IsActive, VersionNumber,
PropertySetConfig, LastModifiedDate
FROM OmniProcess
WHERE IsIntegrationProcedure = true
ORDER BY Type, SubType, Language, VersionNumber DESCFlexCards (Core example):
SELECT Id, Name, IsActive, DataSourceConfig, PropertySetConfig,
AuthorName, LastModifiedDate
FROM OmniUiCard
ORDER BY NameIMPORTANT: The
OmniUiCardobject does NOT have aDefinitionfield. UseDataSourceConfigfor data source bindings andPropertySetConfigfor card layout/states configuration.
Data Mappers (Core example):
SELECT Id, Name, IsActive, Type, LastModifiedDate
FROM OmniDataTransform
ORDER BY NameData Mapper Items (for object dependency extraction):
SELECT Id, OmniDataTransformationId, InputObjectName, OutputObjectName,
InputObjectQuerySequence
FROM OmniDataTransformItem
WHERE OmniDataTransformationId IN ({datamapper_ids})IMPORTANT: The foreign key field is
OmniDataTransformationId(full word "Transformation"), NOTOmniDataTransformId.
CLI Command pattern:
sf data query --query "SELECT Id, Type, SubType, Language, IsActive FROM OmniProcess WHERE IsIntegrationProcedure = false" \
--target-org myorg --jsonPurpose: Parse component metadata to build a directed dependency graph.
1. Initialize empty graph G and visited set V
2. For each root component C:
a. Enqueue C into work queue Q
b. While Q is not empty:
i. Dequeue component X from Q
ii. If X is in V, record circular reference and skip
iii. Add X to V
iv. Parse X's metadata for dependency references
v. For each dependency D found:
- Add edge X → D to graph G
- If D is not in V, enqueue D into Q
3. Return graph G and any circular references detectedOmniScript and IP elements store references in the PropertySetConfig JSON field. Parse each element to extract dependencies:
| Element Type | JSON Path in PropertySetConfig | Dependency Target |
|---|---|---|
| DataRaptor Transform Action | bundle, bundleName | Data Mapper (by name) |
| DataRaptor Turbo Action | bundle, bundleName | Data Mapper (by name) |
| Remote Action | remoteClass, remoteMethod | Apex Class.Method |
| Integration Procedure Action | integrationProcedureKey | IP (Type_SubType) |
| OmniScript Action | omniScriptKey or Type/SubType | OmniScript (Type_SubType) |
| HTTP Action | httpUrl, httpMethod | External endpoint (URL) |
| DocuSign Envelope Action | docuSignTemplateId | DocuSign template |
| Apex Remote Action | remoteClass | Apex Class |
Parsing PropertySetConfig:
For each OmniProcessElement:
1. Read PropertySetConfig (JSON string)
2. Parse JSON
3. Check element.Type against extraction table
4. Extract referenced component name/key
5. Resolve reference to an OmniProcess/OmniDataTransform record
6. Add edge: parent component → referenced componentFlexCards store their data source configuration in the DataSourceConfig JSON field (NOT Definition — that field does not exist on OmniUiCard):
Parse DataSourceConfig JSON:
1. Access dataSource object (singular, not array)
2. For each dataSource where type === 'IntegrationProcedures' (note: PLURAL):
- Extract dataSource.value.ipMethod (IP Type_SubType)
- Add edge: FlexCard → Integration Procedure
3. For each dataSource where type === 'ApexRemote':
- Extract dataSource.value.className
- Add edge: FlexCard → Apex Class
4. For childCard references, parse PropertySetConfig:
- Add edge: FlexCard → child FlexCardIMPORTANT: The data source type for IPs is
IntegrationProcedures(plural with capital P), notIntegrationProcedure.
Data Mappers reference Salesforce objects via their items:
For each OmniDataTransformItem:
1. Read InputObjectName → source sObject
2. Read OutputObjectName → target sObject
3. Add edge: Data Mapper → sObject (read from InputObjectName)
4. Add edge: Data Mapper → sObject (write to OutputObjectName)See: references/dependency-patterns.md for complete dependency extraction rules and examples.
Purpose: Generate human-readable output from the dependency graph.
graph LR
subgraph OmniScripts
OS1["createOrder<br/>English v3"]
OS2["updateAccount<br/>English v1"]
end
subgraph Integration Procedures
IP1["fetchAccountData<br/>English v2"]
IP2["submitOrder<br/>English v1"]
end
subgraph Data Mappers
DM1["AccountExtract"]
DM2["OrderTransform"]
end
subgraph FlexCards
FC1["AccountSummaryCard"]
end
OS1 -->|IP Action| IP2
OS1 -->|DR Action| DM2
OS2 -->|IP Action| IP1
IP1 -->|DR Action| DM1
FC1 -->|Data Source| IP1
style OS1 fill:#dbeafe,stroke:#1d4ed8,color:#1f2937
style OS2 fill:#dbeafe,stroke:#1d4ed8,color:#1f2937
style IP1 fill:#fef3c7,stroke:#b45309,color:#1f2937
style IP2 fill:#fef3c7,stroke:#b45309,color:#1f2937
style DM1 fill:#d1fae5,stroke:#047857,color:#1f2937
style DM2 fill:#d1fae5,stroke:#047857,color:#1f2937
style FC1 fill:#fce7f3,stroke:#be185d,color:#1f2937Color scheme:
| Component Type | Fill | Stroke |
|---|---|---|
| OmniScript | #dbeafe (blue-100) | #1d4ed8 (blue-700) |
| Integration Procedure | #fef3c7 (amber-100) | #b45309 (amber-700) |
| Data Mapper | #d1fae5 (green-100) | #047857 (green-700) |
| FlexCard | #fce7f3 (pink-100) | #be185d (pink-700) |
| Apex Class | #e9d5ff (purple-100) | #7c3aed (purple-700) |
| External (HTTP) | #f1f5f9 (slate-100) | #475569 (slate-600) |
{
"namespace": "Core",
"components": {
"omniScripts": 12,
"integrationProcedures": 8,
"flexCards": 5,
"dataMappers": 15
},
"dependencies": [
{ "from": "OS:createOrder", "to": "IP:submitOrder", "type": "IPAction" },
{ "from": "IP:fetchAccountData", "to": "DM:AccountExtract", "type": "DataRaptorAction" }
],
"circularReferences": [],
"impactAnalysis": {
"DM:AccountExtract": {
"directDependents": ["IP:fetchAccountData"],
"transitiveDependents": ["OS:updateAccount", "FC:AccountSummaryCard"]
}
}
}OmniStudio Dependency Report
=============================
Org Namespace: Core (Industries)
Scan Date: 2026-03-06
Component Inventory:
OmniScripts: 12 (8 active, 4 draft)
Integration Procedures: 8 (6 active, 2 draft)
FlexCards: 5 (5 active)
Data Mappers: 15 (12 active, 3 draft)
Dependency Summary:
Total edges: 23
Circular references: 0
Orphaned components: 2 (no inbound/outbound deps)
Impact Analysis (most-depended components):
1. DM:AccountExtract → 5 dependents
2. IP:fetchAccountData → 3 dependents
3. DM:OrderTransform → 2 dependentsComplete mapping of OmniStudio objects and fields across all three namespaces:
| Concept | Core | vlocity_cmt | vlocity_ins |
|---|---|---|---|
| OmniScript / IP container | OmniProcess | vlocity_cmt__OmniScript__c | vlocity_ins__OmniScript__c |
| OmniScript / IP elements | OmniProcessElement | vlocity_cmt__Element__c | vlocity_ins__Element__c |
| FlexCard | OmniUiCard | vlocity_cmt__VlocityUITemplate__c | vlocity_ins__VlocityUITemplate__c |
| Data Mapper | OmniDataTransform | vlocity_cmt__DRBundle__c | vlocity_ins__DRBundle__c |
| Data Mapper Item | OmniDataTransformItem | vlocity_cmt__DRMapItem__c | vlocity_ins__DRMapItem__c |
| Concept | Core Field | vlocity_cmt Field | vlocity_ins Field |
|---|---|---|---|
| Script type | Type | vlocity_cmt__Type__c | vlocity_ins__Type__c |
| Script subtype | SubType | vlocity_cmt__SubType__c | vlocity_ins__SubType__c |
| Language | Language | vlocity_cmt__Language__c | vlocity_ins__Language__c |
| Is active | IsActive | vlocity_cmt__IsActive__c | vlocity_ins__IsActive__c |
| Version | VersionNumber | vlocity_cmt__Version__c | vlocity_ins__Version__c |
| Element config | PropertySetConfig | vlocity_cmt__PropertySet__c | vlocity_ins__PropertySet__c |
| Is Integration Procedure | IsIntegrationProcedure | vlocity_cmt__IsIntegrationProcedure__c | vlocity_ins__IsIntegrationProcedure__c |
| FlexCard data sources | DataSourceConfig | vlocity_cmt__Definition__c | vlocity_ins__Definition__c |
| FlexCard layout/states | PropertySetConfig | (same field) | (same field) |
| DM input object | InputObjectName (on Item) | vlocity_cmt__InterfaceObject__c | vlocity_ins__InterfaceObject__c |
| DM output object | OutputObjectName (on Item) | vlocity_cmt__TargetFieldObjectType__c | vlocity_ins__TargetFieldObjectType__c |
See: references/namespace-guide.md for the complete reference including metadata type names for deployment.
# Probe all three namespaces (run sequentially, first success wins)
sf data query --query "SELECT COUNT() FROM OmniProcess" --target-org myorg --json 2>/dev/null && echo "CORE" || \
sf data query --query "SELECT COUNT() FROM vlocity_cmt__OmniScript__c" --target-org myorg --json 2>/dev/null && echo "VLOCITY_CMT" || \
sf data query --query "SELECT COUNT() FROM vlocity_ins__OmniScript__c" --target-org myorg --json 2>/dev/null && echo "VLOCITY_INS" || \
echo "NOT_INSTALLED"# Count OmniScripts
sf data query --query "SELECT COUNT() FROM OmniProcess WHERE IsIntegrationProcedure = false" \
--target-org myorg --json
# Count Integration Procedures
sf data query --query "SELECT COUNT() FROM OmniProcess WHERE IsIntegrationProcedure = true" \
--target-org myorg --json
# Count FlexCards
sf data query --query "SELECT COUNT() FROM OmniUiCard" --target-org myorg --json
# Count Data Mappers
sf data query --query "SELECT COUNT() FROM OmniDataTransform" --target-org myorg --json# Get OmniScript elements with their config
sf data query --query "SELECT Id, OmniProcessId, Name, Type, PropertySetConfig FROM OmniProcessElement WHERE OmniProcessId = '{process_id}'" \
--target-org myorg --json
# Get FlexCard data sources (for dependency parsing)
sf data query --query "SELECT Id, Name, DataSourceConfig FROM OmniUiCard WHERE IsActive = true" \
--target-org myorg --json
# Get Data Mapper items (for object dependencies)
sf data query --query "SELECT Id, OmniDataTransformationId, InputObjectName, OutputObjectName FROM OmniDataTransformItem" \
--target-org myorg --json| Skill | Relationship | How This Skill Helps |
|---|---|---|
| sf-industry-commoncore-datamapper | Provides namespace and object dependency data | Data Mapper authoring uses detected namespace for correct API names |
| sf-industry-commoncore-integration-procedure | Provides namespace and IP dependency map | IP authoring uses dependency graph to avoid circular references |
| sf-industry-commoncore-omniscript | Provides namespace and element dependency data | OmniScript authoring uses namespace-correct field names |
| sf-industry-commoncore-flexcard | Provides namespace and data source dependency map | FlexCard authoring uses detected IP references for validation |
| sf-diagram-mermaid | Consumes dependency graph for visualization | This skill generates Mermaid output compatible with sf-diagram-mermaid styling |
| sf-metadata | Provides sObject metadata for Data Mapper analysis | Object field validation during dependency extraction |
| sf-deploy | Deployment uses namespace-correct metadata types | This skill provides the correct metadata type names per namespace |
| Scenario | Handling |
|---|---|
| Mixed namespace org (migration in progress) | Probe all three namespaces; report if multiple return results. Components may exist under both old and migrated namespaces. |
| Inactive components with dependencies | Include in dependency graph but mark as inactive. Warn if active component depends on inactive one. |
| Large orgs (1000+ components) | Use SOQL pagination (LIMIT/OFFSET or queryMore). Process in batches of 200. |
| PropertySetConfig exceeds SOQL field length | Use Tooling API or REST API to fetch full JSON body for elements with truncated config. |
| Circular dependency detected | Log the cycle path (A → B → C → A), mark all participating edges, continue traversal for remaining branches. |
| Components referencing deleted items | Record as "broken reference" in output. Flag for cleanup. |
| Version conflicts (multiple active versions) | Only the highest active version number participates in runtime. Warn if lower versions have unique dependencies. |
sf CLI with org authentication. Optional: sf-diagram-mermaid for styled visualization.DataSourceConfig, NOT a Definition field (which does not exist on OmniUiCard). Card layout/states are in PropertySetConfig.OmniDataTransformationId (full "Transformation").OmniProcess uses a boolean IsIntegrationProcedure field, not a TypeCategory field (which does not exist). The OmniProcessType picklist is computed from this boolean and is useful for filtering reads but cannot be set directly on create.--values flag cannot handle JSON strings in textarea fields (e.g., PropertySetConfig). Use sf api request rest --method POST --body @file.json instead for records with JSON configuration./plugin install github:Jaganpro/sf-skills/sf-industry-commoncore-datamapper, /plugin install github:Jaganpro/sf-skills/sf-industry-commoncore-integration-procedure, /plugin install github:Jaganpro/sf-skills/sf-industry-commoncore-omniscript, /plugin install github:Jaganpro/sf-skills/sf-industry-commoncore-flexcardMIT 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 4 other files (references) in skills/sf-industry-commoncore-omnistudio-analyze of Jaganpro/sf-skills.
Open the folder on GitHubat commit 53c9956
Sf Industry Commoncore Omnistudio Analyze 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 Omnistudio Analyze this skillJaganpro/sf-skills | 424 | — | ~5.1k | Automated safety check: Pass | MIT | |
| Archify Diagramstt-a1i/archify | 82k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Diagram Designcathrynlavery/diagram-design | 49k | 1 repos | ~7.6k | Automated safety check: Pass | MIT | |
| Draw.io Diagram StudioAgents365-ai/drawio-skill | 10k | — | ~2.4k | Automated safety check: Notes | MIT | |
| Pretty Mermaid Rendererimxv/Pretty-mermaid-skills | 1.5k | — | ~2k | Automated safety check: Pass | MIT | |
| Archify Diagram BuilderUnclecheng-li/AI_Animation | 1.5k | 2 repos | ~4.1k | Automated safety check: Pass | MIT |
tt-a1i/archify
Creates interactive architecture, workflow, sequence, data-flow and lifecycle diagrams as standalone HTML with inline SVG, themes and image or video export.
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
Agents365-ai/drawio-skill
Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.
imxv/Pretty-mermaid-skills
Writes and renders Mermaid diagrams as themed SVG, PNG or terminal ASCII and Unicode art with a bundled Node.js CLI that needs no browser.
Unclecheng-li/AI_Animation
Builds validated architecture, workflow, sequence, data-flow and lifecycle diagrams as standalone interactive HTML from a small JSON spec, with optional motion and image export.
WH-2099/mermaid-skill
Generate Mermaid diagrams from user requirements. An agent skill from WH-2099/mermaid-skill.
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.
Works with
Categories
Cross-cutting OmniStudio analysis skill for namespace detection, dependency visualization, and impact analysis across OmniScripts, FlexCards, Integration Procedures, and Data Mappers. Sf Industry Commoncore Omnistudio Analyze is an agent skill from Jaganpro/sf-skills. Cross-cutting OmniStudio analysis skill for namespace detection, dependency visualization, and impact analysis across OmniScripts, FlexCards, Integration Procedures, and Data Mappers.
Sf Industry Commoncore Omnistudio Analyze fits situations like: : user asks about OmniStudio dependencies; wants namespace detection (Core vs vlocitycmt vs vlocityins); needs impact analysis; requests dependency diagrams.
Run `npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omnistudio-analyze -a claude-code`. Or copy the skill folder (skills/sf-industry-commoncore-omnistudio-analyze in Jaganpro/sf-skills) into .claude/skills/sf-industry-commoncore-omnistudio-analyze in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Jaganpro/sf-skills --skill sf-industry-commoncore-omnistudio-analyze -a codex`. Or copy the skill folder (skills/sf-industry-commoncore-omnistudio-analyze in Jaganpro/sf-skills) into .agents/skills/sf-industry-commoncore-omnistudio-analyze 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-omnistudio-analyze -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-omnistudio-analyze, .gemini/skills/sf-industry-commoncore-omnistudio-analyze, .github/skills/sf-industry-commoncore-omnistudio-analyze and .opencode/skills/sf-industry-commoncore-omnistudio-analyze in your project.
Going by SKILL.md and its folder, Sf Industry Commoncore Omnistudio Analyze 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 Omnistudio Analyze is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 20k 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 7.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Sf Industry Commoncore Omnistudio Analyze: Archify Diagrams (tt-a1i/archify, 82k stars), Diagram Design (cathrynlavery/diagram-design, 49k stars), Draw.io Diagram Studio (Agents365-ai/drawio-skill, 10k stars) and Pretty Mermaid Renderer (imxv/Pretty-mermaid-skills, 1.5k 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.