@salesforce/afv-skills 1.28.0 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +2 -0
  2. package/package.json +1 -1
  3. package/skills/agentforce-architecture-analyze/README.md +2 -8
  4. package/skills/agentforce-architecture-analyze/SKILL.md +2 -2
  5. package/skills/agentforce-architecture-analyze/references/contract.json +4 -4
  6. package/skills/agentforce-architecture-analyze/references/soql_fields.md +1 -1
  7. package/skills/data360-activate/README.md +0 -1
  8. package/skills/data360-activate/SKILL.md +0 -2
  9. package/skills/data360-connect/README.md +0 -2
  10. package/skills/data360-connect/SKILL.md +0 -2
  11. package/skills/data360-harmonize/SKILL.md +0 -1
  12. package/skills/data360-orchestrate/README.md +0 -7
  13. package/skills/data360-orchestrate/SKILL.md +0 -2
  14. package/skills/data360-prepare/README.md +0 -1
  15. package/skills/data360-prepare/SKILL.md +0 -1
  16. package/skills/data360-query/README.md +0 -1
  17. package/skills/data360-query/SKILL.md +0 -1
  18. package/skills/data360-segment/README.md +0 -1
  19. package/skills/data360-segment/SKILL.md +0 -2
  20. package/skills/dx-code-analyzer-configure/SKILL.md +31 -13
  21. package/skills/dx-code-analyzer-custom-rule-create/SKILL.md +484 -0
  22. package/skills/dx-code-analyzer-custom-rule-create/assets/pmd-ruleset-template.xml +31 -0
  23. package/skills/dx-code-analyzer-custom-rule-create/examples/metadata-xml-example-fields-api.md +87 -0
  24. package/skills/dx-code-analyzer-custom-rule-create/examples/metadata-xml-example-flows.md +105 -0
  25. package/skills/dx-code-analyzer-custom-rule-create/examples/metadata-xml-example-permissions.md +95 -0
  26. package/skills/dx-code-analyzer-custom-rule-create/examples/metadata-xml-examples.md +84 -0
  27. package/skills/dx-code-analyzer-custom-rule-create/examples/regex-examples.md +127 -0
  28. package/skills/dx-code-analyzer-custom-rule-create/examples/xpath-examples.md +227 -0
  29. package/skills/dx-code-analyzer-custom-rule-create/references/advanced-pmd-patterns.md +288 -0
  30. package/skills/dx-code-analyzer-custom-rule-create/references/apex-ast-reference.md +127 -0
  31. package/skills/dx-code-analyzer-custom-rule-create/references/eslint-custom-plugins.md +247 -0
  32. package/skills/dx-code-analyzer-custom-rule-create/references/eslint-rules-discovery.md +188 -0
  33. package/skills/dx-code-analyzer-custom-rule-create/references/eslint-tier2-configurable.md +114 -0
  34. package/skills/dx-code-analyzer-custom-rule-create/references/eslint-tier3-custom-plugins.md +113 -0
  35. package/skills/dx-code-analyzer-custom-rule-create/references/metadata-xml-rules.md +285 -0
  36. package/skills/dx-code-analyzer-custom-rule-create/references/regex-rule-schema.md +174 -0
  37. package/skills/dx-code-analyzer-custom-rule-create/references/troubleshooting.md +141 -0
  38. package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns-governor-limits.md +83 -0
  39. package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns-method-calls.md +108 -0
  40. package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns-security.md +45 -0
  41. package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns-structure.md +127 -0
  42. package/skills/dx-code-analyzer-custom-rule-create/references/xpath-patterns.md +131 -0
  43. package/skills/dx-code-analyzer-custom-rule-create/scripts/create-pmd-rule.js +209 -0
  44. package/skills/dx-code-analyzer-custom-rule-create/scripts/create-regex-rule.js +220 -0
  45. package/skills/dx-code-analyzer-run/SKILL.md +41 -8
  46. package/skills/experience-cms-brand-apply/SKILL.md +47 -16
  47. package/skills/experience-lwc-generate/README.md +3 -2
  48. package/skills/experience-lwc-generate/references/async-notification-patterns.md +1 -1
  49. package/skills/experience-lwc-generate/references/component-patterns.md +3 -3
  50. package/skills/experience-lwc-generate/references/flow-integration-guide.md +1 -1
  51. package/skills/experience-lwc-generate/references/lwc-best-practices.md +4 -4
  52. package/skills/experience-lwc-generate/references/scoring-and-testing.md +1 -1
  53. package/skills/experience-lwc-generate/references/state-management.md +2 -2
  54. package/skills/experience-lwc-generate/references/triangle-pattern.md +3 -3
  55. package/skills/experience-lwc-generate/scripts/post-tool-validate.py +2 -2
  56. package/skills/experience-lwc-generate/scripts/template_validator.py +1 -1
  57. package/skills/external-diagram-mermaid-generate/README.md +2 -2
  58. package/skills/external-diagram-mermaid-generate/SKILL.md +1 -3
  59. package/skills/external-diagram-mermaid-generate/assets/agentforce/agent-flow.md +4 -4
  60. package/skills/external-diagram-mermaid-generate/assets/architecture/system-landscape.md +1 -1
  61. package/skills/external-diagram-mermaid-generate/assets/datamodel/b2b-commerce-erd.md +3 -3
  62. package/skills/external-diagram-mermaid-generate/assets/datamodel/campaigns-erd.md +1 -1
  63. package/skills/external-diagram-mermaid-generate/assets/datamodel/consent-erd.md +2 -2
  64. package/skills/external-diagram-mermaid-generate/assets/datamodel/files-erd.md +2 -2
  65. package/skills/external-diagram-mermaid-generate/assets/datamodel/forecasting-erd.md +2 -2
  66. package/skills/external-diagram-mermaid-generate/assets/datamodel/fsl-erd.md +2 -2
  67. package/skills/external-diagram-mermaid-generate/assets/datamodel/party-model-erd.md +1 -1
  68. package/skills/external-diagram-mermaid-generate/assets/datamodel/quote-order-erd.md +3 -3
  69. package/skills/external-diagram-mermaid-generate/assets/datamodel/revenue-cloud-erd.md +2 -2
  70. package/skills/external-diagram-mermaid-generate/assets/datamodel/sales-cloud-erd.md +1 -1
  71. package/skills/external-diagram-mermaid-generate/assets/datamodel/salesforce-erd.md +1 -1
  72. package/skills/external-diagram-mermaid-generate/assets/datamodel/scheduler-erd.md +2 -2
  73. package/skills/external-diagram-mermaid-generate/assets/datamodel/service-cloud-erd.md +3 -3
  74. package/skills/external-diagram-mermaid-generate/assets/datamodel/territory-management-erd.md +1 -1
  75. package/skills/external-diagram-mermaid-generate/assets/integration/api-sequence.md +1 -1
  76. package/skills/external-diagram-mermaid-generate/assets/oauth/authorization-code-pkce.md +1 -1
  77. package/skills/external-diagram-mermaid-generate/assets/oauth/authorization-code.md +1 -1
  78. package/skills/external-diagram-mermaid-generate/assets/oauth/client-credentials.md +1 -1
  79. package/skills/external-diagram-mermaid-generate/assets/oauth/device-authorization.md +2 -2
  80. package/skills/external-diagram-mermaid-generate/assets/oauth/jwt-bearer.md +2 -2
  81. package/skills/external-diagram-mermaid-generate/assets/oauth/refresh-token.md +1 -1
  82. package/skills/external-diagram-mermaid-generate/assets/oauth/user-agent-social-sign-on.md +2 -2
  83. package/skills/external-diagram-mermaid-generate/assets/role-hierarchy/user-hierarchy.md +1 -1
  84. package/skills/external-diagram-mermaid-generate/references/color-palette.md +13 -13
  85. package/skills/external-diagram-mermaid-generate/references/diagram-conventions.md +5 -5
  86. package/skills/external-diagram-mermaid-generate/references/erd-conventions.md +1 -1
  87. package/skills/external-diagram-mermaid-generate/references/mermaid-styling.md +2 -2
  88. package/skills/external-diagram-mermaid-generate/references/preview-guide.md +1 -1
  89. package/skills/external-diagram-mermaid-generate/references/usage-examples.md +9 -9
  90. package/skills/external-diagram-mermaid-generate/scripts/README.md +1 -1
  91. package/skills/integration-connectivity-connected-app-configure/README.md +4 -5
  92. package/skills/integration-connectivity-connected-app-configure/SKILL.md +2 -2
  93. package/skills/integration-connectivity-connected-app-configure/references/example-usage.md +7 -7
  94. package/skills/integration-connectivity-connected-app-configure/references/migration-guide.md +1 -1
  95. package/skills/integration-connectivity-connected-app-configure/references/oauth-flows-reference.md +1 -1
  96. package/skills/integration-connectivity-connected-app-configure/references/testing-validation-guide.md +3 -3
  97. package/skills/integration-connectivity-generate/README.md +1 -1
  98. package/skills/integration-connectivity-generate/SKILL.md +6 -0
  99. package/skills/integration-connectivity-generate/assets/callouts/rest-queueable-callout.cls +1 -1
  100. package/skills/integration-connectivity-generate/assets/external-services/external-service-operations.md +1 -1
  101. package/skills/integration-connectivity-generate/assets/soap/wsdl2apex-guide.md +1 -1
  102. package/skills/integration-connectivity-generate/references/callout-patterns.md +4 -0
  103. package/skills/integration-connectivity-generate/references/cdc-guide.md +2 -2
  104. package/skills/integration-connectivity-generate/references/event-driven-architecture-guide.md +5 -5
  105. package/skills/integration-connectivity-generate/references/event-patterns.md +3 -2
  106. package/skills/integration-connectivity-generate/references/external-services-guide.md +4 -1
  107. package/skills/integration-connectivity-generate/references/messaging-api-v2.md +2 -2
  108. package/skills/integration-connectivity-generate/references/named-credentials-automation.md +1 -1
  109. package/skills/integration-connectivity-generate/references/named-credentials-guide.md +12 -2
  110. package/skills/integration-connectivity-generate/references/platform-events-guide.md +3 -3
  111. package/skills/integration-connectivity-generate/references/rest-callout-patterns.md +1 -1
  112. package/skills/integration-connectivity-generate/references/scoring-rubric.md +1 -1
  113. package/skills/integration-connectivity-generate/references/security-best-practices.md +5 -2
  114. package/skills/integration-connectivity-generate/scripts/configure-named-credential.sh +16 -5
  115. package/skills/integration-connectivity-generate/scripts/set-api-credential.sh +11 -2
  116. package/skills/integration-connectivity-generate/scripts/suggest_credential_setup.py +4 -3
  117. package/skills/integration-connectivity-generate/scripts/validate_integration.py +1 -1
  118. package/skills/mobile-platform-native-capabilities-integrate/SKILL.md +3 -3
  119. package/skills/omnistudio-callable-apex-generate/README.md +1 -5
  120. package/skills/omnistudio-callable-apex-generate/SKILL.md +14 -4
  121. package/skills/omnistudio-callable-apex-generate/assets/pattern_callable_vanilla.cls +8 -1
  122. package/skills/omnistudio-callable-apex-generate/examples/Test_VlocityOpenInterface2Conversion/TRANSCRIPT.md +1 -1
  123. package/skills/omnistudio-callable-apex-generate/examples/Test_VlocityOpenInterfaceConversion/TRANSCRIPT.md +1 -1
  124. package/skills/omnistudio-datamapper-generate/SKILL.md +1 -1
  125. package/skills/omnistudio-datamapper-generate/assets/completion-summary-template.md +2 -2
  126. package/skills/omnistudio-datamapper-generate/references/best-practices.md +9 -9
  127. package/skills/omnistudio-datamapper-generate/references/naming-conventions.md +6 -6
  128. package/skills/omnistudio-datapacks-deploy/README.md +1 -1
  129. package/skills/omnistudio-datapacks-deploy/examples/business-internet-plus-bundle/deploy-business-internet-plus-bundle.yaml +1 -1
  130. package/skills/omnistudio-dependencies-analyze/SKILL.md +12 -5
  131. package/skills/omnistudio-dependencies-analyze/references/dependency-patterns.md +9 -9
  132. package/skills/omnistudio-dependencies-analyze/references/namespace-guide.md +1 -1
  133. package/skills/omnistudio-epc-catalog-generate/README.md +1 -1
  134. package/skills/omnistudio-flexcard-generate/SKILL.md +11 -4
  135. package/skills/omnistudio-flexcard-generate/references/best-practices.md +6 -6
  136. package/skills/omnistudio-flexcard-generate/references/data-binding-guide.md +9 -9
  137. package/skills/omnistudio-integration-procedure-generate/SKILL.md +9 -1
  138. package/skills/omnistudio-integration-procedure-generate/references/element-types.md +3 -3
  139. package/skills/omnistudio-omniscript-generate/SKILL.md +2 -2
  140. package/skills/omnistudio-omniscript-generate/references/best-practices.md +1 -1
  141. package/skills/omnistudio-omniscript-generate/scripts/check-duplicate-omniscript.sh +8 -0
  142. package/skills/omnistudio-omniscript-generate/scripts/deploy-omniscript.sh +8 -0
  143. package/skills/platform-apex-logs-debug/README.md +2 -2
  144. package/skills/platform-apex-logs-debug/references/cli-commands.md +2 -2
  145. package/skills/platform-apex-logs-debug/references/debug-log-reference.md +16 -16
  146. package/skills/platform-apex-logs-debug/references/log-analysis-tools.md +2 -2
  147. package/skills/platform-apex-test-run/README.md +1 -1
  148. package/skills/platform-apex-test-run/references/test-fix-loop.md +2 -2
  149. package/skills/platform-apex-test-run/references/testing-best-practices.md +3 -3
  150. package/skills/platform-custom-field-generate/SKILL.md +86 -126
  151. package/skills/platform-custom-field-generate/references/advanced-picklists.md +590 -0
  152. package/skills/platform-data-manage/README.md +4 -4
  153. package/skills/platform-data-manage/references/bulk-testing-example.md +1 -1
  154. package/skills/platform-data-manage/references/crud-workflow-example.md +2 -2
  155. package/skills/platform-data-manage/references/orchestration.md +6 -6
  156. package/skills/platform-flexipage-generate/SKILL.md +281 -346
  157. package/skills/platform-flexipage-generate/references/cli_commands.md +39 -0
  158. package/skills/platform-flexipage-generate/references/flexipage_fieldSection.md +162 -0
  159. package/skills/platform-flexipage-generate/references/flexipage_richText.md +84 -0
  160. package/skills/platform-flexipage-generate/references/identifiers_and_regions.md +167 -0
  161. package/skills/platform-flexipage-generate/references/mcp_action_examples.md +104 -0
  162. package/skills/platform-flexipage-generate/references/record_flexipage_dynamicHighlights.md +119 -0
  163. package/skills/platform-flexipage-generate/references/xml_rules.md +335 -0
  164. package/skills/platform-flexipage-generate/scripts/resolve-component-instructions.sh +42 -0
  165. package/skills/platform-flexipage-generate/scripts/scan-lwc-components.sh +113 -0
  166. package/skills/platform-metadata-deploy/README.md +2 -2
  167. package/skills/platform-metadata-deploy/references/agent-deployment-guide.md +2 -2
  168. package/skills/platform-metadata-deploy/references/deployment-workflows.md +16 -16
  169. package/skills/platform-metadata-deploy/references/orchestration.md +3 -3
  170. package/skills/platform-metadata-deploy/references/trigger-deployment-safety.md +2 -2
  171. package/skills/platform-models-api-configure/SKILL.md +140 -0
  172. package/skills/platform-models-api-configure/scripts/get-orgjwt.sh +48 -0
  173. package/skills/platform-policy-rule-generate/SKILL.md +260 -0
  174. package/skills/platform-policy-rule-generate/references/deploy-errors.md +54 -0
  175. package/skills/platform-policy-rule-generate/references/fixtures-index.md +29 -0
  176. package/skills/platform-policy-rule-generate/references/policy-schema-full.md +250 -0
  177. package/skills/platform-policy-rule-generate/references/templates-access.md +132 -0
  178. package/skills/platform-policy-rule-generate/references/templates-advanced.md +58 -0
  179. package/skills/platform-policy-rule-generate/references/templates-record.md +75 -0
  180. package/skills/platform-policy-rule-generate/references/templates-transform.md +70 -0
  181. package/skills/platform-policy-rule-generate/references/templates.md +10 -0
  182. package/skills/platform-policy-rule-generate/references/ui-compatibility.md +142 -0
  183. package/skills/platform-soql-query/README.md +1 -1
  184. package/skills/platform-soql-query/SKILL.md +1 -1
  185. package/skills/platform-soql-query/references/anti-patterns.md +1 -1
  186. package/skills/platform-soql-query/references/field-coverage-rules.md +1 -1
  187. package/skills/platform-soql-query/references/query-optimization.md +1 -1
  188. package/skills/platform-soql-query/scripts/post-tool-validate.py +3 -3
  189. package/skills/platform-value-set-generate/SKILL.md +305 -0
  190. package/skills/data360-activate/CREDITS.md +0 -5
  191. package/skills/data360-connect/CREDITS.md +0 -5
  192. package/skills/data360-harmonize/CREDITS.md +0 -3
  193. package/skills/data360-orchestrate/CREDITS.md +0 -15
  194. package/skills/data360-orchestrate/UPSTREAM.md +0 -45
  195. package/skills/data360-prepare/CREDITS.md +0 -7
  196. package/skills/data360-query/CREDITS.md +0 -7
  197. package/skills/data360-segment/CREDITS.md +0 -3
  198. package/skills/experience-lwc-generate/CREDITS.md +0 -5
  199. package/skills/external-diagram-mermaid-generate/CREDITS.md +0 -46
  200. package/skills/external-diagram-visual-generate/CREDITS.md +0 -80
  201. package/skills/external-diagram-visual-generate/README.md +0 -83
  202. package/skills/external-diagram-visual-generate/SKILL.md +0 -207
  203. package/skills/external-diagram-visual-generate/assets/architecture/integration-flow.md +0 -55
  204. package/skills/external-diagram-visual-generate/assets/erd/core-objects.md +0 -131
  205. package/skills/external-diagram-visual-generate/assets/erd/custom-objects.md +0 -60
  206. package/skills/external-diagram-visual-generate/assets/lwc/dashboard-card.md +0 -45
  207. package/skills/external-diagram-visual-generate/assets/lwc/data-table.md +0 -57
  208. package/skills/external-diagram-visual-generate/assets/lwc/record-form.md +0 -60
  209. package/skills/external-diagram-visual-generate/assets/review/apex-review.md +0 -57
  210. package/skills/external-diagram-visual-generate/assets/review/lwc-review.md +0 -48
  211. package/skills/external-diagram-visual-generate/references/architect-aesthetic-guide.md +0 -257
  212. package/skills/external-diagram-visual-generate/references/examples-index.md +0 -35
  213. package/skills/external-diagram-visual-generate/references/gemini-cli-setup.md +0 -65
  214. package/skills/external-diagram-visual-generate/references/interview-questions.md +0 -529
  215. package/skills/external-diagram-visual-generate/references/iteration-workflow.md +0 -173
  216. package/skills/external-diagram-visual-generate/scripts/check-prerequisites.sh +0 -101
  217. package/skills/external-diagram-visual-generate/scripts/generate_image.py +0 -243
  218. package/skills/integration-connectivity-connected-app-configure/CREDITS.md +0 -3
  219. package/skills/integration-connectivity-generate/CREDITS.md +0 -5
  220. package/skills/omnistudio-callable-apex-generate/CREDITS.md +0 -9
  221. package/skills/omnistudio-datamapper-generate/CREDITS.md +0 -5
  222. package/skills/omnistudio-datapacks-deploy/CREDITS.md +0 -5
  223. package/skills/omnistudio-dependencies-analyze/CREDITS.md +0 -5
  224. package/skills/omnistudio-epc-catalog-generate/CREDITS.md +0 -14
  225. package/skills/omnistudio-flexcard-generate/CREDITS.md +0 -5
  226. package/skills/omnistudio-integration-procedure-generate/CREDITS.md +0 -5
  227. package/skills/omnistudio-omniscript-generate/CREDITS.md +0 -5
  228. package/skills/platform-apex-generate/CREDITS.md +0 -5
  229. package/skills/platform-apex-logs-debug/CREDITS.md +0 -22
  230. package/skills/platform-apex-test-generate/CREDITS.md +0 -5
  231. package/skills/platform-apex-test-run/CREDITS.md +0 -22
  232. package/skills/platform-data-manage/CREDITS.md +0 -5
  233. package/skills/platform-metadata-deploy/CREDITS.md +0 -25
  234. package/skills/platform-soql-query/CREDITS.md +0 -21
  235. /package/skills/omnistudio-callable-apex-generate/examples/Test_VlocityOpenInterfaceConversion/{MyCustomVlocityOpenInterface2.cls → MyCustomClass.cls} +0 -0
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: experience-cms-brand-apply
3
3
  description: "Extracts, retrieves, and applies CMS brand guidelines (voice, tone, style, colors, typography) to generated content. Use this skill ANY TIME a user request involves branding, brand voice, brand tone, brand guidelines, brand identity, brand styling, or applying a brand to content. Triggers for requests like \"apply my brand\", \"use our brand voice\", \"match our brand guidelines\", \"find my brand\", \"search for brand\", \"get brand instructions\", \"apply brand tone\". Handles the full workflow: searching for brands in Salesforce CMS, extracting brand instructions, and applying brand voice/tone/guidelines to generated content. Does not apply to media/image search (use experience-content-media-search skill), logo search, or creating new brand definitions."
