omnistudio-epc-catalog-generate

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 o

By forcedotcom · 4,624 installs

npx skills add forcedotcom/sf-skills --skill omnistudio-epc-catalog-generate

Source repository · Upstream listing

omnistudio epc catalog generate: 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 omnistudio omniscript generate , omnistudio flexcard generate , or omnistudio integration procedure generate ), Apex business logic implementation (use platform apex generate ), deployment pipeline troubleshooting (use platform metadata deploy ) 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 omnistudio epc catalog generate , 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: 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 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 Read assets/completion block template.txt and fill in each field to produce the handoff summary block. Output Expectations For a full offer bundle request, the following files are produced: File pattern Content DataPack.json Product2 offer record AttributeAssignments.json Attribute category and assignment payloads ProductChildItems.json Root and child ProductChildItem (PCI) rows PricebookEntries.json Standard and custom pricebook entries PriceListEntries.json Price list entries ObjectFieldAttributes.json Object field mapping OrchestrationScenarios.json Orchestration metadata DecompositionRelationships.json Decomposition metadata CompiledAttributeOverrides.json Compiled attribute override payload OverrideDefinitions.json Override definition payload ParentKeys.json Parent key