@salesforce/afv-skills 1.7.4 → 1.8.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 (39) hide show
  1. package/README.md +3 -3
  2. package/package.json +1 -1
  3. package/skills/building-ui-bundle-frontend/SKILL.md +2 -0
  4. package/skills/deploying-ui-bundle/SKILL.md +2 -0
  5. package/skills/developing-agentforce/SKILL.md +1 -1
  6. package/skills/developing-datacloud-code-extension/SKILL.md +321 -0
  7. package/skills/developing-datacloud-code-extension/references/README.md +193 -0
  8. package/skills/developing-datacloud-code-extension/references/quick-reference.md +269 -0
  9. package/skills/generating-apex/SKILL.md +4 -2
  10. package/skills/generating-apex-test/SKILL.md +3 -1
  11. package/skills/generating-custom-application/SKILL.md +2 -0
  12. package/skills/generating-custom-field/SKILL.md +3 -1
  13. package/skills/generating-custom-lightning-type/SKILL.md +2 -0
  14. package/skills/generating-custom-object/SKILL.md +3 -1
  15. package/skills/generating-custom-tab/SKILL.md +3 -1
  16. package/skills/generating-flexipage/SKILL.md +2 -0
  17. package/skills/generating-flow/SKILL.md +2 -0
  18. package/skills/generating-lightning-app/SKILL.md +1 -1
  19. package/skills/generating-list-view/SKILL.md +2 -0
  20. package/skills/generating-permission-set/SKILL.md +1 -1
  21. package/skills/generating-ui-bundle-features/SKILL.md +2 -0
  22. package/skills/generating-ui-bundle-metadata/SKILL.md +2 -0
  23. package/skills/generating-ui-bundle-site/SKILL.md +2 -0
  24. package/skills/generating-validation-rule/SKILL.md +2 -0
  25. package/skills/getting-datacloud-schema/SKILL.md +380 -0
  26. package/skills/getting-datacloud-schema/references/README.md +191 -0
  27. package/skills/getting-datacloud-schema/scripts/get_dlo_schema.py +244 -0
  28. package/skills/getting-datacloud-schema/scripts/get_dmo_schema.py +233 -0
  29. package/skills/implementing-ui-bundle-agentforce-conversation-client/SKILL.md +1 -1
  30. package/skills/implementing-ui-bundle-file-upload/SKILL.md +2 -0
  31. package/skills/observing-agentforce/SKILL.md +1 -1
  32. package/skills/switching-org/SKILL.md +1 -1
  33. package/skills/testing-agentforce/SKILL.md +1 -1
  34. package/skills/uplifting-components-to-slds2/SKILL.md +3 -1
  35. package/skills/using-ui-bundle-salesforce-data/SKILL.md +2 -0
  36. package/skills/trigger-refactor-pipeline/SKILL.md +0 -191
  37. package/skills/trigger-refactor-pipeline/assets/test_template.apex +0 -321
  38. package/skills/trigger-refactor-pipeline/references/handler_patterns.md +0 -442
  39. package/skills/trigger-refactor-pipeline/scripts/analyze_trigger.py +0 -258