4
- compatibility: "Requires get_brand_instructions and/or search_brands MCP tools"
4
+ compatibility: "Requires get_brand_instructions and/or search_media_cms_channels MCP tools"
5
5
  metadata:
6
6
  version: "1.0"
7
7
  ---
@@ -44,7 +44,7 @@ When a user requests branded content:
44
44
 
45
45
  Copy this checklist and track your progress:
46
46
 
47
- ```
47
+ ```text
48
48
  CMS Branding Progress:
49
49
  - [ ] Step 1: Determine if brand is already identified or needs search
50
50
  - [ ] Step 2: Search for brands (if needed) and present options to user
@@ -63,35 +63,63 @@ Check if the user has already specified which brand to use:
63
63
 
64
64
  ## Step 2: Search for Brands
65
65
 
66
- **Tool:** `search_brands`
66
+ **Tool:** `search_media_cms_channels`
67
+
68
+ Brands are stored as CMS content of type `sfdc_cms__brand`. Search for them by
69
+ querying the CMS channels with the brand content type.
70
+
71
+ > **Note:** Brand content search (`contentTypeFqn=sfdc_cms__brand`) is explicitly
72
+ > excluded from the `experience-content-media-search` skill's scope. Calling
73
+ > `search_media_cms_channels` directly here is correct and intentional — do not
74
+ > route brand search through `experience-content-media-search`.
67
75
 
