/data360-schema-get
Retrieve Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using REST APIs. Use this skill when you need to inspect DLO or DMO field definitions, data types, or metadata. Takes org alias and optional DLO/DMO name as parameters.
$ npx -y skills add forcedotcom/sf-skills --skill data360-schema-get --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/data360-schema-get
Context preview
The summary Claude sees to decide when to auto-load this skill.
Retrieve Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using REST APIs. Use this skill when you need to inspect DLO or DMO field definitions, data types, or metadata. Takes org alias and optional DLO/DMO name as parameters.
SKILL.md
data360-schema-get.SKILL.mdname: data360-schema-get
description: "Retrieve Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using REST APIs. Use this skill when you need to inspect DLO or DMO field definitions, data types, or metadata. Takes org alias and optional DLO/DMO name as parameters."
metadata:
cliTools:
- tool: ["pip"]
semver: ">=23.0.0"
- tool: ["python3"]
semver: ">=3.10.0"
- tool: ["sf"]
semver: ">=2.0.0"
version: "1.0"data360-schema-get Skill
Overview
This skill retrieves Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using the SSOT REST API. It can list all DLOs or DMOs in an org, or retrieve detailed schema for a specific DLO or DMO.
When to Use
- User wants to see all DLOs or DMOs in a Data Cloud org
- User needs field schema for a specific DLO or DMO
- User is exploring Data Cloud data structures
- User needs to understand DLO or DMO field types and metadata
Prerequisites
- SF CLI installed and authenticated to target org
- Org has Data Cloud enabled
- User has appropriate Data Cloud permissions
Skill Execution
Parameters
1. **org_alias** (required): The SF CLI org alias (e.g., 'afvibe', 'myorg') 2. **dlo_name** (optional): Specific DLO developer name (e.g., 'Employee__dll') 3. **dmo_name** (optional): Specific DMO developer name (e.g., 'Individual__dlm')
Step 1: Discover Connected Org
First, run `sf org list` to find out which org is connected and extract the alias to use for all subsequent calls:
sf org list
Example output:
┌────┬───────┬──────────────────────────┬────────────────────┬───────────┐
│ │ Alias │ Username │ Org Id │ Status │
├────┼───────┼──────────────────────────┼────────────────────┼───────────┤
│ 🍁 │ myorg │ chandresh@afvidedemo.org │ 00DKZ00000b80NT2AY │ Connected │
└────┴───────┴──────────────────────────┴────────────────────┴───────────┘
Extract the **Alias** value (e.g., `myorg`) from the output and use it as the `<org_alias>` for all subsequent calls. Use `--all` to see expired and deleted scratch orgs as well.
Step 2: Validate SF CLI Authentication
Before making API calls, verify the org is connected:
sf org display --target-org <org_alias> --json
If not connected, inform user to run:
sf org login web --alias <org_alias>
Step 3a: Execute DLO Schema Script
The Python scripts are bundled with this skill in the `scripts/` subdirectory.
**To list all DLOs:**
python3 ./scripts/get_dlo_schema.py <org_alias>
**To get specific DLO schema:**
python3 ./scripts/get_dlo_schema.py <org_alias> <dlo_name>
Step 3b: Execute DMO Schema Script
**To list all DMOs:**
python3 ./scripts/get_dmo_schema.py <org_alias>
**To get specific DMO schema:**
python3 ./scripts/get_dmo_schema.py <org_alias> <dmo_name>
Step 4: Present Results
Parse and present the results in a user-friendly format:
**For DLO List:**
- Show DLO name, label, category, and ID
- Indicate total count
- Highlight DLOs with data (totalRecords > 0)
**For DLO Schema:**
- Show basic info (name, label, category, status)
- List all fields with:
- Field name
- Data type
- Primary key indicator
- Nullable status
- Highlight custom fields (exclude system fields like DataSource__c, cdp_sys_*)
- Show record count if available
**For DMO List:**
- Show DMO name, label, category, and ID
- Indicate total count
**For DMO Schema:**
- Show basic info (name, label, category, description)
- List all fields with:
- Field name
- Data type
- Primary key indicator
- Nullable status
- Show dataspace information if available
Step 5: Offer Next Steps
After displaying results, suggest relevant follow-up actions:
- Query data from the DLO
- Create calculated insights
- Build segments
- Set up data streams
- Create DMO mappings
API Endpoints Used
List All DLOs
GET /services/data/v64.0/ssot/data-lake-objects
Response structure:
{
"dataLakeObjects": [
{
"name": "Employee__dll",
"label": "Employee",
"category": "Profile",
"id": "1dlXXXXXXXXXXXXXXX",
"status": "ACTIVE",
"totalRecords": 12,
"fields": [...]
}
],
"totalSize": 5
}Get DLO Schema
GET /services/data/v64.0/ssot/data-lake-objects/{dlo_name}Response structure (same as individual object in list response, but wrapped in paginated format).
List All DMOs
GET /services/data/v64.0/ssot/data-model-objects
Response structure:
{
"dataModelObjects": [
{
"name": "Individual__dlm",
"label": "Individual",
"category": "Profile",
"id": "0dmXXXXXXXXXXXXXXX",
"fields": [...]
}
],
"totalSize": 10
}Get DMO Schema
GET /services/data/v64.0/ssot/data-model-objects/{dmo_name}Response structure (same as individual object in list response, but wrapped in paginated format).
Error Handling
**Common Issues:**
1. **Org not connected**
- Message: "Org not connected"
- Solution: Ask user to authenticate via SF CLI
2. **DLO not found**
- Message: "DLO 'XYZ__dll' not found"
- Solution: List all DLOs first to verify name
5. **DMO not found**
- Message: "DMO 'XYZ__dlm' not found"
- Solution: List all DMOs first to verify name
3. **Permission issues**
- Message: HTTP 403 errors
- Solution: Verify user has Data Cloud permissions
4. **API version mismatch**
- Current: v64.0
- Solution: Script can be updated for newer API versions
Example Usage
**Example 1: List all DLOs**
User: "Show me all DLOs in afvibe org"
Response:
1. Run sf org list to discover connected org alias
2. Authenticate to afvibe
3. Run: python3 ./scripts/get_dlo_schema.py afvibe
4. Display formatted list of DLOs
**Example 2: Get specific DLO schema**
User
Read more
name: data360-schema-get
description: "Retrieve Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using REST APIs. Use this skill when you need to inspect DLO or DMO field definitions, data types, or metadata. Takes org alias and optional DLO/DMO name as parameters."
metadata:
cliTools:
- tool: ["pip"]
semver: ">=23.0.0"
- tool: ["python3"]
semver: ">=3.10.0"
- tool: ["sf"]
semver: ">=2.0.0"
version: "1.0"data360-schema-get Skill
Overview
This skill retrieves Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using the SSOT REST API. It can list all DLOs or DMOs in an org, or retrieve detailed schema for a specific DLO or DMO.
When to Use
- User wants to see all DLOs or DMOs in a Data Cloud org
- User needs field schema for a specific DLO or DMO
- User is exploring Data Cloud data structures
- User needs to understand DLO or DMO field types and metadata
Prerequisites
- SF CLI installed and authenticated to target org
- Org has Data Cloud enabled
- User has appropriate Data Cloud permissions
Skill Execution
Parameters
1. **org_alias** (required): The SF CLI org alias (e.g., 'afvibe', 'myorg') 2. **dlo_name** (optional): Specific DLO developer name (e.g., 'Employee__dll') 3. **dmo_name** (optional): Specific DMO developer name (e.g., 'Individual__dlm')
Step 1: Discover Connected Org
First, run `sf org list` to find out which org is connected and extract the alias to use for all subsequent calls:
sf org list
Example output:
┌────┬───────┬──────────────────────────┬────────────────────┬───────────┐ │ │ Alias │ Username │ Org Id │ Status │ ├────┼───────┼──────────────────────────┼────────────────────┼───────────┤ │ 🍁 │ myorg │ chandresh@afvidedemo.org │ 00DKZ00000b80NT2AY │ Connected │ └────┴───────┴──────────────────────────┴────────────────────┴───────────┘
Extract the **Alias** value (e.g., `myorg`) from the output and use it as the `<org_alias>` for all subsequent calls. Use `--all` to see expired and deleted scratch orgs as well.
Step 2: Validate SF CLI Authentication
Before making API calls, verify the org is connected:
sf org display --target-org <org_alias> --json
If not connected, inform user to run:
sf org login web --alias <org_alias>
Step 3a: Execute DLO Schema Script
The Python scripts are bundled with this skill in the `scripts/` subdirectory.
**To list all DLOs:**
python3 ./scripts/get_dlo_schema.py <org_alias>
**To get specific DLO schema:**
python3 ./scripts/get_dlo_schema.py <org_alias> <dlo_name>
Step 3b: Execute DMO Schema Script
**To list all DMOs:**
python3 ./scripts/get_dmo_schema.py <org_alias>
**To get specific DMO schema:**
python3 ./scripts/get_dmo_schema.py <org_alias> <dmo_name>
Step 4: Present Results
Parse and present the results in a user-friendly format:
**For DLO List:**
- Show DLO name, label, category, and ID
- Indicate total count
- Highlight DLOs with data (totalRecords > 0)
**For DLO Schema:**
- Show basic info (name, label, category, status)
- List all fields with:
- Field name
- Data type
- Primary key indicator
- Nullable status
- Highlight custom fields (exclude system fields like DataSource__c, cdp_sys_*)
- Show record count if available
**For DMO List:**
- Show DMO name, label, category, and ID
- Indicate total count
**For DMO Schema:**
- Show basic info (name, label, category, description)
- List all fields with:
- Field name
- Data type
- Primary key indicator
- Nullable status
- Show dataspace information if available
Step 5: Offer Next Steps
After displaying results, suggest relevant follow-up actions:
- Query data from the DLO
- Create calculated insights
- Build segments
- Set up data streams
- Create DMO mappings
API Endpoints Used
List All DLOs
GET /services/data/v64.0/ssot/data-lake-objects
Response structure:
{
"dataLakeObjects": [
{
"name": "Employee__dll",
"label": "Employee",
"category": "Profile",
"id": "1dlXXXXXXXXXXXXXXX",
"status": "ACTIVE",
"totalRecords": 12,
"fields": [...]
}
],
"totalSize": 5
}Get DLO Schema
GET /services/data/v64.0/ssot/data-lake-objects/{dlo_name}Response structure (same as individual object in list response, but wrapped in paginated format).
List All DMOs
GET /services/data/v64.0/ssot/data-model-objects
Response structure:
{
"dataModelObjects": [
{
"name": "Individual__dlm",
"label": "Individual",
"category": "Profile",
"id": "0dmXXXXXXXXXXXXXXX",
"fields": [...]
}
],
"totalSize": 10
}Get DMO Schema
GET /services/data/v64.0/ssot/data-model-objects/{dmo_name}Response structure (same as individual object in list response, but wrapped in paginated format).
Error Handling
**Common Issues:**
1. **Org not connected**
- Message: "Org not connected"
- Solution: Ask user to authenticate via SF CLI
2. **DLO not found**
- Message: "DLO 'XYZ__dll' not found"
- Solution: List all DLOs first to verify name
5. **DMO not found**
- Message: "DMO 'XYZ__dlm' not found"
- Solution: List all DMOs first to verify name
3. **Permission issues**
- Message: HTTP 403 errors
- Solution: Verify user has Data Cloud permissions
4. **API version mismatch**
- Current: v64.0
- Solution: Script can be updated for newer API versions
Example Usage
**Example 1: List all DLOs**
User: "Show me all DLOs in afvibe org" Response: 1. Run sf org list to discover connected org alias 2. Authenticate to afvibe 3. Run: python3 ./scripts/get_dlo_schema.py afvibe 4. Display formatted list of DLOs
**Example 2: Get specific DLO schema**
User
This repository provides a curated collection of Salesforce agent skills for building applications.
Repo: forcedotcom/sf-skills
Other skills on sf-skills.
- /agentforce-generate
Build, modify, optimize, debug, and deploy agents with Agentforce Agent Script. TRIGGER when: user creates, modifies, optimizes, or asks about .agent files or aiAuthoringBundle metadata; changes agent behavior, responses, or conversation logic; designs agent actions, tools,
Open skill - /agentforce-observe
Analyze production Agentforce agent behavior using session traces and Data Cloud. TRIGGER when: user queries STDM session data or Data Cloud trace records; investigates production agent failures, regressions, or performance issues; asks about session traces, conversation logs,
Open skill - /agentforce-test
Write, run, and analyze structured test suites for Agentforce agents — functional AND security. TRIGGER when: user writes or modifies test spec YAML (AiEvaluationDefinition); runs sf agent test create, run, run-eval, or results commands; asks about test coverage strategy, metric
Open skill - /automation-flow-generate
Generate Salesforce Flows using the MCP tool execute_metadata_action. Use when the user asks to create, build, or generate a flow — including Screen, Autolaunched, Record-Triggered (before/after-save), Scheduled. Also trigger for flow-like requests such as \"when a record is
Open skill - /dx-code-analyzer-configure
Set up, configure, and troubleshoot Salesforce Code Analyzer for any project. Handles installation, prerequisite checks, diagnosing broken setups, creating and editing code-analyzer.yml overrides, engine-specific settings, ignore patterns, severity overrides, and CI/CD pipeline
Open skill - /dx-code-analyzer-custom-rule-create
Create custom Code Analyzer rules for Regex (pattern matching), PMD (XPath/AST for Apex and metadata XML), and ESLint (LWC/JavaScript/TypeScript). Use when users want to enforce coding standards, ban patterns, detect hardcoded values, govern metadata, or add rules not in the
Open skill