@@ -0,0 +1,269 @@
1
+ # Data Cloud Code Extension - Quick Reference
2
+
3
+ ## Command Cheat Sheet
4
+
5
+ ### Initialize Project
6
+ ```bash
7
+ # Create script project
8
+ sf data-code-extension script init --package-dir <directory>
9
+
10
+ # Create function project
11
+ sf data-code-extension function init --package-dir <directory>
12
+
13
+ # Examples
14
+ sf data-code-extension script init --package-dir .
15
+ sf data-code-extension script init --package-dir my-transform
16
+ ```
17
+
18
+ ### Scan for Permissions
19
+ ```bash
20
+ # Basic scan
21
+ sf data-code-extension script scan --entrypoint ./payload/entrypoint.py
22
+
23
+ # Preview without saving
24
+ sf data-code-extension script scan --entrypoint ./payload/entrypoint.py --dry-run
25
+
26
+ # Custom config location
27
+ sf data-code-extension script scan --entrypoint ./payload/entrypoint.py --config ./custom-config.json
28
+
29
+ # Skip requirements.txt
30
+ sf data-code-extension script scan --entrypoint ./payload/entrypoint.py --no-requirements
31
+ ```
32
+
33
+ ### Run Locally
34
+ ```bash
35
+ # Basic run
36
+ sf data-code-extension script run --entrypoint ./payload/entrypoint.py --target-org <org_alias>
37
+
38
+ # With custom config
39
+ sf data-code-extension script run --entrypoint ./payload/entrypoint.py -o <org_alias> -c custom-config.json
40
+
41
+ # Examples
42
+ sf data-code-extension script run --entrypoint ./payload/entrypoint.py --target-org afvibe
43
+ sf data-code-extension script run --entrypoint ./payload/entrypoint.py -o afvibe
44
+ ```
45
+
46
+ ### Deploy
47
+ ```bash
48
+ # Minimal deployment (MUST include --package-dir ./payload)
49
+ sf data-code-extension script deploy \
50
+ --target-org <org_alias> \
51
+ --name <name> \
52
+ --package-version <version> \
53
+ --description "<description>" \
54
+ --package-dir ./payload
55
+
56
+ # Full options
57
+ sf data-code-extension script deploy \
58
+ --target-org <org_alias> \
59
+ --name <name> \
60
+ --package-version <version> \
61
+ --description "<description>" \
62
+ --cpu-size <CPU_L|CPU_XL|CPU_2XL|CPU_4XL> \
63
+ --package-dir ./payload
64
+
65
+ # Examples (CRITICAL: Always include --package-dir ./payload)
66
+ sf data-code-extension script deploy \
67
+ --target-org afvibe \
68
+ --name Employee_Upper \
69
+ --package-version 1.0.0 \
70
+ --description "Uppercase employee positions" \
71
+ --package-dir ./payload
72
+ ```
73
+
74
+ ## Common Workflows
75
+
76
+ ### New Project from Scratch
77
+ ```bash
78
+ # 1. Create directory
79
+ mkdir my-transform && cd my-transform
80
+
81
+ # 2. Initialize
82
+ sf data-code-extension script init --package-dir .
83
+
84
+ # 3. Edit payload/entrypoint.py with your transformation
85
+
86
+ # 4. Scan
87
+ sf data-code-extension script scan --entrypoint ./payload/entrypoint.py
88
+
89
+ # 5. Test
90
+ sf data-code-extension script run --entrypoint ./payload/entrypoint.py --target-org afvibe
91
+
92
+ # 6. Deploy (MUST include --package-dir ./payload)
93
+ sf data-code-extension script deploy \
94
+ --target-org afvibe \
95
+ --name MyTransform \
96
+ --package-version 1.0.0 \
97
+ --description "My transformation" \
98
+ --package-dir ./payload
99
+ ```
100
+
101
+ ### Update Existing Code Extension
102
+ ```bash
103
+ # 1. Edit payload/entrypoint.py
104
+
105
+ # 2. Re-scan
106
+ sf data-code-extension script scan --entrypoint ./payload/entrypoint.py
107
+
108
+ # 3. Test
109
+ sf data-code-extension script run --entrypoint ./payload/entrypoint.py -o afvibe
110
+
111
+ # 4. Deploy with new version (include --package-dir ./payload)
112
+ sf data-code-extension script deploy \
113
+ -o afvibe \
114
+ -n MyTransform \
115
+ --package-version 1.1.0 \
116
+ --description "Updated transformation" \
117
+ --package-dir ./payload
118
+ ```
119
+
120
+ ## Python Code Patterns
121
+
122
+ ### Read/Write DLO
123
+ ```python
124
+ from datacustomcode import Client
125
+
126
+ client = Client()
127
+
128
+ # Read
129
+ df = client.read_dlo('Employee__dll')
130
+
131
+ # Transform
132
+ df['new_field'] = df['old_field'].str.upper()
133
+
134
+ # Write (modes: 'overwrite', 'append')
135
+ client.write_to_dlo('Output__dll', df, 'overwrite')
136
+ ```
137
+
138
+ ### Read/Write DMO
139
+ ```python
140
+ # Read
141
+ df = client.read_dmo('EmployeeDMO')
142
+
143
+ # Write (modes: 'upsert', 'insert')
144
+ client.write_to_dmo('EmployeeDMO', df, 'upsert')
145
+ ```
146
+
147
+ ### Multiple DLO Operations
148
+ ```python
149
+ # Read multiple
150
+ employees = client.read_dlo('Employee__dll')
151
+ departments = client.read_dlo('Department__dll')
152
+
153
+ # Join
154
+ merged = employees.merge(departments, on='dept_id')
155
+
156
+ # Write multiple
157
+ client.write_to_dlo('Enriched__dll', merged, 'overwrite')
158
+ client.write_to_dmo('EmployeeDMO', merged, 'upsert')
159
+ ```
160
+
161
+ ### Data Transformations
162
+ ```python
163
+ import pandas as pd
164
+
165
+ # Filter
166
+ active = df[df['status'] == 'Active']
167
+
168
+ # Computed column
169
+ df['full_name'] = df['first'] + ' ' + df['last']
170
+
171
+ # Aggregate
172
+ summary = df.groupby('dept')['salary'].mean()
173
+
174
+ # Conditional
175
+ df['grade'] = df['position'].apply(
176
+ lambda x: 'Senior' if 'VP' in x else 'Junior'
177
+ )
178
+ ```
179
+
180
+ ## Option Reference
181
+
182
+ ### --cpu-size
183
+ - `CPU_L` - Small datasets (< 1M records)
184
+ - `CPU_XL` - Medium datasets (1M-5M)
185
+ - `CPU_2XL` - Large datasets (5M-10M) **[default]**
186
+ - `CPU_4XL` - Very large (> 10M records)
187
+
188
+ ### Write Modes
189
+ - `overwrite` - Replace all data
190
+ - `append` - Add to existing data
191
+ - `upsert` - Update or insert (DMO only)
192
+ - `insert` - Insert only (DMO only)
193
+
194
+ ## Troubleshooting Quick Fixes
195
+
196
+ ```bash
197
+ # Plugin not found
198
+ sf plugins install @salesforce/plugin-data-codeextension
199
+
200
+ # Python SDK missing
201
+ pip install salesforce-data-customcode
202
+
203
+ # Verify Python version (must be 3.11.x)
204
+ python --version
205
+
206
+ # Org not connected
207
+ sf org login web --alias <org_alias>
208
+
209
+ # Config missing
210
+ sf data-code-extension script scan --entrypoint ./payload/entrypoint.py
211
+
212
+ # Docker not running (for deploy)
213
+ # Start Docker Desktop
214
+ ```
215
+
216
+ ## File Structure
217
+
218
+ ```
219
+ my-project/
220
+ ├── payload/
221
+ │ ├── entrypoint.py # Main code
222
+ │ └── config.json # Auto-generated permissions
223
+ ├── requirements.txt # Auto-generated dependencies
224
+ └── README.md
225
+ ```
226
+
227
+ ## config.json Format
228
+
229
+ ```json
230
+ {
231
+ "version": "1.0",
232
+ "permissions": {
233
+ "read": ["Employee__dll", "Department__dll"],
234
+ "write": ["Enriched__dll"]
235
+ },
236
+ "resources": {
237
+ "cpu_size": "CPU_2XL"
238
+ }
239
+ }
240
+ ```
241
+
242
+ ## Common Errors
243
+
244
+ | Error | Quick Fix |
245
+ |-------|-----------|
246
+ | Plugin not found | `sf plugins install @salesforce/plugin-data-codeextension` |
247
+ | Python SDK missing | `pip install salesforce-data-customcode` |
248
+ | Wrong Python version | Use pyenv to install 3.11.0 |
249
+ | Org not connected | `sf org login web --alias <alias>` |
250
+ | Config missing | Run scan command |
251
+ | DLO not found | Check DLO name, use getting-datacloud-schema skill |
252
+ | Docker error | Start Docker Desktop |
253
+
254
+ ## Deployment Checklist
255
+
256
+ - [ ] Code written in entrypoint.py
257
+ - [ ] Scanned for permissions
258
+ - [ ] Tested locally
259
+ - [ ] Version number decided
260
+ - [ ] Description added
261
+ - [ ] CPU size chosen
262
+ - [ ] Docker running
263
+ - [ ] Org authenticated
264
+
265
+ ## Resources
266
+
267
+ - Plugin: https://github.com/salesforcecli/plugin-data-code-extension
268
+ - Python SDK: https://github.com/forcedotcom/datacloud-customcode-python-sdk
269
+ - Data Cloud Docs: https://help.salesforce.com/s/articleView?id=sf.c360_a_intro.htm
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-apex
3
- description: Primary Apex authoring skill for class generation, refactoring, and review. ALWAYS ACTIVATE when the user mentions Apex, .cls, triggers, or asks to create/refactor a class (service, selector, domain, batch, queueable, schedulable, invocable, DTO, utility, interface, abstract, exception, REST resource). Use this skill for requests involving SObject CRUD, mapping collections, fetching related records, scheduled jobs, batch jobs, trigger design, @AuraEnabled controllers, @RestResource endpoints, custom REST APIs, or code review of existing Apex.
3
+ description: "Primary Apex authoring skill for class generation, refactoring, and review. ALWAYS ACTIVATE when the user mentions Apex, .cls, triggers, or asks to create/refactor a class (service, selector, domain, batch, queueable, schedulable, invocable, DTO, utility, interface, abstract, exception, REST resource). Use this skill for requests involving SObject CRUD, mapping collections, fetching related records, scheduled jobs, batch jobs, trigger design, @AuraEnabled controllers, @RestResource endpoints, custom REST APIs, or code review of existing Apex."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  # Generating Apex
@@ -403,4 +405,4 @@ Deploy: <dry-run or next step>
403
405
 