68
76
  **Process:**
69
77
 
70
- 1. **Determine search query** — Use the user's description, company name, or a general keyword
71
- 2. **Build the request:**
78
+ 1. **Determine search query** — Use the user's keyword. Brand search matches on
79
+ brand title and description.
80
+ 2. **Build the request** with the fixed brand-search input contract:
72
81
 
73
82
  ```json
74
83
  {
75
84
  "inputs": [{
76
- "searchQuery": "keyword or brand name"
85
+ "searchKeyword": "keyword",
86
+ "searchLanguage": "<detected_language>",
87
+ "channelType": "PublicUnauthenticated",
88
+ "contentTypeFqn": "sfdc_cms__brand",
89
+ "pageOffset": 0,
90
+ "searchLimit": 25
77
91
  }]
78
92
  }
79
93
  ```
80
94
 
81
- 3. **Call `search_brands`** with the query
82
- 4. **Parse the response** Extract brand results:
95
+ Field rules:
96
+ - `searchKeyword` the user's keyword input
97
+ - `searchLanguage` — auto-detect from the user's input; if unsure, use `en_US`
98
+ - `channelType` — always `PublicUnauthenticated` (brand content is delivered
99
+ via the public CMS channel; authenticated-channel brand search is not
100
+ supported by this tool)
101
+ - `contentTypeFqn` — always `sfdc_cms__brand`
102
+ - `pageOffset` — `0`
103
+ - `searchLimit` — `25`
104
+
105
+ 3. **Call `search_media_cms_channels`** with the request
106
+ 4. **Parse the response** — A brand result has an ID starting with **`9Ps`**. Extract:
83
107
  - `managedContentId` — Unique ID (use this for extraction in Step 3)
