Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
forcedotcom avatar

Generating Custom Object

  • 2.5k installs
  • 763 repo stars
  • Updated July 24, 2026
  • forcedotcom/sf-skills

generating-custom-object is a Salesforce skill that emits validated CustomObject metadata XML with sharing, name field, and deployment constraints.

About

Generating Custom Object is a Salesforce metadata skill that outputs deployment-safe CustomObject XML for .object-meta.xml files. It enforces required elements including label, pluralLabel, sharingModel, deploymentStatus Deployed, nameField, and visibility Public. Sharing model logic defaults to ReadWrite unless a Master-Detail relationship exists, which forces ControlledByParent and prevents common Metadata API errors such as cannot set sharingModel to ReadWrite on a CustomObject with a MasterDetail relationship field. Name field guidance chooses Text for human-named entities or AutoNumber with displayFormat and startingNumber for transactional records like invoices or tickets. The skill triggers on custom object creation, object metadata, sharing models, validation rules on objects, and deployment troubleshooting around Master-Detail constraints. Agents verify Tier 1 syntactic essentials and Tier 2 smart defaults before emitting XML. Use it whenever users create new objects, generate object metadata, or fix object deployment failures tied to sharing or name field configuration.

  • Mandatory CustomObject XML constraints to prevent Metadata API deployment errors.
  • Sharing model rules with ControlledByParent when Master-Detail fields exist.
  • Name field decision tree for Text versus AutoNumber with displayFormat.
  • Required label, pluralLabel, deploymentStatus, nameField, and visibility tags.
  • Troubleshooting guidance for Master-Detail sharingModel deployment failures.

Generating Custom Object by the numbers

  • 2,527 all-time installs (skills.sh)
  • +7 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #204 of 4,386 Backend & APIs skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

generating-custom-object capabilities & compatibility

Capabilities
customobject required element validation · sharing model decision logic for master detail · name field text versus autonumber selection · deployment error troubleshooting for object meta · tier 1 syntactic and tier 2 smart default enforc
Works with
salesforce
Use cases
api development · database
From the docs

What generating-custom-object says it does

The agent must verify these constraints before outputting XML to prevent Metadata API deployment errors.
SKILL.md
npx skills add https://github.com/forcedotcom/sf-skills --skill generating-custom-object

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2.5k
repo stars763
Security audit3 / 3 scanners passed
Last updatedJuly 24, 2026
Repositoryforcedotcom/sf-skills

How do I create Salesforce custom object metadata that deploys without sharingModel or nameField errors?

Generate and validate Salesforce Custom Object metadata XML with correct sharing models, name fields, and deployment-safe defaults.

Who is it for?

Salesforce admins and developers generating or fixing custom object metadata XML.

Skip if: Skip for custom field-only work; use generating-custom-field for field metadata.

When should I use this skill?

User creates custom objects, generates object metadata, mentions .object files, sharing models, or object deployment errors.

What you get

Deployment-ready .object-meta.xml with correct sharing model, name field type, and required metadata tags.

  • .object-meta.xml CustomObject metadata

By the numbers

  • Skill metadata version 1.0

Files

SKILL.mdMarkdownGitHub ↗

data360-query: Data Cloud Retrieve Phase

Use this skill when the user needs query, search, and metadata introspection for Data Cloud: sync SQL, paginated SQL, async query workflows, table describe, vector search, hybrid search, or search index operations.

When This Skill Owns the Task

Use data360-query when the work involves:

  • sf data360 query *
  • sf data360 search-index *
  • sf data360 metadata *
  • sf data360 profile * or sf data360 insight * inspection
  • understanding Data Cloud SQL results or query shape

Delegate elsewhere when the user is:

  • writing standard CRM SOQL only → platform-soql-query
  • designing segment or calculated insight assets → data360-segment
  • analyzing STDM/session tracing/parquet telemetry → agentforce-observe

---

Required Context to Gather First

Ask for or infer:

  • target org alias
  • whether the user needs quick count, medium result set, large export, schema inspection, or semantic search
  • table/index name if known
  • whether the task is read-only SQL or search-index lifecycle management