404
406
  ## Troubleshooting Boundary
405
407
 
406
- This skill handles production `.cls`/`.trigger`/`.apex` issues only: compile/parse failures, deployment dependency errors, runtime governor-limit failures. For test execution, assertions, coverage, or `sf apex run test` failures, delegate to `generating-apex-test`.
408
+ This skill handles production `.cls`/`.trigger`/`.apex` issues only: compile/parse failures, deployment dependency errors, runtime governor-limit failures. For test execution, assertions, coverage, or `sf apex run test` failures, delegate to `generating-apex-test`.
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-apex-test
3
- description: Generate and validate Apex test classes with TestDataFactory patterns, bulk testing (251+ records), mocking strategies, assertion best practices, and disciplined test-fix loops. Use this skill when creating new Apex test classes, improving test coverage, debugging and fixing failing Apex tests, running test execution and coverage analysis, or implementing testing patterns for triggers, services, controllers, batch jobs, queueables, and integrations. Triggers on *Test.cls, *_Test.cls files, sf apex run test workflows, coverage reports, test-fix loops. Do NOT trigger for production Apex code (use generating-apex) or Jest/LWC tests.
3
+ description: "Generate and validate Apex test classes with TestDataFactory patterns, bulk testing (251+ records), mocking strategies, assertion best practices, and disciplined test-fix loops. Use this skill when creating new Apex test classes, improving test coverage, debugging and fixing failing Apex tests, running test execution and coverage analysis, or implementing testing patterns for triggers, services, controllers, batch jobs, queueables, and integrations. Triggers on *Test.cls, *_Test.cls files, sf apex run test workflows, coverage reports, test-fix loops. Do NOT trigger for production Apex code (use generating-apex) or Jest/LWC tests."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  # Generating Apex Tests
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-custom-application
3
3
  description: "Use this skill when users need to create or configure Salesforce Custom Applications. Trigger when users mention custom apps, application metadata, app navigation, or organizing tabs into applications. Use when users want to create app containers for tabs and pages. Always use this skill for custom application work."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  ## When to Use This Skill
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-custom-field
3
3
  description: "Use this skill when users need to create, generate, or validate Salesforce Custom Field metadata. Trigger when users mention custom fields, field types, Roll-up Summary fields, Master-Detail relationships, Lookup relationships, formula fields, picklists, or field metadata. Also use when users encounter field deployment errors, especially around Roll-up Summary format, Master-Detail constraints, or formula issues. Always use this skill for any custom field metadata work, field generation, or field troubleshooting."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  ## When to Use This Skill