84
108
  - `managedContentKey` — Content key identifier
85
109
  - `title` — Brand display name
86
- - `contentUrl` — URL to the brand content
87
- - `totalResults` — Number of brands found
110
+ - `contentUrl` — URL to the brand content, found under
111
+ `managedContentChannelDeliveryDetails[0].contentUrl`
112
+ - `pageNumber`, `pageSize`, `totalResults` — pagination summary
88
113
 
89
114
  ### Presenting Brand Results
90
115
 
91
- **If multiple brands found**, use `ask_followup_question` to present options:
116
+ **If brands found**, first show a summary line, then use `ask_followup_question`
117
+ to present options:
92
118
 
93
- ```
94
- I found [N] brands in your CMS. Which one should I apply?
119
+ ```text
120
+ Showing [N] of [totalResults] total results (page [pageNumber], page size [pageSize]).
121
+
122
+ Which brand should I apply?
95
123
 
96
124
  1. [Brand Title 1]
97
125
  2. [Brand Title 2]
@@ -100,15 +128,18 @@ I found [N] brands in your CMS. Which one should I apply?
100
128
  Which brand would you like to use?
101
129
  ```
102
130
 
131
+ When the user replies with their selection, do NOT perform another search —
132
+ proceed immediately to Step 3.
133
+
103
134
  **If one brand found**, confirm with the user:
104
135
 
105
- ```
136
+ ```text
106
137
  I found the brand "[Brand Title]". Should I apply this brand's guidelines to the content?
107
138
  ```