---

Core Operating Rules

  • Treat Data Cloud SQL as its own query language, not SOQL.
  • Run the shared readiness classifier before relying on query/search surfaces: node ../data360-orchestrate/scripts/diagnose-org.mjs -o <org> --phase retrieve --json.
  • Use describe before guessing columns.
  • Prefer sqlv2 or async query flows for larger result sets.
  • Use vector search or hybrid search only when the search index lifecycle is healthy.
  • Keep STDM/parquet/session-tracing workflows out of this skill family.

---

Recommended Workflow

1. Classify readiness for retrieve work

node ../data360-orchestrate/scripts/diagnose-org.mjs -o <org> --phase retrieve --json
# optional query-plane probe, only with a real table name
node ../data360-orchestrate/scripts/diagnose-org.mjs -o <org> --phase retrieve --describe-table MyDMO__dlm --json

2. Choose the smallest correct query shape

sf data360 query sql -o <org> --sql 'SELECT COUNT(*) FROM "ssot__Individual__dlm"' 2>/dev/null
sf data360 query sqlv2 -o <org> --sql 'SELECT * FROM "ssot__Individual__dlm"' 2>/dev/null
sf data360 query async-create -o <org> --sql 'SELECT * FROM "ssot__Individual__dlm"' 2>/dev/null

3. Use describe before guessing fields

sf data360 query describe -o <org> --table ssot__Individual__dlm 2>/dev/null

4. Use vector or hybrid search only when an index exists

sf data360 search-index list -o <org> 2>/dev/null
sf data360 query vector -o <org> --index Knowledge_Index --query "reset password" --limit 5 2>/dev/null
sf data360 query hybrid -o <org> --index Knowledge_Index --query "reset password" --limit 5 2>/dev/null
sf data360 query hybrid -o <org> --index Insurance_Index --query "weather damage coverage" --prefilter "Type_of_Insurance__c='Home'" --limit 10 2>/dev/null

5. Reuse curated search-index examples when creating indexes

Use the phase-owned examples instead of inventing JSON from scratch:

  • examples/search-indexes/vector-knowledge.json
  • examples/search-indexes/hybrid-structured.json

---

High-Signal Gotchas

  • Data Cloud SQL is not SOQL.
  • Table names should be double-quoted in SQL.
  • sqlv2 is better than ad hoc OFFSET paging for medium result sets.
  • async query is preferable for large results.
  • search-index operations and vector/hybrid queries depend on the index lifecycle being healthy.
  • Hybrid search can use --prefilter, but only on fields configured as prefilter-capable when the search index was created.
  • HNSW index parameters are typically read-only on create; leave userValues: [] unless the platform explicitly documents otherwise.
  • query describe is not a universal tenant probe; only run it with a known DMO or DLO table after broader readiness has been confirmed.

---

Output Format

Retrieve task: <sql / sqlv2 / async / describe / vector / search-index>
Target org: <alias>
Target object: <table or index>
Commands: <key commands run>
Verification: <query rows / schema / status>
Next step: <segment / harmonize / follow-up>

---

References

  • README.md
  • examples/search-indexes/vector-knowledge.json
  • examples/search-indexes/hybrid-structured.json
  • ../data360-orchestrate/assets/definitions/search-index.template.json
  • ../data360-orchestrate/references/plugin-setup.md
  • ../data360-orchestrate/references/feature-readiness.md

Related skills

Forks & variants (1)

Generating Custom Object has 1 known copy in the catalog totaling 1.6k installs. They canonicalize to this original listing.

How it compares

Use generating-custom-object for whole-object metadata; pair with generating-custom-field when only field-level XML is needed.

FAQ

What sharingModel should I use with Master-Detail?

ControlledByParent is required when the object has a Master-Detail relationship field.

When should the name field be AutoNumber?

Use AutoNumber for transactions, logs, or IDs with displayFormat and startingNumber.

What visibility value is required?

Set visibility to Public per the mandatory constraints table.

Is Generating Custom Object safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.