@@ -498,4 +500,4 @@ Before generating CustomField XML, verify:
498
500
 
499
501
  ### Naming Checks
500
502
  - [ ] Is the API name free of reserved words (`Order`, `Group`, `Select`, etc.)?
501
- - [ ] Is the API name unique on this object?
503
+ - [ ] Is the API name unique on this object?
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-custom-lightning-type
3
3
  description: "Use this skill when users need to create Custom Lightning Types (CLTs) for Einstein Agent actions or structured input/output schemas. Trigger when users mention CLT, Custom Lightning Types, JSON schemas for agents, type definitions, lightning__objectType, or editor/renderer configurations. This is complex - always use this skill for CLT work."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  ## When to Use This Skill
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-custom-object
3
3
  description: "Use this skill when users need to create, generate, or validate Salesforce Custom Object metadata. Trigger when users mention custom objects, creating objects, object metadata, .object files, sharing models, name fields, or validation rules on objects. Also use when users say things like \"create a custom object\", \"generate object metadata\", \"set up an object for...\", or when they're troubleshooting object deployment errors especially around sharing models and Master-Detail relationships. Always use this skill for any custom object metadata work."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  ## When to Use This Skill
@@ -235,4 +237,4 @@ Before generating the Custom Object XML, verify:
235
237
  ### Architectural Checks