108
139
 
109
140
  **If no brands found:**
110
141
 
111
- ```
142
+ ```text
112
143
  No brands found in Salesforce CMS. To use branding:
113
144
  1. Create a brand in Salesforce CMS (Content Type: sfdc_cms__brand)
114
145
  2. Provide brand guidelines directly in this conversation
@@ -152,7 +183,7 @@ The extracted brand instructions typically include:
152
183
 
153
184
  | Error | Response |
154
185
  |---|---|
155
- | `search_brands` unavailable | "Brand search is unavailable. Please provide your brand name or guidelines directly." |
186
+ | `search_media_cms_channels` unavailable | "Brand search is unavailable. Please provide your brand name or guidelines directly." |
156
187
  | `get_brand_instructions` unavailable | "Cannot retrieve brand instructions. Please share your brand guidelines in this conversation and I'll apply them manually." |
157
188
  | Org lacks Vibes branding | "CMS branding is not enabled for this org. Contact your admin to enable the Agentforce Vibes branding feature." |
158
189
  | Permission denied | "You don't have permission to access CMS brands. Ensure you have Managed Content Authoring permission." |
@@ -15,7 +15,7 @@ Lightning Web Components development skill with PICKLES architecture methodology
15
15
 
16
16
  ### 1. Invoke the skill
17
17
 
18
- ```
18
+ ```yaml
19
19
  Skill: experience-lwc-generate
20
20
  Request: "Create a data table component for Account records"
21
21
  ```
@@ -39,7 +39,7 @@ The skill generates:
39
39
 
40
40
  ## PICKLES Framework
41
41
 
42
- ```
42
+ ```text
43
43
  P → Prototype │ Validate ideas with wireframes & mock data
44
44
  I → Integrate │ Choose data source (LDS, Apex, GraphQL, API)
45
45
  C → Composition │ Structure component hierarchy & communication
@@ -80,6 +80,7 @@ S → Security │ Enforce permissions, FLS, and data protection
80
80
  | generating-metadata | Create Lightning Message Channels |
81
81
  | platform-metadata-deploy | Deploy component to org |
82
82
 
83
+
83
84
  ## Spring '26 Features (API 66.0)
84
85
 
85
86
  - **lwc:on directive**: Dynamic event binding from JavaScript
@@ -7,7 +7,7 @@ This guide covers real-time notification patterns for Lightning Web Components u
7
7
 
8
8
  ## Overview
9
9
 
10
- ```
10
+ ```text
11
11
  ┌─────────────────────────────────────────────────────────────────────────┐
12
12
  │ ASYNC NOTIFICATION ARCHITECTURE │
13
13
  ├─────────────────────────────────────────────────────────────────────────┤
@@ -154,7 +154,7 @@ LWC can interact with Apex in two ways: **@wire** (reactive/declarative) and **i
154
154
 
155
155
  #### Quick Comparison
156
156
 
157
- ```
157
+ ```text
158
158
  ┌─────────────────────────────────────────────────────────────────────────────────────┐
159
159
  │ WIRE vs IMPERATIVE APEX CALLS │
160
160
  ├──────────────────┬──────────────────────────────┬────────────────────────────────────┤
@@ -254,7 +254,7 @@ export default class ImperativeExample extends LightningElement {
254
254
 
255
255
  #### Decision Tree
256
256
 
257
- ```
257
+ ```text
258
258
  ┌─────────────────────────────┐
259
259
  │ Need to modify data? │
260
260
  │ (Insert/Update/Delete) │
@@ -955,7 +955,7 @@ export default class AccountList extends LightningElement {
955
955
 
956
956
  When two child components need to communicate but share the same parent, use the **parent as middleware**. This is the recommended pattern for master-detail UIs.
957
957
 
958
- ```
958
+ ```text
959
959
  ┌─────────────────────────────────────────────────────────────────────┐
960
960
  │ SIBLING COMMUNICATION FLOW │
961
961
  ├─────────────────────────────────────────────────────────────────────┤
@@ -7,7 +7,7 @@ This guide covers building Lightning Web Components for use in Salesforce Flow S
7
7
 
8
8
  ## Overview
9
9
 
10
- ```
10
+ ```text
11
11
  ┌─────────────────────────────────────────────────────────────────────┐
12
12
  │ FLOW ↔ LWC COMMUNICATION │
13
13
  ├─────────────────────────────────────────────────────────────────────┤
@@ -9,7 +9,7 @@ This guide provides comprehensive best practices for building production-ready L
9
9
 
10
10
  The PICKLES Framework provides a structured approach to LWC architecture. Use it as a checklist during component design and implementation.
11
11
 
12
- ```
12
+ ```text
13
13
  🥒 P - Prototype → Validate ideas with wireframes & mock data
14
14
  🥒 I - Integrate → Choose data source (LDS, Apex, GraphQL)
15
15
  🥒 C - Composition → Structure component hierarchy & communication
@@ -29,7 +29,7 @@ The PICKLES Framework provides a structured approach to LWC architecture. Use it
29
29
 
30
30
  Each component should do one thing well.
31
31
 
32
- ```
32
+ ```text
33
33
  ✅ GOOD: accountCard, accountList, accountForm (separate components)
34
34
  ❌ BAD: accountManager (does display, list, and form in one)
35
35
  ```
