@salesforce/afv-skills 1.29.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 (205) 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/experience-cms-brand-apply/SKILL.md +47 -16
  21. package/skills/experience-lwc-generate/README.md +3 -2
  22. package/skills/experience-lwc-generate/references/async-notification-patterns.md +1 -1
  23. package/skills/experience-lwc-generate/references/component-patterns.md +3 -3
  24. package/skills/experience-lwc-generate/references/flow-integration-guide.md +1 -1
  25. package/skills/experience-lwc-generate/references/lwc-best-practices.md +4 -4
  26. package/skills/experience-lwc-generate/references/scoring-and-testing.md +1 -1
  27. package/skills/experience-lwc-generate/references/state-management.md +2 -2
  28. package/skills/experience-lwc-generate/references/triangle-pattern.md +3 -3
  29. package/skills/experience-lwc-generate/scripts/post-tool-validate.py +2 -2
  30. package/skills/experience-lwc-generate/scripts/template_validator.py +1 -1
  31. package/skills/external-diagram-mermaid-generate/README.md +2 -2
  32. package/skills/external-diagram-mermaid-generate/SKILL.md +1 -3
  33. package/skills/external-diagram-mermaid-generate/assets/agentforce/agent-flow.md +4 -4
  34. package/skills/external-diagram-mermaid-generate/assets/architecture/system-landscape.md +1 -1
  35. package/skills/external-diagram-mermaid-generate/assets/datamodel/b2b-commerce-erd.md +3 -3
  36. package/skills/external-diagram-mermaid-generate/assets/datamodel/campaigns-erd.md +1 -1
  37. package/skills/external-diagram-mermaid-generate/assets/datamodel/consent-erd.md +2 -2
  38. package/skills/external-diagram-mermaid-generate/assets/datamodel/files-erd.md +2 -2
  39. package/skills/external-diagram-mermaid-generate/assets/datamodel/forecasting-erd.md +2 -2
  40. package/skills/external-diagram-mermaid-generate/assets/datamodel/fsl-erd.md +2 -2
  41. package/skills/external-diagram-mermaid-generate/assets/datamodel/party-model-erd.md +1 -1
  42. package/skills/external-diagram-mermaid-generate/assets/datamodel/quote-order-erd.md +3 -3
  43. package/skills/external-diagram-mermaid-generate/assets/datamodel/revenue-cloud-erd.md +2 -2
  44. package/skills/external-diagram-mermaid-generate/assets/datamodel/sales-cloud-erd.md +1 -1
  45. package/skills/external-diagram-mermaid-generate/assets/datamodel/salesforce-erd.md +1 -1
  46. package/skills/external-diagram-mermaid-generate/assets/datamodel/scheduler-erd.md +2 -2
  47. package/skills/external-diagram-mermaid-generate/assets/datamodel/service-cloud-erd.md +3 -3
  48. package/skills/external-diagram-mermaid-generate/assets/datamodel/territory-management-erd.md +1 -1
  49. package/skills/external-diagram-mermaid-generate/assets/integration/api-sequence.md +1 -1
  50. package/skills/external-diagram-mermaid-generate/assets/oauth/authorization-code-pkce.md +1 -1
  51. package/skills/external-diagram-mermaid-generate/assets/oauth/authorization-code.md +1 -1
  52. package/skills/external-diagram-mermaid-generate/assets/oauth/client-credentials.md +1 -1
  53. package/skills/external-diagram-mermaid-generate/assets/oauth/device-authorization.md +2 -2
  54. package/skills/external-diagram-mermaid-generate/assets/oauth/jwt-bearer.md +2 -2
  55. package/skills/external-diagram-mermaid-generate/assets/oauth/refresh-token.md +1 -1
  56. package/skills/external-diagram-mermaid-generate/assets/oauth/user-agent-social-sign-on.md +2 -2
  57. package/skills/external-diagram-mermaid-generate/assets/role-hierarchy/user-hierarchy.md +1 -1
  58. package/skills/external-diagram-mermaid-generate/references/color-palette.md +13 -13
  59. package/skills/external-diagram-mermaid-generate/references/diagram-conventions.md +5 -5
  60. package/skills/external-diagram-mermaid-generate/references/erd-conventions.md +1 -1
  61. package/skills/external-diagram-mermaid-generate/references/mermaid-styling.md +2 -2
  62. package/skills/external-diagram-mermaid-generate/references/preview-guide.md +1 -1
  63. package/skills/external-diagram-mermaid-generate/references/usage-examples.md +9 -9
  64. package/skills/external-diagram-mermaid-generate/scripts/README.md +1 -1
  65. package/skills/integration-connectivity-connected-app-configure/README.md +4 -5
  66. package/skills/integration-connectivity-connected-app-configure/SKILL.md +2 -2
  67. package/skills/integration-connectivity-connected-app-configure/references/example-usage.md +7 -7
  68. package/skills/integration-connectivity-connected-app-configure/references/migration-guide.md +1 -1
  69. package/skills/integration-connectivity-connected-app-configure/references/oauth-flows-reference.md +1 -1
  70. package/skills/integration-connectivity-connected-app-configure/references/testing-validation-guide.md +3 -3
  71. package/skills/integration-connectivity-generate/README.md +1 -1
  72. package/skills/integration-connectivity-generate/SKILL.md +6 -0
  73. package/skills/integration-connectivity-generate/assets/callouts/rest-queueable-callout.cls +1 -1
  74. package/skills/integration-connectivity-generate/assets/external-services/external-service-operations.md +1 -1
  75. package/skills/integration-connectivity-generate/assets/soap/wsdl2apex-guide.md +1 -1
  76. package/skills/integration-connectivity-generate/references/callout-patterns.md +4 -0
  77. package/skills/integration-connectivity-generate/references/cdc-guide.md +2 -2
  78. package/skills/integration-connectivity-generate/references/event-driven-architecture-guide.md +5 -5
  79. package/skills/integration-connectivity-generate/references/event-patterns.md +3 -2
  80. package/skills/integration-connectivity-generate/references/external-services-guide.md +4 -1
  81. package/skills/integration-connectivity-generate/references/messaging-api-v2.md +2 -2
  82. package/skills/integration-connectivity-generate/references/named-credentials-automation.md +1 -1
  83. package/skills/integration-connectivity-generate/references/named-credentials-guide.md +12 -2
  84. package/skills/integration-connectivity-generate/references/platform-events-guide.md +3 -3
  85. package/skills/integration-connectivity-generate/references/rest-callout-patterns.md +1 -1
  86. package/skills/integration-connectivity-generate/references/scoring-rubric.md +1 -1
  87. package/skills/integration-connectivity-generate/references/security-best-practices.md +5 -2
  88. package/skills/integration-connectivity-generate/scripts/configure-named-credential.sh +16 -5
  89. package/skills/integration-connectivity-generate/scripts/set-api-credential.sh +11 -2
  90. package/skills/integration-connectivity-generate/scripts/suggest_credential_setup.py +4 -3
  91. package/skills/integration-connectivity-generate/scripts/validate_integration.py +1 -1
  92. package/skills/omnistudio-callable-apex-generate/README.md +1 -5
  93. package/skills/omnistudio-callable-apex-generate/SKILL.md +14 -4
  94. package/skills/omnistudio-callable-apex-generate/assets/pattern_callable_vanilla.cls +8 -1
  95. package/skills/omnistudio-callable-apex-generate/examples/Test_VlocityOpenInterface2Conversion/TRANSCRIPT.md +1 -1
  96. package/skills/omnistudio-callable-apex-generate/examples/Test_VlocityOpenInterfaceConversion/TRANSCRIPT.md +1 -1
  97. package/skills/omnistudio-datamapper-generate/SKILL.md +1 -1
  98. package/skills/omnistudio-datamapper-generate/assets/completion-summary-template.md +2 -2
  99. package/skills/omnistudio-datamapper-generate/references/best-practices.md +9 -9
  100. package/skills/omnistudio-datamapper-generate/references/naming-conventions.md +6 -6
  101. package/skills/omnistudio-datapacks-deploy/README.md +1 -1
  102. package/skills/omnistudio-datapacks-deploy/examples/business-internet-plus-bundle/deploy-business-internet-plus-bundle.yaml +1 -1
  103. package/skills/omnistudio-dependencies-analyze/SKILL.md +12 -5
  104. package/skills/omnistudio-dependencies-analyze/references/dependency-patterns.md +9 -9
  105. package/skills/omnistudio-dependencies-analyze/references/namespace-guide.md +1 -1
  106. package/skills/omnistudio-epc-catalog-generate/README.md +1 -1
  107. package/skills/omnistudio-flexcard-generate/SKILL.md +11 -4
  108. package/skills/omnistudio-flexcard-generate/references/best-practices.md +6 -6
  109. package/skills/omnistudio-flexcard-generate/references/data-binding-guide.md +9 -9
  110. package/skills/omnistudio-integration-procedure-generate/SKILL.md +9 -1
  111. package/skills/omnistudio-integration-procedure-generate/references/element-types.md +3 -3
  112. package/skills/omnistudio-omniscript-generate/SKILL.md +2 -2
  113. package/skills/omnistudio-omniscript-generate/references/best-practices.md +1 -1
  114. package/skills/omnistudio-omniscript-generate/scripts/check-duplicate-omniscript.sh +8 -0
  115. package/skills/omnistudio-omniscript-generate/scripts/deploy-omniscript.sh +8 -0
  116. package/skills/platform-apex-logs-debug/README.md +2 -2
  117. package/skills/platform-apex-logs-debug/references/cli-commands.md +2 -2
  118. package/skills/platform-apex-logs-debug/references/debug-log-reference.md +16 -16
  119. package/skills/platform-apex-logs-debug/references/log-analysis-tools.md +2 -2
  120. package/skills/platform-apex-test-run/README.md +1 -1
  121. package/skills/platform-apex-test-run/references/test-fix-loop.md +2 -2
  122. package/skills/platform-apex-test-run/references/testing-best-practices.md +3 -3
  123. package/skills/platform-data-manage/README.md +4 -4
  124. package/skills/platform-data-manage/references/bulk-testing-example.md +1 -1
  125. package/skills/platform-data-manage/references/crud-workflow-example.md +2 -2
  126. package/skills/platform-data-manage/references/orchestration.md +6 -6
  127. package/skills/platform-flexipage-generate/SKILL.md +281 -346
  128. package/skills/platform-flexipage-generate/references/cli_commands.md +39 -0
  129. package/skills/platform-flexipage-generate/references/flexipage_fieldSection.md +162 -0
  130. package/skills/platform-flexipage-generate/references/flexipage_richText.md +84 -0
  131. package/skills/platform-flexipage-generate/references/identifiers_and_regions.md +167 -0
  132. package/skills/platform-flexipage-generate/references/mcp_action_examples.md +104 -0
  133. package/skills/platform-flexipage-generate/references/record_flexipage_dynamicHighlights.md +119 -0
  134. package/skills/platform-flexipage-generate/references/xml_rules.md +335 -0
  135. package/skills/platform-flexipage-generate/scripts/resolve-component-instructions.sh +42 -0
  136. package/skills/platform-flexipage-generate/scripts/scan-lwc-components.sh +113 -0
  137. package/skills/platform-metadata-deploy/README.md +2 -2
  138. package/skills/platform-metadata-deploy/references/agent-deployment-guide.md +2 -2
  139. package/skills/platform-metadata-deploy/references/deployment-workflows.md +16 -16
  140. package/skills/platform-metadata-deploy/references/orchestration.md +3 -3
  141. package/skills/platform-metadata-deploy/references/trigger-deployment-safety.md +2 -2
  142. package/skills/platform-models-api-configure/SKILL.md +140 -0
  143. package/skills/platform-models-api-configure/scripts/get-orgjwt.sh +48 -0
  144. package/skills/platform-policy-rule-generate/SKILL.md +260 -0
  145. package/skills/platform-policy-rule-generate/references/deploy-errors.md +54 -0
  146. package/skills/platform-policy-rule-generate/references/fixtures-index.md +29 -0
  147. package/skills/platform-policy-rule-generate/references/policy-schema-full.md +250 -0
  148. package/skills/platform-policy-rule-generate/references/templates-access.md +132 -0
  149. package/skills/platform-policy-rule-generate/references/templates-advanced.md +58 -0
  150. package/skills/platform-policy-rule-generate/references/templates-record.md +75 -0
  151. package/skills/platform-policy-rule-generate/references/templates-transform.md +70 -0
  152. package/skills/platform-policy-rule-generate/references/templates.md +10 -0
  153. package/skills/platform-policy-rule-generate/references/ui-compatibility.md +142 -0
  154. package/skills/platform-soql-query/README.md +1 -1
  155. package/skills/platform-soql-query/SKILL.md +1 -1
  156. package/skills/platform-soql-query/references/anti-patterns.md +1 -1
  157. package/skills/platform-soql-query/references/field-coverage-rules.md +1 -1
  158. package/skills/platform-soql-query/references/query-optimization.md +1 -1
  159. package/skills/platform-soql-query/scripts/post-tool-validate.py +3 -3
  160. package/skills/data360-activate/CREDITS.md +0 -5
  161. package/skills/data360-connect/CREDITS.md +0 -5
  162. package/skills/data360-harmonize/CREDITS.md +0 -3
  163. package/skills/data360-orchestrate/CREDITS.md +0 -15
  164. package/skills/data360-orchestrate/UPSTREAM.md +0 -45
  165. package/skills/data360-prepare/CREDITS.md +0 -7
  166. package/skills/data360-query/CREDITS.md +0 -7
  167. package/skills/data360-segment/CREDITS.md +0 -3
  168. package/skills/experience-lwc-generate/CREDITS.md +0 -5
  169. package/skills/external-diagram-mermaid-generate/CREDITS.md +0 -46
  170. package/skills/external-diagram-visual-generate/CREDITS.md +0 -80
  171. package/skills/external-diagram-visual-generate/README.md +0 -83
  172. package/skills/external-diagram-visual-generate/SKILL.md +0 -207
  173. package/skills/external-diagram-visual-generate/assets/architecture/integration-flow.md +0 -55
  174. package/skills/external-diagram-visual-generate/assets/erd/core-objects.md +0 -131
  175. package/skills/external-diagram-visual-generate/assets/erd/custom-objects.md +0 -60
  176. package/skills/external-diagram-visual-generate/assets/lwc/dashboard-card.md +0 -45
  177. package/skills/external-diagram-visual-generate/assets/lwc/data-table.md +0 -57
  178. package/skills/external-diagram-visual-generate/assets/lwc/record-form.md +0 -60
  179. package/skills/external-diagram-visual-generate/assets/review/apex-review.md +0 -57
  180. package/skills/external-diagram-visual-generate/assets/review/lwc-review.md +0 -48
  181. package/skills/external-diagram-visual-generate/references/architect-aesthetic-guide.md +0 -257
  182. package/skills/external-diagram-visual-generate/references/examples-index.md +0 -35
  183. package/skills/external-diagram-visual-generate/references/gemini-cli-setup.md +0 -65
  184. package/skills/external-diagram-visual-generate/references/interview-questions.md +0 -529
  185. package/skills/external-diagram-visual-generate/references/iteration-workflow.md +0 -173
  186. package/skills/external-diagram-visual-generate/scripts/check-prerequisites.sh +0 -101
  187. package/skills/external-diagram-visual-generate/scripts/generate_image.py +0 -243
  188. package/skills/integration-connectivity-connected-app-configure/CREDITS.md +0 -3
  189. package/skills/integration-connectivity-generate/CREDITS.md +0 -5
  190. package/skills/omnistudio-callable-apex-generate/CREDITS.md +0 -9
  191. package/skills/omnistudio-datamapper-generate/CREDITS.md +0 -5
  192. package/skills/omnistudio-datapacks-deploy/CREDITS.md +0 -5
  193. package/skills/omnistudio-dependencies-analyze/CREDITS.md +0 -5
  194. package/skills/omnistudio-epc-catalog-generate/CREDITS.md +0 -14
  195. package/skills/omnistudio-flexcard-generate/CREDITS.md +0 -5
  196. package/skills/omnistudio-integration-procedure-generate/CREDITS.md +0 -5
  197. package/skills/omnistudio-omniscript-generate/CREDITS.md +0 -5
  198. package/skills/platform-apex-generate/CREDITS.md +0 -5
  199. package/skills/platform-apex-logs-debug/CREDITS.md +0 -22
  200. package/skills/platform-apex-test-generate/CREDITS.md +0 -5
  201. package/skills/platform-apex-test-run/CREDITS.md +0 -22
  202. package/skills/platform-data-manage/CREDITS.md +0 -5
  203. package/skills/platform-metadata-deploy/CREDITS.md +0 -25
  204. package/skills/platform-soql-query/CREDITS.md +0 -21
  205. /package/skills/omnistudio-callable-apex-generate/examples/Test_VlocityOpenInterfaceConversion/{MyCustomVlocityOpenInterface2.cls → MyCustomClass.cls} +0 -0
package/README.md CHANGED
@@ -4,6 +4,8 @@ This repository provides a curated collection of Salesforce agent skills for bui
4
4
 
5
5
  The skills are contributed by Salesforce and the broader community. It’s optimized for Agentforce Vibes and can be used with any AI tool that supports skills.
6
6
 
7
+ > ⚠️ **Expect frequent changes.** The Salesforce skills library is evolving rapidly as we refine patterns and incorporate feedback. Skills may be renamed, restructured, or removed between releases — they do not follow the same stability guarantees as GA platform APIs. If you’ve forked or synced the repository, be prepared for upstream changes that may conflict with local modifications. This repository is always the source of truth.
8
+
7
9
  ## 🗂️ Structure
8
10
 
9
11
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/afv-skills",
3
- "version": "1.29.0",
3
+ "version": "1.30.0",
4
4
  "description": "Salesforce skills for Agentforce Vibes",
5
5
  "license": "CC-BY-NC-4.0",
6
6
  "files": [
@@ -44,7 +44,7 @@ See `SKILL.md` for the full flag table and sample prompts.
44
44
 
45
45
  ## Directory layout
46
46
 
47
- ```
47
+ ```text
48
48
  agentforce-architecture-analyze/
49
49
  ├── SKILL.md Skill contract (inputs, outputs, pipeline, invariants)
50
50
  ├── README.md This file
@@ -86,7 +86,7 @@ agentforce-architecture-analyze/
86
86
 
87
87
  ### Channel strategy — SOQL-first
88
88
 
89
- ```
89
+ ```text
90
90
  Seed query: planner_definition_by_agent_chain (chain-LIKE lookup → planner id)
91
91
 
92
92
  6 parallel Tooling SOQL channels (keyed on the resolved planner id):
@@ -147,9 +147,3 @@ Per-branch ancestor-path cycle detection is the primary termination primitive: t
147
147
  | `INVALID_FIELD` from a SOQL asset | Salesforce renamed / removed the field in a quarterly release. Run with `--reprobe` to refresh the 7-day channel cache and pick up the new schema |
148
148
  | `STATUS=PROBE_FAILED` on first run | Channel probe saw a mandatory field missing. Check `channels.json` under the probe cache dir for which sObject / field — may require org-side feature enablement |
149
149
  | Tree for classic ReAct agent shows `_unresolved` entries for NGA plugins | Expected — the NGA external-plugin retrieve is skipped when the planner shape is classic. Those entries can be ignored |
150
-
151
- ---
152
-
153
- ## Author
154
-
155
- Raghul Jayagopal (RJ), Salesforce ANZ FDE.
@@ -157,14 +157,14 @@ exit "$_rc"
157
157
 
158
158
  All artifacts under `~/.vibe/data/agentforce-architecture-analyze/<org_id15>/<agent_api_name>__<agent_version>/` (default; override with `--data-dir <path>`):
159
159
 
160
- ```
160
+ ```xml
161
161
  <agent>_<ver>_metadata_tree.json primary artifact — normalized planner/topic/action/flow/apex/prompt/plugin tree
162
162
  <agent>_<ver>_architecture.md human-readable section-by-section rendering (H1 + 7 numbered sections, plus a conditional Dependency graph appendix). Mermaid diagrams are embedded inside the relevant sections (Action tree, Data flow, and Dependency graph)
163
163
  ```
164
164
 
165
165
  ## Pipeline — inline, no subagent
166
166
 
167
- ```
167
+ ```text
168
168
  resolve_bot.py → BotDefinition + BotVersion + planner name lookup
169
169
  retrieve_planner.py → Metadata API zip retrieve for GenAiPlannerBundle (+ NGA plugins if present)
170
170
  parallel_retrieve.py → 6 parallel Tooling SOQL channels fan out from the planner id
@@ -1,5 +1,5 @@
1
1
  {
2
- "_doc": "retired-name references replaced with plugin-scoped layout. Machine-readable I/O contract for investigating-agentforce-architecture. Orchestrator code reads this file (not SKILL.md prose) to discover the input schema, output keys, STATUS enum, and error-contract rules. The architecture skill runs inline (no subagent).",
2
+ "_doc": "retired-name references replaced with plugin-scoped layout. Machine-readable I/O contract for agentforce-architecture-analyze. Orchestrator code reads this file (not SKILL.md prose) to discover the input schema, output keys, STATUS enum, and error-contract rules. The architecture skill runs inline (no subagent).",
3
3
  "_schema_version": "3.1",
4
4
  "_schema_notes": "3.1 (2026-05-05) canonicalizes `invocation_type` on STANDARD_ACTION / UNKNOWN nodes in the metadata tree. Prior versions split this across `raw_invocation_type` (bundle-sourced nodes) and `raw_action_type` (flow-actionCall-sourced nodes). Both legacy keys are still tolerated by readers for one release.",
5
5
  "input": {
@@ -35,15 +35,15 @@
35
35
  },
36
36
  "work_dir": {
37
37
  "type": "absolute_path",
38
- "description": "Ephemeral scratch. Default: /tmp/investigating-agentforce-architecture-<epoch>-<rand>."
38
+ "description": "Ephemeral scratch. Default: /tmp/agentforce-architecture-analyze-<epoch>-<rand>."
39
39
  },
40
40
  "cache_root": {
41
41
  "type": "absolute_path",
42
- "description": "Internal rebuildable cache root. Default: ~/.vibe/cache/investigating-agentforce-architecture. Override with --cache-dir <path>."
42
+ "description": "Internal rebuildable cache root. Default: ~/.vibe/cache/agentforce-architecture-analyze. Override with --cache-dir <path>."
43
43
  },
44
44
  "data_root": {
45
45
  "type": "absolute_path",
46
- "description": "Durable user-facing output root. Default: ~/.vibe/data/investigating-agentforce-architecture. Override with --data-dir <path>."
46
+ "description": "Durable user-facing output root. Default: ~/.vibe/data/agentforce-architecture-analyze. Override with --data-dir <path>."
47
47
  },
48
48
  "force_refresh": {
49
49
  "type": "boolean",
@@ -64,7 +64,7 @@ Every edge is strictly **forward** from the entry query
64
64
  (`GenAiPlannerDefinition WHERE DeveloperName = :planner_name`). No
65
65
  backward lookups.
66
66
 
67
- ```
67
+ ```text
68
68
  BotDefinition (Data API, PK Id, matched by DeveloperName)
69
69
  └── BotVersion (Data API, FK BotDefinitionId)
70
70
  │ [resolved to planner name via Bot metadata retrieve]
@@ -36,4 +36,3 @@ sf data360 data-action-target list -o myorg 2>/dev/null
36
36
  - [../data360-orchestrate/assets/definitions/data-action-target.template.json](../data360-orchestrate/assets/definitions/data-action-target.template.json)
37
37
  - [../data360-orchestrate/assets/definitions/data-action.template.json](../data360-orchestrate/assets/definitions/data-action.template.json)
38
38
  - [../data360-orchestrate/references/plugin-setup.md](../data360-orchestrate/references/plugin-setup.md)
39
- - [CREDITS.md](CREDITS.md)
@@ -107,11 +107,9 @@ Next step: <destination validation or downstream testing>
107
107
 
108
108
  ## References
109
109
 
110
- - [README.md](README.md)
111
110
  - [../data360-orchestrate/assets/definitions/activation-target.template.json](../data360-orchestrate/assets/definitions/activation-target.template.json)
112
111
  - [../data360-orchestrate/assets/definitions/activation.template.json](../data360-orchestrate/assets/definitions/activation.template.json)
113
112
  - [../data360-orchestrate/assets/definitions/data-action-target.template.json](../data360-orchestrate/assets/definitions/data-action-target.template.json)
114
113
  - [../data360-orchestrate/assets/definitions/data-action.template.json](../data360-orchestrate/assets/definitions/data-action.template.json)
115
- - [../data360-orchestrate/UPSTREAM.md](../data360-orchestrate/UPSTREAM.md)
116
114
  - [../data360-orchestrate/references/plugin-setup.md](../data360-orchestrate/references/plugin-setup.md)
117
115
  - [../data360-orchestrate/references/feature-readiness.md](../data360-orchestrate/references/feature-readiness.md)
@@ -55,5 +55,3 @@ sf data360 connection schema-upsert -o myorg --name <connector-id> -f examples/c
55
55
 
56
56
  - [SKILL.md](SKILL.md)
57
57
  - [../data360-orchestrate/references/plugin-setup.md](../data360-orchestrate/references/plugin-setup.md)
58
- - [../data360-orchestrate/UPSTREAM.md](../data360-orchestrate/UPSTREAM.md)
59
- - [CREDITS.md](CREDITS.md)
@@ -142,7 +142,6 @@ Next step: <prepare phase or connector follow-up>
142
142
 
143
143
  ## References
144
144
 
145
- - [README.md](README.md)
146
145
  - [examples/connections/heroku-postgres.json](examples/connections/heroku-postgres.json)
147
146
  - [examples/connections/redshift.json](examples/connections/redshift.json)
148
147
  - [examples/connections/sharepoint-unstructured.json](examples/connections/sharepoint-unstructured.json)
@@ -151,4 +150,3 @@ Next step: <prepare phase or connector follow-up>
151
150
  - [examples/connections/ingest-api-schema.json](examples/connections/ingest-api-schema.json)
152
151
  - [../data360-orchestrate/references/plugin-setup.md](../data360-orchestrate/references/plugin-setup.md)
153
152
  - [../data360-orchestrate/references/feature-readiness.md](../data360-orchestrate/references/feature-readiness.md)
154
- - [../data360-orchestrate/UPSTREAM.md](../data360-orchestrate/UPSTREAM.md)
@@ -107,7 +107,6 @@ Next step: <segment / retrieve / follow-up>
107
107
 
108
108
  ## References
109
109
 
110
- - [README.md](README.md)
111
110
  - [../data360-orchestrate/assets/definitions/dmo.template.json](../data360-orchestrate/assets/definitions/dmo.template.json)
112
111
  - [../data360-orchestrate/assets/definitions/mapping.template.json](../data360-orchestrate/assets/definitions/mapping.template.json)
113
112
  - [../data360-orchestrate/assets/definitions/relationship.template.json](../data360-orchestrate/assets/definitions/relationship.template.json)
@@ -47,7 +47,6 @@ See [references/plugin-setup.md](references/plugin-setup.md).
47
47
  | [scripts/diagnose-org.mjs](scripts/diagnose-org.mjs) | Classify org readiness by phase before mutating Data Cloud assets |
48
48
  | [references/feature-readiness.md](references/feature-readiness.md) | Map high-signal errors and feature gates to concrete next steps |
49
49
  | [assets/definitions/](assets/definitions/) | Generic JSON templates for repeatable Data Cloud definition files |
50
- | [UPSTREAM.md](UPSTREAM.md) | Upstream mapping for future distillation and maintenance |
51
50
 
52
51
  ## Generic templates
53
52
 
@@ -119,9 +118,3 @@ sf data360 activation platforms -o myorg 2>/dev/null
119
118
  - [SKILL.md](SKILL.md) - Orchestrator guidance
120
119
  - [references/plugin-setup.md](references/plugin-setup.md) - Plugin install and verification
121
120
  - [references/feature-readiness.md](references/feature-readiness.md) - Readiness classification and setup guidance
122
- - [UPSTREAM.md](UPSTREAM.md) - Upstream tracking and distillation policy
123
- - [CREDITS.md](CREDITS.md) - Contributor and source attribution
124
-
125
- ## Primary contributor
126
-
127
- **Gnanasekaran Thoppae** — primary contributor for the data360-orchestrate family.
@@ -215,10 +215,8 @@ Next step: <next phase, setup guidance, or cross-skill handoff>
215
215
  ## Reference Map
216
216
 
217
217
  ### Start here
218
- - [README.md](README.md)
219
218
  - [references/plugin-setup.md](references/plugin-setup.md)
220
219
  - [references/feature-readiness.md](references/feature-readiness.md)
221
- - [UPSTREAM.md](UPSTREAM.md)
222
220
 
223
221
  ### Phase skills
224
222
  - [data360-connect](../data360-connect/SKILL.md)
@@ -48,4 +48,3 @@ sf data360 connection run-existing -o myorg --name <connection-id> 2>/dev/null
48
48
  - [SKILL.md](SKILL.md)
49
49
  - [examples/ingestion-api/README.md](examples/ingestion-api/README.md)
50
50
  - [../data360-orchestrate/assets/definitions/data-stream.template.json](../data360-orchestrate/assets/definitions/data-stream.template.json)
51
- - [CREDITS.md](CREDITS.md)
@@ -183,7 +183,6 @@ Next step: <harmonize or retrieve>
183
183
 
184
184
  ## References
185
185
 
186
- - [README.md](README.md)
187
186
  - [examples/ingestion-api/README.md](examples/ingestion-api/README.md)
188
187
  - [../data360-orchestrate/assets/definitions/data-stream.template.json](../data360-orchestrate/assets/definitions/data-stream.template.json)
189
188
  - [../data360-orchestrate/references/plugin-setup.md](../data360-orchestrate/references/plugin-setup.md)
@@ -41,4 +41,3 @@ sf data360 query hybrid -o myorg --index Knowledge_Index --query "reset password
41
41
 
42
42
  - [SKILL.md](SKILL.md)
43
43
  - [../data360-orchestrate/assets/definitions/search-index.template.json](../data360-orchestrate/assets/definitions/search-index.template.json)
44
- - [CREDITS.md](CREDITS.md)
@@ -111,7 +111,6 @@ Next step: <segment / harmonize / follow-up>
111
111
 
112
112
  ## References
113
113
 
114
- - [README.md](README.md)
115
114
  - [examples/search-indexes/vector-knowledge.json](examples/search-indexes/vector-knowledge.json)
116
115
  - [examples/search-indexes/hybrid-structured.json](examples/search-indexes/hybrid-structured.json)
117
116
  - [../data360-orchestrate/assets/definitions/search-index.template.json](../data360-orchestrate/assets/definitions/search-index.template.json)
@@ -33,4 +33,3 @@ sf data360 calculated-insight list -o myorg 2>/dev/null
33
33
  - [SKILL.md](SKILL.md)
34
34
  - [../data360-orchestrate/assets/definitions/calculated-insight.template.json](../data360-orchestrate/assets/definitions/calculated-insight.template.json)
35
35
  - [../data360-orchestrate/assets/definitions/segment.template.json](../data360-orchestrate/assets/definitions/segment.template.json)
36
- - [CREDITS.md](CREDITS.md)
@@ -107,8 +107,6 @@ Next step: <act / retrieve / follow-up>
107
107
 
108
108
  ## References
109
109
 
110
- - [README.md](README.md)
111
110
  - [../data360-orchestrate/assets/definitions/calculated-insight.template.json](../data360-orchestrate/assets/definitions/calculated-insight.template.json)
112
111
  - [../data360-orchestrate/assets/definitions/segment.template.json](../data360-orchestrate/assets/definitions/segment.template.json)
113
112
  - [../data360-orchestrate/references/feature-readiness.md](../data360-orchestrate/references/feature-readiness.md)
114
- - [../data360-orchestrate/UPSTREAM.md](../data360-orchestrate/UPSTREAM.md)
@@ -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