236
238
  - [ ] Is `<description>` present with a meaningful summary?
237
239
  - [ ] Are `<enableSearch>` and `<enableReports>` set to `true` if user-facing?
238
- - [ ] Does the filename match the intended API name?
240
+ - [ ] Does the filename match the intended API name?
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-custom-tab
3
3
  description: "Use this skill when users need to create or configure Salesforce Custom Tabs. Trigger when users mention tabs, navigation tabs, object tabs, web tabs, Visualforce tabs, Lightning component tabs, app page tabs, or tab configuration. Also use when users want to add navigation to custom objects, create tabs for external content, or set up Lightning page tabs. Always use this skill for any custom tab work."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  ## When to Use This Skill
@@ -151,4 +153,4 @@ Also forbidden:
151
153
  - Follow consistent naming conventions
152
154
  - Object tab files MUST only contain `<customObject>true</customObject>` and `<motif>` — nothing else
153
155
  - Web tab files MUST only contain: `<customObject>false</customObject>`, `<label>`, `<motif>`, `<url>`, `<urlEncodingKey>`, and optionally `<description>`, `<frameHeight>` — nothing else
154
- - Never include `<isHidden>`, `<tabVisibility>`, `<type>`, `<mobileReady>`, or empty elements
156
+ - Never include `<isHidden>`, `<tabVisibility>`, `<type>`, `<mobileReady>`, or empty elements
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-flexipage
3
3
  description: "Use this skill when users need to create, generate, modify, or validate Salesforce Lightning pages (FlexiPages). Trigger when users mention RecordPage, AppPage, HomePage, Lightning pages, page layouts, adding components to pages, or page customization. Also use when users say things like 'create a Lightning page', 'add a component to a page', 'customize the record page', 'generate a FlexiPage', or when they're working with FlexiPage XML files and need help with components, regions, or deployment errors. Always use this skill for any FlexiPage-related work, even if they just mention 'page' in the context of Salesforce."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  ## When to Use This Skill
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-flow
3
3
  description: "Generate Salesforce Flows using the MCP tool execute_metadata_action. Use when the user asks to create, build, or generate a flow — including Screen, Autolaunched, Record-Triggered (before/after-save), Scheduled. Also trigger for flow-like requests such as \"when a record is created\", \"trigger daily at\", \"send an email when\", \"update the field when\", \"automate\", \"workflow\", or \"flow XML/metadata\". This is the only skill for Salesforce Flow generation."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  ## Goal
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: generating-lightning-app
3
- description: Build complete Salesforce Lightning Experience applications from natural language descriptions. Use this skill when a user requests a "complete app", "Lightning app", "business solution", "management system", or describes a scenario requiring multiple interconnected Salesforce components (objects, fields, pages, tabs, security). Orchestrates all required metadata types in proper dependency order to produce a deployable application.
3
+ description: "Build complete Salesforce Lightning Experience applications from natural language descriptions. Use this skill when a user requests a \"complete app\", \"Lightning app\", \"business solution\", \"management system\", or describes a scenario requiring multiple interconnected Salesforce components (objects, fields, pages, tabs, security). Orchestrates all required metadata types in proper dependency order to produce a deployable application."
4
4
  metadata:
5
5
  version: "1.0"
6
6
  related-skills: generating-custom-object, generating-custom-field, generating-custom-tab, generating-flexipage, generating-custom-application, generating-flow, generating-validation-rule, generating-list-view, generating-permission-set
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-list-view
3
3
  description: "Use this skill when users need to create, generate, or validate Salesforce List View metadata. Trigger when users mention list views, filtered record lists, creating views, setting up record columns, filtering records by criteria, or ask about list view visibility. Also use when users say things like \"I need a view that shows...\", \"filter records by...\", \"create a list view for...\", or when they're working with ListView XML files and need validation or troubleshooting."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  ## When to Use This Skill
@@ -3,7 +3,7 @@ name: generating-permission-set
3
3
  description: "Generates correct, deployable Salesforce permission set metadata (PermissionSet XML) with object, field, user, and app permissions. Use this skill when creating or editing permission set metadata, object permissions, field-level security (FLS), tab visibility, or deploying permission sets."
4
4
  compatibility: Salesforce Metadata API v60.0+
5
5
  metadata:
6
- author: afv-library
6
+ author: sf-skills
7
7
  version: "1.0"
8
8
  ---
9
9
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-ui-bundle-features
3
3
  description: "MUST activate when the project contains a uiBundles/*/src/ directory and the user wants to add authentication or search to their app. Use this skill when adding authentication or search to a UI bundle app. Only covers two features: authentication (login, logout, protected routes, session management) and search (global search across pages and content). Always use this skill for these two features instead of building from scratch."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  # UI Bundle Features
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-ui-bundle-metadata
3
3
  description: "MUST activate when the project contains a uiBundles/*/src/ directory and scaffolding a new UI bundle or app, or when editing ui-bundle.json, .uibundle-meta.xml, or CSP trusted site files. Use this skill when scaffolding with sf template generate ui-bundle, configuring ui-bundle.json (routing, headers, outputDir), or registering CSP Trusted Sites. Activate when the task involves files matching *.uibundle-meta.xml, ui-bundle.json, or cspTrustedSites/*.cspTrustedSite-meta.xml."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  # UI Bundle Metadata
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-ui-bundle-site
3
3
  description: "MUST activate when the project contains a uiBundles/*/src/ directory and the task involves creating or configuring site infrastructure. Use this skill when creating or configuring a Salesforce Digital Experience Site for hosting a UI bundle. Activate when files matching digitalExperiences/, networks/, customSite/, or DigitalExperienceBundle exist and need modification, or when the user wants to publish, host, or configure guest access for their app."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  # Digital Experience Site for React UI Bundles
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: generating-validation-rule
3
3
  description: "Use this skill when users need to create, modify, or validate Salesforce Validation Rules. Trigger when users mention validation rules, field validation, data quality rules, formula validation, error messages, or validation logic. Also use when users encounter validation errors, need to update formulas, or want to enforce business rules at the data layer. Always use this skill for any validation rule work."
4
+ metadata:
5
+ version: "1.0"
4
6
  ---
5
7
 
6
8
  ## When to Use This Skill