@@ -52,7 +52,7 @@ Build complex UIs by composing simple components.
52
52
 
53
53
  Data flows down (props), events bubble up.
54
54
 
55
- ```
55
+ ```text
56
56
  ┌─────────────────────────────────────────────────────────────────┐
57
57
  │ DATA FLOW PATTERN │
58
58
  ├─────────────────────────────────────────────────────────────────┤
@@ -268,7 +268,7 @@ this.dispatchEvent(new CustomEvent('change', {
268
268
 
269
269
  ### Event Naming Conventions
270
270
 
271
- ```
271
+ ```text
272
272
  ✅ GOOD ❌ BAD
273
273
  ──────────────────────── ────────────────────────
274
274
  onselect onSelectItem
@@ -16,7 +16,7 @@
16
16
  | **PICKLES Compliance** | 25 | Architecture methodology adherence (optional) |
17
17
 
18
18
  **Scoring Thresholds**:
19
- ```
19
+ ```text
20
20
  ⭐⭐⭐⭐⭐ 150-165 pts → Production-ready, full SLDS 2 + Dark Mode
21
21
  ⭐⭐⭐⭐ 125-149 pts → Good component, minor styling issues
22
22
  ⭐⭐⭐ 100-124 pts → Functional, needs SLDS cleanup
@@ -11,7 +11,7 @@
11
11
 
12
12
  LWC state management has evolved beyond simple reactive properties. This guide covers modern patterns for managing complex state across components, including the `@lwc/state` library and Salesforce Platform State Managers.
13
13
 
14
- ```
14
+ ```text
15
15
  ┌─────────────────────────────────────────────────────────────────────────────┐
16
16
  │ STATE MANAGEMENT SPECTRUM │
17
17
  ├─────────────────────────────────────────────────────────────────────────────┤
@@ -588,7 +588,7 @@ disconnectedCallback() {
588
588
 
589
589
  ## Best Practices Summary
590
590
 
591
- ```
591
+ ```text
592
592
  ┌─────────────────────────────────────────────────────────────────────────────┐
593
593
  │ STATE MANAGEMENT BEST PRACTICES │
594
594
  ├─────────────────────────────────────────────────────────────────────────────┤
@@ -7,7 +7,7 @@ The **Triangle Architecture** is a foundational Salesforce pattern where Flow, L
7
7
 
8
8
  ## Architecture Overview
9
9
 
10
- ```
10
+ ```text
11
11
  ┌─────────────────────────────────────┐
12
12
  │ FLOW │
13
13
  │ (Orchestrator) │
@@ -54,7 +54,7 @@ The **Triangle Architecture** is a foundational Salesforce pattern where Flow, L
54
54
 
55
55
  **Use Case**: Custom UI component for user selection within a guided Flow.
56
56
 
57
- ```
57
+ ```text
58
58
  ┌─────────┐ @api (in) ┌─────────┐
59
59
  │ FLOW │ ────────────────▶ │ LWC │
60
60
  │ Screen │ │ Screen │
@@ -320,7 +320,7 @@ describe('c-record-selector', () => {
320
320
 
321
321
  When deploying integrated triangle solutions:
322
322
 
323
- ```
323
+ ```text
324
324
  1. APEX CLASSES
325
325
  └── @AuraEnabled controllers (LWC depends on these)
326
326
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env python3
2
2
  """
3
- Post-Tool Validation Hook for generating-lwc-components plugin.
3
+ Post-Tool Validation Hook for experience-lwc-generate plugin.
4
4
 
5
5
  This hook runs AFTER Write or Edit tool completes and provides SLDS 2
6
6
  validation feedback for LWC files (*.html, *.css, *.js).
@@ -38,7 +38,7 @@ for _ca_path in _CODE_ANALYZER_CANDIDATES:
38
38
  break
39
39
 
40
40
  # Also add shared dir for other shared modules
41
- PLUGIN_ROOT = os.path.dirname(os.path.dirname(SCRIPT_DIR)) # generating-lwc-components/
41
+ PLUGIN_ROOT = os.path.dirname(os.path.dirname(SCRIPT_DIR)) # experience-lwc-generate/
42
42
  SKILLS_ROOT = os.path.dirname(PLUGIN_ROOT)
43
43
  SHARED_DIR = os.path.join(SKILLS_ROOT, "shared")
44
44
  if os.path.isdir(SHARED_DIR):
@@ -282,7 +282,7 @@ def format_output(results: Dict) -> str:
282
282
  output_parts.append(f" ... and {remaining} more issues")
283
283
 
284
284
  output_parts.append("─" * 50)
285
- output_parts.append("📚 See: generating-lwc-components/references/template-anti-patterns.md")
285
+ output_parts.append("📚 See: experience-lwc-generate/references/template-anti-patterns.md")
286
286
 
287
287
  return "\n".join(output_parts)
288
288
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  ## Quick Start
21
21
 
22
- ```
22
+ ```text
23
23
  # Generate an OAuth diagram
24
24
  "Create a JWT Bearer OAuth flow diagram"
25
25
 
@@ -85,7 +85,7 @@ sequenceDiagram
85
85
  ```
86
86
 
87
87
  ### ASCII Fallback
88
- ```
88
+ ```text
89
89
  ┌───────────────┐ ┌───────────────┐
90
90
  │ Server │ │ Salesforce │
91
91
  └───────┬───────┘ └───────┬───────┘
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: external-diagram-mermaid-generate
3
- description: "Salesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says \"diagram\", \"visualize\", \"ERD\", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use external-diagram-visual-generate), or asks about non-Salesforce systems."
3
+ description: "Salesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says \"diagram\", \"visualize\", \"ERD\", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user asks about non-Salesforce systems."
4
4
  compatibility: "Requires Mermaid-capable renderer for diagram previews"
5
5
  metadata:
6
6
  version: "1.0"
@@ -20,7 +20,6 @@ Use `external-diagram-mermaid-generate` when the user wants:
20
20
  - diagrams that can live directly in docs, READMEs, or issues
21
21
 
22
22
  ### Out of Scope — Delegate elsewhere when the user wants:
23
- - rendered PNG/SVG images or polished mockups → [external-diagram-visual-generate](../external-diagram-visual-generate/SKILL.md)
24
23
  - non-Salesforce systems only → use a more general diagramming skill
25
24
  - object discovery before an ERD → [platform-custom-object-generate](../platform-custom-object-generate/SKILL.md) or [platform-custom-field-generate](../platform-custom-field-generate/SKILL.md)
26
25
 
@@ -125,7 +124,6 @@ Call out the key relationships, flow direction, and any assumptions.
125
124
  | Need | Delegate to | Reason |
126
125
  |---|---|---|
127
126
  | real object / field definitions | [platform-custom-object-generate](../platform-custom-object-generate/SKILL.md) / [platform-custom-field-generate](../platform-custom-field-generate/SKILL.md) | grounded ERD generation |
128
- | rendered diagram / image output | [external-diagram-visual-generate](../external-diagram-visual-generate/SKILL.md) | visual polish beyond Mermaid |
129
127
  | connected-app auth setup context | [integration-connectivity-connected-app-configure](../integration-connectivity-connected-app-configure/SKILL.md) | accurate OAuth flows |
130
128
  | Agentforce logic visualization | [agentforce-generate](../agentforce-generate/SKILL.md) | source-of-truth behavior details |
131
129
  | Flow behavior diagrams | [automation-flow-generate](../automation-flow-generate/SKILL.md) | actual Flow logic grounding |
@@ -202,7 +202,7 @@ flowchart TD
202
202
 
203
203
  ## ASCII Fallback Template
204
204
 
205
- ```
205
+ ```text
206
206
  ┌─────────────────────────────────────────────────────────────────────────────┐
207
207
  │ 🤖 SERVICE AGENT STRUCTURE │
208
208
  └─────────────────────────────────────────────────────────────────────────────┘
@@ -283,17 +283,17 @@ flowchart TD
283
283
  ## Conversation Flow Patterns
284
284
 
285
285
  ### 1. Linear Flow
286
- ```
286
+ ```text
287
287
  Start → Topic → Action → Response → End
288
288
  ```
289
289
 
290
290
  ### 2. Branching Flow
291
- ```
291
+ ```text
292
292
  Start → Classify → [Topic A | Topic B | Escalate]
293
293
  ```
294
294
 
295
295
  ### 3. Loop Back
296
- ```
296
+ ```text
297
297
  Start → Topic → Action → Validate → [Success | Retry]
298
298
  ```
299
299
 
@@ -268,7 +268,7 @@ flowchart TB
268
268
 
269
269
  ## ASCII Fallback Template
270
270
 
271
- ```
271
+ ```text
272
272
  ┌─────────────────────────────────────────────────────────────────────────────┐
273
273
  │ SYSTEM LANDSCAPE │
274
274
  └─────────────────────────────────────────────────────────────────────────────┘
@@ -107,7 +107,7 @@ flowchart LR
107
107
  ## Key Concepts
108
108
 
109
109
  ### B2B Commerce Flow
110
- ```
110
+ ```text
111
111
  WebStore → ProductCatalog → Product2
112
112
  ↓ ↓
113
113
  BuyerAccount → WebCart → CartItem → Order
@@ -123,7 +123,7 @@ BuyerGroup → Entitlements (What they can see/buy)
123
123
  | BuyerGroup | Pricing/entitlement grouping |
124
124
 
125
125
  ### Entitlement Model
126
- ```
126
+ ```text
127
127
  CommerceEntitlementPolicy
128
128
  ├── CommerceEntitlementProduct (What products)
129
129
  └── CommerceEntitlementBuyerGroup (Who can see)
@@ -223,7 +223,7 @@ flowchart LR
223
223
 
224
224
  ## ASCII Fallback
225
225
 
226
- ```
226
+ ```text
227
227
  ┌─────────────────────────────────────────────────────────────────────────────┐
228
228
  │ B2B COMMERCE DATA MODEL (L→R) │
229
229
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -130,7 +130,7 @@ flowchart LR
130
130
 
131
131
  ## ASCII Fallback
132
132
 
133
- ```
133
+ ```text
134
134
  ┌─────────────────────────────────────────────────────────────────────────────┐
135
135
  │ CAMPAIGNS DATA MODEL (L→R) │
136
136
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -114,7 +114,7 @@ flowchart LR
114
114
  Each contact point links to an Individual.
115
115
 
116
116
  ### Consent Model
117
- ```
117
+ ```text
118
118
  DataUsePurpose → ContactPointConsent ← ContactPoint
119
119
  (e.g., Marketing) (Opt-In/Out) (Email/Phone)
120
120
  ```
@@ -179,7 +179,7 @@ flowchart LR
179
179
 
180
180
  ## ASCII Fallback
181
181
 
182
- ```
182
+ ```text
183
183
  ┌─────────────────────────────────────────────────────────────────────────────┐
184
184
  │ CONSENT DATA MODEL (GDPR/PRIVACY) (L→R) │
185
185
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -86,7 +86,7 @@ flowchart LR
86
86
  ## Key Concepts
87
87
 
88
88
  ### Content Architecture
89
- ```
89
+ ```text
90
90
  ContentDocument (Container)
91
91
  ├── ContentVersion (Current + History)
92
92
  ├── ContentDocumentLink (Sharing to Records)
@@ -177,7 +177,7 @@ flowchart LR
177
177
 
178
178
  ## ASCII Fallback
179
179
 
180
- ```
180
+ ```text
181
181
  ┌─────────────────────────────────────────────────────────────────────────────┐
182
182
  │ SALESFORCE FILES DATA MODEL (L→R) │
183
183
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -114,7 +114,7 @@ flowchart LR
114
114
  | Omitted | Excluded from forecast |
115
115
 
116
116
  ### Forecast Rollup Hierarchy
117
- ```
117
+ ```text
118
118
  CEO
119
119
  └── VP Sales
120
120
  ├── Regional Manager 1
@@ -182,7 +182,7 @@ flowchart LR
182
182
 
183
183
  ## ASCII Fallback
184
184
 
185
- ```
185
+ ```text
186
186
  ┌─────────────────────────────────────────────────────────────────────────────┐
187
187
  │ COLLABORATIVE FORECASTS DATA MODEL (L→R) │
188
188
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -127,7 +127,7 @@ flowchart LR
127
127
  ## Key Concepts
128
128
 
129
129
  ### FSL Object Hierarchy
130
- ```
130
+ ```text
131
131
  Case/Asset → WorkOrder → WorkOrderLineItem → ServiceAppointment
132
132
  ↓ ↓ ↓
133
133
  ProductRequired ProductConsumed AssignedResource
@@ -245,7 +245,7 @@ flowchart LR
245
245
 
246
246
  ## ASCII Fallback
247
247
 
248
- ```
248
+ ```text
249
249
  ┌─────────────────────────────────────────────────────────────────────────────┐
250
250
  │ FIELD SERVICE LIGHTNING DATA MODEL (L→R) │
251
251
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -157,7 +157,7 @@ flowchart LR
157
157
 
158
158
  ## ASCII Fallback
159
159
 
160
- ```
160
+ ```text
161
161
  ┌─────────────────────────────────────────────────────────────────────────────┐
162
162
  │ PARTY MODEL (INDUSTRY CLOUD) DATA MODEL (L→R) │
163
163
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -102,7 +102,7 @@ flowchart LR
102
102
  ## Key Concepts
103
103
 
104
104
  ### Quote-to-Cash Flow
105
- ```
105
+ ```text
106
106
  Opportunity → Quote → Order → Invoice → Payment
107
107
  ↓ ↓ ↓
108
108
  OLI QLI OrderItem
@@ -121,7 +121,7 @@ Opportunity → Quote → Order → Invoice → Payment
121
121
  | Reduction Orders | Negative quantity adjustments |
122
122
 
123
123
  ### Pricebook Structure
124
- ```
124
+ ```text
125
125
  Pricebook2 (Standard + Custom)
126
126
 
127
127
  PricebookEntry (Product + Price per Pricebook)
@@ -176,7 +176,7 @@ flowchart LR
176
176
 
177
177
  ## ASCII Fallback
178
178
 
179
- ```
179
+ ```text
180
180
  ┌─────────────────────────────────────────────────────────────────────────────┐
181
181
  │ QUOTE & ORDER DATA MODEL (L→R) │
182
182
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -109,7 +109,7 @@ flowchart LR
109
109
  | **Dynamic Revenue Orchestration** | Guided selling |
110
110
 
111
111
  ### Product Hierarchy
112
- ```
112
+ ```text
113
113
  ProductCatalog
114
114
  └── ProductCategory (Hierarchy)
115
115
  └── Product2
@@ -244,7 +244,7 @@ flowchart LR
244
244
 
245
245
  ## ASCII Fallback
246
246
 
247
- ```
247
+ ```text
248
248
  ┌─────────────────────────────────────────────────────────────────────────────┐
249
249
  │ REVENUE CLOUD DATA MODEL (L→R) │
250
250
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -116,7 +116,7 @@ flowchart LR
116
116
 
117
117
  ## ASCII Fallback
118
118
 
119
- ```
119
+ ```text
120
120
  ┌─────────────────────────────────────────────────────────────────────────────┐
121
121
  │ SALES CLOUD DATA MODEL (L→R) │
122
122
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>), -.-> = converts │
@@ -94,7 +94,7 @@ flowchart LR
94
94
 
95
95
  ## ASCII Fallback Template
96
96
 
97
- ```
97
+ ```text
98
98
  ┌─────────────────────────────────────────────────────────────────────────────┐
99
99
  │ DATA MODEL (L→R) │
100
100
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -112,7 +112,7 @@ flowchart LR
112
112
  ## Key Concepts
113
113
 
114
114
  ### Scheduling Flow
115
- ```
115
+ ```text
116
116
  Customer (Contact) → WorkType → ServiceAppointment ← ServiceResource
117
117
 
118
118
  ServiceTerritory
@@ -184,7 +184,7 @@ flowchart LR
184
184
 
185
185
  ## ASCII Fallback
186
186
 
187
- ```
187
+ ```text
188
188
  ┌─────────────────────────────────────────────────────────────────────────────┐
189
189
  │ SALESFORCE SCHEDULER DATA MODEL (L→R) │
190
190
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -120,7 +120,7 @@ flowchart LR
120
120
 
121
121
  ## ASCII Fallback
122
122
 
123
- ```
123
+ ```text
124
124
  ┌─────────────────────────────────────────────────────────────────────────────┐
125
125
  │ SERVICE CLOUD DATA MODEL (L→R) │
126
126
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
@@ -173,14 +173,14 @@ flowchart LR
173
173
  ## Service Cloud Patterns
174
174
 
175
175
  ### Case Flow
176
- ```
176
+ ```text
177
177
  Customer → Contact → Case → CaseComment
178
178
 
179
179
  Entitlement (SLA)
180
180
  ```
181
181
 
182
182
  ### Entitlement Coverage
183
- ```
183
+ ```text
184
184
  Account → ServiceContract → Entitlement → Case
185
185
  └─────────────────────────────────────┘
186
186
  (direct)
@@ -162,7 +162,7 @@ flowchart LR
162
162
 
163
163
  ## ASCII Fallback
164
164
 
165
- ```
165
+ ```text
166
166
  ┌─────────────────────────────────────────────────────────────────────────────┐
167
167
  │ ENTERPRISE TERRITORY MANAGEMENT DATA MODEL (L→R) │
168
168
  │ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │