modeling-omnistudio-epc-catalog
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 building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
What this skill does
# modeling-omnistudio-epc-catalog: 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/`, organized by offer type: - `assets/examples/samsung-galaxy-s22-bundle/` — bundle offer example - `assets/examples/business-internet-premium-fttc-simple-offer/` — simple offer example - `assets/examples/business-internet-pro-vpl-simple-offer/` — simple offer example - `assets/examples/static-ip-simple-offer/` — simple offer example The `examples/business-internet-plus-bundle/` folder contains a generated bundle example with a step-by-step transcript. The root `assets/` folder contains the canonical baseline template set for bundle authoring. --- ## Scope - **In scope**: Creating and reviewing EPC Product2 records, Product Child Items, attribute metadata, offer bundles, pricing entries, decomposition and orchestration artifacts, and DataPack JSON payloads - **Out of scope**: OmniScript/FlexCard/Integration Procedure design (use `building-omnistudio-omniscript`, `building-omnistudio-flexcard`, or `building-omnistudio-integration-procedure`), Apex business logic implementation (use `generating-apex`), deployment pipeline troubleshooting (use `deploying-metadata`) --- ## 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. **Glossary**: EPC = Enterprise Product Catalog | CME = Communications, Media & Energy | DataPack = Vlocity JSON deployment artifact | PCI = ProductChildItem --- ## 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/ProductChildItem (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 `modeling-omnistudio-epc-catalog`, even if the prompt is brief and does not mention EPC by name. --- ## Workflow (Create/Review) ### Phase 0: Prerequisites Before proceeding, verify: 1. Salesforce Industries org with EPC enabled 2. Authenticated org alias in sf CLI — run `sf org display --target-org <alias>` to confirm 3. Namespace model identified: `%vlocity_namespace%`, `vlocity_cmt`, or Core If any prerequisite is unmet, ask the user to supply the org alias or namespace before continuing. --- ### 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 **Idempotency check**: If a `ProductCode` is provided, verify no matching Product2 already exists before generating artifacts: ```bash sf data query --query "SELECT Id, Name, ProductCode FROM Product2 WHERE ProductCode = '<code>'" --target-org <alias> ``` If a match is found, ask the user whether this is a net-new record or an update to the existing one before continuing. ### 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 t
Related in General
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.
sf-flow
IncludedCreates 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).