MCPInstall

sf-industry-cme-epc-model

Salesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use sf-industry-commoncore- skills), implementing Apex business logic (use sf-apex), or troubleshooting deployment pipelines (use sf-deploy).

Installs
812
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/jaganpro/sf-skills --skill sf-industry-cme-epc-model
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads sf-industry-cme-epc-model automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

sf-industry-cme-epc-model: CME EPC Product and Offer Modeling

Expert Salesforce Industries CME EPC modeler for creating Product2-based catalog entries, assigning configurable attributes, and building offer bundles through Product Child Item relationships.

This skill is optimized for DataPack-style metadata authoring. Use the canonical template set in assets/:

  • assets/product2-offer-template.json
  • assets/attribute-assignment-template.json
  • assets/product-child-item-template.json
  • assets/pricebook-entries-template.json
  • assets/price-list-entries-template.json
  • assets/object-field-attributes-template.json
  • assets/orchestration-scenarios-template.json
  • assets/decomposition-relationships-template.json
  • assets/compiled-attribute-overrides-template.json
  • assets/override-definitions-template.json
  • assets/parent-keys-template.json

Additional packaged examples are available under assets/examples/ with one folder per bundle/simple-offer sample. The root assets/ folder contains the canonical baseline template set for bundle authoring.


Quick Reference

  • Primary object: Product2 (EPC product and offer records)
  • Attribute data: %vlocity_namespace%__AttributeMetadata__c, %vlocity_namespace%__AttributeDefaultValues__c, and %vlocity_namespace%__AttributeAssignment__c
  • Offer bundle composition: %vlocity_namespace%__ProductChildItem__c
  • Offer marker: %vlocity_namespace%__SpecificationType__c = "Offer" and %vlocity_namespace%__SpecificationSubType__c = "Bundle"
  • Companion bundle artifacts: pricebook entries, price list entries, object field attributes, orchestration scenarios, decomposition relationships, compiled attribute overrides, override definitions, and parent keys

Scoring: 120 points across 6 categories.
Thresholds: >= 95 Deploy-ready | 70-94 Needs review | < 70 Block and fix.


Asset Template Set

Use the root assets/ templates when creating a bundle payload:

  • product2-offer-template.json
  • attribute-assignment-template.json
  • product-child-item-template.json
  • pricebook-entries-template.json
  • price-list-entries-template.json
  • object-field-attributes-template.json
  • orchestration-scenarios-template.json
  • decomposition-relationships-template.json
  • compiled-attribute-overrides-template.json
  • override-definitions-template.json
  • parent-keys-template.json

For additional real-world variants, use the per-example folders under assets/examples/.


Core Responsibilities

  1. Product Creation: Create EPC Product2 records with consistent naming, lifecycle dates, status, and classification fields.
  2. Attribute Modeling: Define category-based attributes, defaults, valid value sets, display sequences, and required flags.
  3. Offer Bundle Modeling: Compose offers with child products using %vlocity_namespace%__ProductChildItem__c records and clear quantity rules.
  4. Companion Metadata Generation: Generate and align all related bundle files (pricing, object field attributes, orchestration/decomposition, overrides, parent keys) from the same offer baseline.
  5. DataPack Consistency: Keep record source keys, global keys, lookup objects, and namespace fields internally consistent for deployment.

Invocation Rules (Mandatory)

Route to this skill whenever the prompt intent matches either of these:

  1. Create a product bundle:

    • User asks to create/build/generate/model an EPC offer bundle.
    • User asks for Product2 offer setup with Product Child Items.
    • User asks to generate bundle DataPack JSON artifacts from templates/examples.
  2. Score or review an existing product bundle:

    • User asks to score/assess/validate/audit an existing EPC bundle.
    • User asks to apply the 120-point rubric to existing Product2/PCI/attribute payloads.
    • User asks for risk findings, quality gaps, or fix recommendations on bundle metadata.

Instruction priority: treat these two intents as direct triggers for sf-industry-cme-epc-model, even if the prompt is brief and does not mention EPC by name.


Workflow (Create/Review)

Phase 1: Identify Catalog Intent

Ask for:

  • Product type: spec product or offer bundle
  • Domain taxonomy: Family, Type/SubType, category path, and channel
  • Attribute requirements: required/optional, picklist values, default values
  • Bundle composition: child products, quantity constraints, optional vs required
  • Target org namespace model: %vlocity_namespace%, vlocity_cmt, or Core

Phase 1A: Clarifying Questions for Complete Bundle (Mandatory)

Before generating a new offer bundle payload, ask clarifying questions until all required inputs are known.

Required clarification checklist:

  1. Offer identity
    • What is the offer name and ProductCode?
    • Is this net-new or an update to an existing Product2 offer?
  2. Catalog classification
    • What are Family, Type/SubType, and channel/sales context values?
    • Should SpecificationType=Offer and SpecificationSubType=Bundle be set now?
  3. Lifecycle and availability
    • What are EffectiveDate and SellingStartDate?
    • Should IsActive and %vlocity_namespace%__IsOrderable__c be true at creation time?
  4. Child product composition
    • Which child products are included (name/code for each)?
    • For each child, what are required/optional semantics and sequence order?
  5. Quantity behavior per child
    • What are MinQuantity, MaxQuantity, and default Quantity?
    • Should %vlocity_namespace%__MinMaxDefaultQty__c be enforced for each line?
  6. Attribute model
    • Which attributes are required vs optional?
    • What are valid values, defaults, display types, and display sequences?
  7. Pricing and companion artifacts
    • Should pricebook and price list entries be generated now?
    • Should orchestration/decomposition/override/parent-key files be included in the same request?
  8. Namespace and keying
    • Which namespace convention should be used (%vlocity_namespace%, vlocity_cmt, or Core)?
    • Are there existing global keys/source keys to preserve?

If any required checklist item is unanswered, do not generate final bundle files yet; ask focused follow-up questions first.

Phase 2: Build Product2 Backbone

For every new EPC record, define:

  • Name
  • ProductCode (unique, stable, environment-agnostic)
  • %vlocity_namespace%__GlobalKey__c (stable UUID-style key)
  • %vlocity_namespace%__SpecificationType__c and %vlocity_namespace%__SpecificationSubType__c
  • %vlocity_namespace%__Status__c and date fields (EffectiveDate, SellingStartDate)
  • IsActive and %vlocity_namespace%__IsOrderable__c

Use assets/product2-offer-template.json as baseline structure.

Phase 3: Add Attributes

When attributes are required:

  1. Populate %vlocity_namespace%__AttributeMetadata__c category and productAttributes records.
  2. Populate %vlocity_namespace%__AttributeDefaultValues__c with attribute code to default value mapping.
  3. Create %vlocity_namespace%__AttributeAssignment__c records with:
    • category linkage
    • attribute linkage
    • UI display type (dropdown, etc.)
    • valid values and default marker

Use assets/attribute-assignment-template.json as the assignment baseline.

Phase 4: Build Offer Bundles

For offers:

  1. Keep parent Product2 record as offer (SpecificationType=Offer, SpecificationSubType=Bundle).
  2. Create root %vlocity_namespace%__ProductChildItem__c row (IsRootProductChildItem=true).
  3. Add child rows per component with:
    • parent and child references
    • sequence and line number
    • min/max/default quantity behavior (MinMaxDefaultQty, MinQuantity, MaxQuantity, Quantity)
  4. Use override rows only when behavior differs from inherited/default behavior.

Use assets/product-child-item-template.json for child relationship structure.

For complete bundle payloads, also align and include:

  • assets/pricebook-entries-template.json
  • assets/price-list-entries-template.json
  • assets/object-field-attributes-template.json
  • assets/orchestration-scenarios-template.json
  • assets/decomposition-relationships-template.json
  • assets/compiled-attribute-overrides-template.json
  • assets/override-definitions-template.json
  • assets/parent-keys-template.json

Phase 4B: Generate Companion Metadata Files

When the user asks to generate a bundle, generate/update all companion files together as one coherent set:

  1. pricebook-entries-template.json and price-list-entries-template.json
    • Keep Product2 GlobalKey/ProductCode references aligned with the parent offer.
  2. object-field-attributes-template.json
    • Keep object class references and field mappings aligned with the same offer model.
  3. orchestration-scenarios-template.json and decomposition-relationships-template.json
    • Keep decomposition and orchestration artifacts consistent with bundle child items.
  4. compiled-attribute-overrides-template.json and override-definitions-template.json
    • Keep override keys and references aligned with attribute metadata and assignments.
  5. parent-keys-template.json
    • Keep parent linkage values synchronized with generated artifact keys.

Mandatory rule: do not generate only a partial subset when a full bundle payload is requested unless the user explicitly asks for a limited file scope.

Phase 5: Validate and Handoff

Provide a completion block:

EPC Model Complete: <Name>
Type: <Spec Product|Offer Bundle>
ProductCode: <code>
Attributes: <count>
Bundle Children: <count>
Companion Metadata Files: <count generated>
Validation Score: <score>/120
Risks: <none|list>

Generation Guardrails (Mandatory)

If any anti-pattern appears, stop and ask for confirmation before proceeding.

Anti-patternWhy it failsRequired correction
Missing ProductCode or unstable code valuesBreaks quote/cart references and package diffsUse deterministic code convention
Hardcoded org-specific IDs in relationshipsFails across orgs/environmentsUse lookup objects with matching keys/global keys
Offer bundle without root PCI rowRuntime bundle traversal issuesAdd root %vlocity_namespace%__ProductChildItem__c
Attribute defaults not present in valid valuesInvalid cart configuration defaultsEnsure default exists in allowed value set
Duplicate display sequences in same attribute categoryUI ordering conflictEnforce unique and spaced sequence values
Offer marked active with incomplete child referencesBroken bundle at runtimeComplete and validate child link set before activation
Mixed naming styles (snake_case, ad hoc abbreviations)Reduces maintainability and discoverabilityEnforce naming convention from references doc

Scoring Model (120 Points)

1) Catalog Identity and Naming (20)

  • Product name clarity and uniqueness
  • ProductCode convention quality
  • Type/SubType/Family coherence
  • Stable keying (GlobalKey, source key integrity)

2) EPC Product Structure (20)

  • Required Product2 + EPC fields present
  • Lifecycle dates and status alignment
  • Orderable/active flags are coherent
  • Record type and classification consistency

3) Attribute Modeling (25)

  • Category and attribute grouping quality
  • Valid values + default alignment
  • Required/read-only/filterable semantics
  • Display sequence and UX consistency

4) Offer Bundle Composition (25)

  • Root PCI presence and correctness
  • Child references and sequencing integrity
  • Quantity constraints correctness
  • Optional/required semantics reflected in min/max/defaults

5) DataPack Integrity (15)

  • Namespace placeholder correctness
  • Lookup object key integrity
  • No environment-specific brittle fields

6) Documentation and Handoff (15)

  • Clear explanation of modeled intent
  • Testing checklist included
  • Risks and assumptions explicitly called out

CLI and Validation Commands

# Query candidate EPC products
sf data query -q "SELECT Id,Name,ProductCode,Family,IsActive FROM Product2 ORDER BY LastModifiedDate DESC" -o <org>

# Query Product Child Items for an offer
sf data query -q "SELECT Id,Name,%vlocity_namespace%__ParentProductName__c,%vlocity_namespace%__ChildProductName__c,%vlocity_namespace%__MinMaxDefaultQty__c FROM %vlocity_namespace%__ProductChildItem__c WHERE %vlocity_namespace%__ParentProductName__c='<Offer Name>'" -o <org>

# Retrieve Product2 metadata package members (as applicable to project format)
sf project retrieve start -m Product2:<DeveloperNameOrName> -o <org>

# Validate deployment in dry-run mode
sf project deploy start -x manifest/package.xml --dry-run -o <org>

Sample Skill Invocation Commands

Use these examples to invoke this skill from your agent/CLI workflow:

# Create a new EPC offer bundle with full companion metadata
cursor-agent "Create a Product2 offer bundle named Business Internet Plus with ProductCode BIZ-INT-PLUS-01, 3 child products, and generate all companion DataPack JSON files from the assets templates."

# Add configurable attributes to an existing EPC Product2 record
cursor-agent "Update Product2 Business Internet Essential with attribute metadata/defaults/assignments for Bandwidth, ContractTerm, and StaticIPCount, including valid values and defaults."

# Build ProductChildItem relationships for an offer
cursor-agent "Create root and child %vlocity_namespace%__ProductChildItem__c records for offer Business Internet Essential VPL with min/max/default quantity rules."

# Review an existing DataPack for EPC modeling quality
cursor-agent "Review the Product2 bundle JSON files under skills/sf-industry-cme-epc-model/examples/business-internet-plus-bundle/, score against the 120-point rubric, and return risks plus required fixes."

# Convert a spec product into a bundle-ready offer payload
cursor-agent "Transform Product2 Dedicated Fiber 1G from spec product to offer bundle (SpecificationType=Offer, SpecificationSubType=Bundle) and generate aligned PCI + pricing artifacts."

If your environment uses a different command wrapper, keep the quoted instruction text and replace cursor-agent with your local agent command.


Cross-Skill Integration

From SkillTo sf-industry-cme-epc-modelWhen
sf-industry-commoncore-omnistudio-analyze-> sf-industry-cme-epc-modelNeed current dependency and namespace inventory first
sf-metadata-> sf-industry-cme-epc-modelNeed object or field readiness before EPC modeling
sf-soql-> sf-industry-cme-epc-modelNeed existing catalog query analysis
From sf-industry-cme-epc-modelTo SkillWhen
sf-industry-cme-epc-model-> sf-industry-commoncore-omniscriptConfigure guided selling UX using the modeled catalog
sf-industry-cme-epc-model-> sf-industry-commoncore-integration-procedureBuild server-side orchestration over product and pricing payloads
sf-industry-cme-epc-model-> sf-deployDeploy validated catalog metadata

External References

Additional local references:

  • references/epc-field-guide.md
  • references/naming-conventions.md

Notes

  • This skill is intentionally DataPack-first and optimized for vlocity/Product2/... artifact authoring.
  • Keep %vlocity_namespace% placeholders intact in templates to preserve portability.
  • Prefer creating reusable spec products first, then assemble offers via child relationships.

License

MIT License.

FAQ

What does the sf-industry-cme-epc-model skill do?

Salesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use sf-industry-commoncore- skills), implementing Apex business logic (use sf-apex), or troubleshooting deployment pipelines (use sf-deploy).

How do I install sf-industry-cme-epc-model?

Run npx skills add https://github.com/jaganpro/sf-skills --skill sf-industry-cme-epc-model in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/sf-industry-cme-epc-model/ (personal) or .claude/skills/sf-industry-cme-epc-model/ (project).

Which AI agents can use sf-industry-cme-epc-model?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is sf-industry-cme-epc-model safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains sf-industry-cme-epc-model?

It is published by jaganpro in jaganpro/sf-skills. It has 812 recorded installs.

More from jaganpro/sf-skills

View all →

sf-apex

jaganpro/sf-skills

Generates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.

Testing & QA1.6K installs

sf-lwc

jaganpro/sf-skills

Lightning Web Components with PICKLES methodology and 165-point scoring. TRIGGER when: user creates/edits LWC components, touches lwc//.js, .html, .css, .js-meta.xml files, or asks about wire service, SLDS, or Jest LWC tests. DO NOT TRIGGER when: Apex classes (use sf-apex), Aura components, or Visualforce.

Frontend & Design1.5K installs

sf-flow

jaganpro/sf-skills

Creates and validates Salesforce Flows with 110-point scoring. TRIGGER when: user builds or edits record-triggered, screen, autolaunched, or scheduled flows, or touches .flow-meta.xml files. DO NOT TRIGGER when: Apex automation (use sf-apex), process builder migration questions only, or non-Flow declarative config (use sf-metadata).

sf-metadata

jaganpro/sf-skills

Salesforce metadata generation and querying with 120-point scoring. TRIGGER when: user creates custom objects, fields, validation rules, or touches .object-meta.xml, .field-meta.xml, .profile-meta.xml files. DO NOT TRIGGER when: permission set analysis (use sf-permissions), deploying metadata (use sf-deploy), or Flow XML (use sf-flow).

DevOps & Cloud1.5K installs

sf-soql

jaganpro/sf-skills

SOQL query generation, optimization, and analysis with 100-point scoring. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use sf-data), Apex DML logic (use sf-apex), or report/dashboard queries.

Data & Databases1.5K installs

sf-debug

jaganpro/sf-skills

Salesforce debug log analysis and troubleshooting with 100-point scoring. TRIGGER when: user analyzes debug logs, hits governor limits, reads stack traces, or touches .log files from Salesforce orgs. DO NOT TRIGGER when: running Apex tests (use sf-testing), fixing Apex code (use sf-apex), or Agentforce session tracing (use sf-ai-agentforce-observability).

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.

OfficialDevOps & Cloud568K installs