@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.
- package/README.md +2 -0
- package/package.json +1 -1
- package/skills/agentforce-architecture-analyze/README.md +2 -8
- package/skills/agentforce-architecture-analyze/SKILL.md +2 -2
- package/skills/agentforce-architecture-analyze/references/contract.json +4 -4
- package/skills/agentforce-architecture-analyze/references/soql_fields.md +1 -1
- package/skills/data360-activate/README.md +0 -1
- package/skills/data360-activate/SKILL.md +0 -2
- package/skills/data360-connect/README.md +0 -2
- package/skills/data360-connect/SKILL.md +0 -2
- package/skills/data360-harmonize/SKILL.md +0 -1
- package/skills/data360-orchestrate/README.md +0 -7
- package/skills/data360-orchestrate/SKILL.md +0 -2
- package/skills/data360-prepare/README.md +0 -1
- package/skills/data360-prepare/SKILL.md +0 -1
- package/skills/data360-query/README.md +0 -1
- package/skills/data360-query/SKILL.md +0 -1
- package/skills/data360-segment/README.md +0 -1
- package/skills/data360-segment/SKILL.md +0 -2
- package/skills/experience-cms-brand-apply/SKILL.md +47 -16
- package/skills/experience-lwc-generate/README.md +3 -2
- package/skills/experience-lwc-generate/references/async-notification-patterns.md +1 -1
- package/skills/experience-lwc-generate/references/component-patterns.md +3 -3
- package/skills/experience-lwc-generate/references/flow-integration-guide.md +1 -1
- package/skills/experience-lwc-generate/references/lwc-best-practices.md +4 -4
- package/skills/experience-lwc-generate/references/scoring-and-testing.md +1 -1
- package/skills/experience-lwc-generate/references/state-management.md +2 -2
- package/skills/experience-lwc-generate/references/triangle-pattern.md +3 -3
- package/skills/experience-lwc-generate/scripts/post-tool-validate.py +2 -2
- package/skills/experience-lwc-generate/scripts/template_validator.py +1 -1
- package/skills/external-diagram-mermaid-generate/README.md +2 -2
- package/skills/external-diagram-mermaid-generate/SKILL.md +1 -3
- package/skills/external-diagram-mermaid-generate/assets/agentforce/agent-flow.md +4 -4
- package/skills/external-diagram-mermaid-generate/assets/architecture/system-landscape.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/datamodel/b2b-commerce-erd.md +3 -3
- package/skills/external-diagram-mermaid-generate/assets/datamodel/campaigns-erd.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/datamodel/consent-erd.md +2 -2
- package/skills/external-diagram-mermaid-generate/assets/datamodel/files-erd.md +2 -2
- package/skills/external-diagram-mermaid-generate/assets/datamodel/forecasting-erd.md +2 -2
- package/skills/external-diagram-mermaid-generate/assets/datamodel/fsl-erd.md +2 -2
- package/skills/external-diagram-mermaid-generate/assets/datamodel/party-model-erd.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/datamodel/quote-order-erd.md +3 -3
- package/skills/external-diagram-mermaid-generate/assets/datamodel/revenue-cloud-erd.md +2 -2
- package/skills/external-diagram-mermaid-generate/assets/datamodel/sales-cloud-erd.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/datamodel/salesforce-erd.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/datamodel/scheduler-erd.md +2 -2
- package/skills/external-diagram-mermaid-generate/assets/datamodel/service-cloud-erd.md +3 -3
- package/skills/external-diagram-mermaid-generate/assets/datamodel/territory-management-erd.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/integration/api-sequence.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/oauth/authorization-code-pkce.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/oauth/authorization-code.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/oauth/client-credentials.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/oauth/device-authorization.md +2 -2
- package/skills/external-diagram-mermaid-generate/assets/oauth/jwt-bearer.md +2 -2
- package/skills/external-diagram-mermaid-generate/assets/oauth/refresh-token.md +1 -1
- package/skills/external-diagram-mermaid-generate/assets/oauth/user-agent-social-sign-on.md +2 -2
- package/skills/external-diagram-mermaid-generate/assets/role-hierarchy/user-hierarchy.md +1 -1
- package/skills/external-diagram-mermaid-generate/references/color-palette.md +13 -13
- package/skills/external-diagram-mermaid-generate/references/diagram-conventions.md +5 -5
- package/skills/external-diagram-mermaid-generate/references/erd-conventions.md +1 -1
- package/skills/external-diagram-mermaid-generate/references/mermaid-styling.md +2 -2
- package/skills/external-diagram-mermaid-generate/references/preview-guide.md +1 -1
- package/skills/external-diagram-mermaid-generate/references/usage-examples.md +9 -9
- package/skills/external-diagram-mermaid-generate/scripts/README.md +1 -1
- package/skills/integration-connectivity-connected-app-configure/README.md +4 -5
- package/skills/integration-connectivity-connected-app-configure/SKILL.md +2 -2
- package/skills/integration-connectivity-connected-app-configure/references/example-usage.md +7 -7
- package/skills/integration-connectivity-connected-app-configure/references/migration-guide.md +1 -1
- package/skills/integration-connectivity-connected-app-configure/references/oauth-flows-reference.md +1 -1
- package/skills/integration-connectivity-connected-app-configure/references/testing-validation-guide.md +3 -3
- package/skills/integration-connectivity-generate/README.md +1 -1
- package/skills/integration-connectivity-generate/SKILL.md +6 -0
- package/skills/integration-connectivity-generate/assets/callouts/rest-queueable-callout.cls +1 -1
- package/skills/integration-connectivity-generate/assets/external-services/external-service-operations.md +1 -1
- package/skills/integration-connectivity-generate/assets/soap/wsdl2apex-guide.md +1 -1
- package/skills/integration-connectivity-generate/references/callout-patterns.md +4 -0
- package/skills/integration-connectivity-generate/references/cdc-guide.md +2 -2
- package/skills/integration-connectivity-generate/references/event-driven-architecture-guide.md +5 -5
- package/skills/integration-connectivity-generate/references/event-patterns.md +3 -2
- package/skills/integration-connectivity-generate/references/external-services-guide.md +4 -1
- package/skills/integration-connectivity-generate/references/messaging-api-v2.md +2 -2
- package/skills/integration-connectivity-generate/references/named-credentials-automation.md +1 -1
- package/skills/integration-connectivity-generate/references/named-credentials-guide.md +12 -2
- package/skills/integration-connectivity-generate/references/platform-events-guide.md +3 -3
- package/skills/integration-connectivity-generate/references/rest-callout-patterns.md +1 -1
- package/skills/integration-connectivity-generate/references/scoring-rubric.md +1 -1
- package/skills/integration-connectivity-generate/references/security-best-practices.md +5 -2
- package/skills/integration-connectivity-generate/scripts/configure-named-credential.sh +16 -5
- package/skills/integration-connectivity-generate/scripts/set-api-credential.sh +11 -2
- package/skills/integration-connectivity-generate/scripts/suggest_credential_setup.py +4 -3
- package/skills/integration-connectivity-generate/scripts/validate_integration.py +1 -1
- package/skills/omnistudio-callable-apex-generate/README.md +1 -5
- package/skills/omnistudio-callable-apex-generate/SKILL.md +14 -4
- package/skills/omnistudio-callable-apex-generate/assets/pattern_callable_vanilla.cls +8 -1
- package/skills/omnistudio-callable-apex-generate/examples/Test_VlocityOpenInterface2Conversion/TRANSCRIPT.md +1 -1
- package/skills/omnistudio-callable-apex-generate/examples/Test_VlocityOpenInterfaceConversion/TRANSCRIPT.md +1 -1
- package/skills/omnistudio-datamapper-generate/SKILL.md +1 -1
- package/skills/omnistudio-datamapper-generate/assets/completion-summary-template.md +2 -2
- package/skills/omnistudio-datamapper-generate/references/best-practices.md +9 -9
- package/skills/omnistudio-datamapper-generate/references/naming-conventions.md +6 -6
- package/skills/omnistudio-datapacks-deploy/README.md +1 -1
- package/skills/omnistudio-datapacks-deploy/examples/business-internet-plus-bundle/deploy-business-internet-plus-bundle.yaml +1 -1
- package/skills/omnistudio-dependencies-analyze/SKILL.md +12 -5
- package/skills/omnistudio-dependencies-analyze/references/dependency-patterns.md +9 -9
- package/skills/omnistudio-dependencies-analyze/references/namespace-guide.md +1 -1
- package/skills/omnistudio-epc-catalog-generate/README.md +1 -1
- package/skills/omnistudio-flexcard-generate/SKILL.md +11 -4
- package/skills/omnistudio-flexcard-generate/references/best-practices.md +6 -6
- package/skills/omnistudio-flexcard-generate/references/data-binding-guide.md +9 -9
- package/skills/omnistudio-integration-procedure-generate/SKILL.md +9 -1
- package/skills/omnistudio-integration-procedure-generate/references/element-types.md +3 -3
- package/skills/omnistudio-omniscript-generate/SKILL.md +2 -2
- package/skills/omnistudio-omniscript-generate/references/best-practices.md +1 -1
- package/skills/omnistudio-omniscript-generate/scripts/check-duplicate-omniscript.sh +8 -0
- package/skills/omnistudio-omniscript-generate/scripts/deploy-omniscript.sh +8 -0
- package/skills/platform-apex-logs-debug/README.md +2 -2
- package/skills/platform-apex-logs-debug/references/cli-commands.md +2 -2
- package/skills/platform-apex-logs-debug/references/debug-log-reference.md +16 -16
- package/skills/platform-apex-logs-debug/references/log-analysis-tools.md +2 -2
- package/skills/platform-apex-test-run/README.md +1 -1
- package/skills/platform-apex-test-run/references/test-fix-loop.md +2 -2
- package/skills/platform-apex-test-run/references/testing-best-practices.md +3 -3
- package/skills/platform-data-manage/README.md +4 -4
- package/skills/platform-data-manage/references/bulk-testing-example.md +1 -1
- package/skills/platform-data-manage/references/crud-workflow-example.md +2 -2
- package/skills/platform-data-manage/references/orchestration.md +6 -6
- package/skills/platform-flexipage-generate/SKILL.md +281 -346
- package/skills/platform-flexipage-generate/references/cli_commands.md +39 -0
- package/skills/platform-flexipage-generate/references/flexipage_fieldSection.md +162 -0
- package/skills/platform-flexipage-generate/references/flexipage_richText.md +84 -0
- package/skills/platform-flexipage-generate/references/identifiers_and_regions.md +167 -0
- package/skills/platform-flexipage-generate/references/mcp_action_examples.md +104 -0
- package/skills/platform-flexipage-generate/references/record_flexipage_dynamicHighlights.md +119 -0
- package/skills/platform-flexipage-generate/references/xml_rules.md +335 -0
- package/skills/platform-flexipage-generate/scripts/resolve-component-instructions.sh +42 -0
- package/skills/platform-flexipage-generate/scripts/scan-lwc-components.sh +113 -0
- package/skills/platform-metadata-deploy/README.md +2 -2
- package/skills/platform-metadata-deploy/references/agent-deployment-guide.md +2 -2
- package/skills/platform-metadata-deploy/references/deployment-workflows.md +16 -16
- package/skills/platform-metadata-deploy/references/orchestration.md +3 -3
- package/skills/platform-metadata-deploy/references/trigger-deployment-safety.md +2 -2
- package/skills/platform-models-api-configure/SKILL.md +140 -0
- package/skills/platform-models-api-configure/scripts/get-orgjwt.sh +48 -0
- package/skills/platform-policy-rule-generate/SKILL.md +260 -0
- package/skills/platform-policy-rule-generate/references/deploy-errors.md +54 -0
- package/skills/platform-policy-rule-generate/references/fixtures-index.md +29 -0
- package/skills/platform-policy-rule-generate/references/policy-schema-full.md +250 -0
- package/skills/platform-policy-rule-generate/references/templates-access.md +132 -0
- package/skills/platform-policy-rule-generate/references/templates-advanced.md +58 -0
- package/skills/platform-policy-rule-generate/references/templates-record.md +75 -0
- package/skills/platform-policy-rule-generate/references/templates-transform.md +70 -0
- package/skills/platform-policy-rule-generate/references/templates.md +10 -0
- package/skills/platform-policy-rule-generate/references/ui-compatibility.md +142 -0
- package/skills/platform-soql-query/README.md +1 -1
- package/skills/platform-soql-query/SKILL.md +1 -1
- package/skills/platform-soql-query/references/anti-patterns.md +1 -1
- package/skills/platform-soql-query/references/field-coverage-rules.md +1 -1
- package/skills/platform-soql-query/references/query-optimization.md +1 -1
- package/skills/platform-soql-query/scripts/post-tool-validate.py +3 -3
- package/skills/data360-activate/CREDITS.md +0 -5
- package/skills/data360-connect/CREDITS.md +0 -5
- package/skills/data360-harmonize/CREDITS.md +0 -3
- package/skills/data360-orchestrate/CREDITS.md +0 -15
- package/skills/data360-orchestrate/UPSTREAM.md +0 -45
- package/skills/data360-prepare/CREDITS.md +0 -7
- package/skills/data360-query/CREDITS.md +0 -7
- package/skills/data360-segment/CREDITS.md +0 -3
- package/skills/experience-lwc-generate/CREDITS.md +0 -5
- package/skills/external-diagram-mermaid-generate/CREDITS.md +0 -46
- package/skills/external-diagram-visual-generate/CREDITS.md +0 -80
- package/skills/external-diagram-visual-generate/README.md +0 -83
- package/skills/external-diagram-visual-generate/SKILL.md +0 -207
- package/skills/external-diagram-visual-generate/assets/architecture/integration-flow.md +0 -55
- package/skills/external-diagram-visual-generate/assets/erd/core-objects.md +0 -131
- package/skills/external-diagram-visual-generate/assets/erd/custom-objects.md +0 -60
- package/skills/external-diagram-visual-generate/assets/lwc/dashboard-card.md +0 -45
- package/skills/external-diagram-visual-generate/assets/lwc/data-table.md +0 -57
- package/skills/external-diagram-visual-generate/assets/lwc/record-form.md +0 -60
- package/skills/external-diagram-visual-generate/assets/review/apex-review.md +0 -57
- package/skills/external-diagram-visual-generate/assets/review/lwc-review.md +0 -48
- package/skills/external-diagram-visual-generate/references/architect-aesthetic-guide.md +0 -257
- package/skills/external-diagram-visual-generate/references/examples-index.md +0 -35
- package/skills/external-diagram-visual-generate/references/gemini-cli-setup.md +0 -65
- package/skills/external-diagram-visual-generate/references/interview-questions.md +0 -529
- package/skills/external-diagram-visual-generate/references/iteration-workflow.md +0 -173
- package/skills/external-diagram-visual-generate/scripts/check-prerequisites.sh +0 -101
- package/skills/external-diagram-visual-generate/scripts/generate_image.py +0 -243
- package/skills/integration-connectivity-connected-app-configure/CREDITS.md +0 -3
- package/skills/integration-connectivity-generate/CREDITS.md +0 -5
- package/skills/omnistudio-callable-apex-generate/CREDITS.md +0 -9
- package/skills/omnistudio-datamapper-generate/CREDITS.md +0 -5
- package/skills/omnistudio-datapacks-deploy/CREDITS.md +0 -5
- package/skills/omnistudio-dependencies-analyze/CREDITS.md +0 -5
- package/skills/omnistudio-epc-catalog-generate/CREDITS.md +0 -14
- package/skills/omnistudio-flexcard-generate/CREDITS.md +0 -5
- package/skills/omnistudio-integration-procedure-generate/CREDITS.md +0 -5
- package/skills/omnistudio-omniscript-generate/CREDITS.md +0 -5
- package/skills/platform-apex-generate/CREDITS.md +0 -5
- package/skills/platform-apex-logs-debug/CREDITS.md +0 -22
- package/skills/platform-apex-test-generate/CREDITS.md +0 -5
- package/skills/platform-apex-test-run/CREDITS.md +0 -22
- package/skills/platform-data-manage/CREDITS.md +0 -5
- package/skills/platform-metadata-deploy/CREDITS.md +0 -25
- package/skills/platform-soql-query/CREDITS.md +0 -21
- /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
|
@@ -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
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
|
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:** `
|
|
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
|
|
71
|
-
|
|
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
|
-
"
|
|
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
|
-
|
|
82
|
-
|
|
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
|
-
|
|
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
|
|
116
|
+
**If brands found**, first show a summary line, then use `ask_followup_question`
|
|
117
|
+
to present options:
|
|
92
118
|
|
|
93
|
-
```
|
|
94
|
-
|
|
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
|
-
| `
|
|
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
|
|
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)) #
|
|
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:
|
|
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
|
|
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
|
|