@salesforce/afv-skills 1.23.0 → 1.24.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/afv-skills",
3
- "version": "1.23.0",
3
+ "version": "1.24.0",
4
4
  "description": "Salesforce skills for Agentforce Vibes",
5
5
  "license": "CC-BY-NC-4.0",
6
6
  "files": [
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: developing-datacloud-code-extension
2
+ name: data360-code-extension-generate
3
3
  description: "Develop and deploy Data Cloud Code Extensions using SF CLI plugin. Use this skill when creating custom Python transformations for Data Cloud, deploying code extensions, or testing data transformations. Supports init, run, scan, and deploy operations."
4
4
  metadata:
5
5
  version: "1.0"
6
6
  ---
7
7
 
8
- # developing-datacloud-code-extension Skill
8
+ # data360-code-extension-generate Skill
9
9
 
10
10
  ## Overview
11
11
 
@@ -79,7 +79,7 @@ sf data-code-extension function init --package-dir <directory>
79
79
  - `--package-dir, -p` - Directory path where the package will be created
80
80
 
81
81
  **What it creates:**
82
- ```
82
+ ```text
83
83
  my-transform/ # Project root
84
84
  ├── payload/ # CRITICAL: This is what --package-dir must point to for deploy
85
85
  │ ├── entrypoint.py # Main transformation code
@@ -172,7 +172,7 @@ cat payload/config.json
172
172
 
173
173
  #### Step 4b: Validate Each DLO Schema
174
174
 
175
- **Use the `getting-datacloud-schema` skill to verify DLOs exist and check field names.**
175
+ **Use the `data360-schema-get` skill to verify DLOs exist and check field names.**
176
176
 
177
177
  For each DLO referenced in your code:
178
178
 
@@ -260,7 +260,7 @@ sf data-code-extension script deploy --target-org <org_alias> --name <name> --pa
260
260
  | `Cannot connect to Docker daemon` | Start Docker Desktop |
261
261
  | `No org found for alias` | `sf org login web --alias <org_alias>` |
262
262
  | `config.json not found` | `sf data-code-extension script scan --entrypoint ./payload/entrypoint.py` |
263
- | `DLO not found` | Verify DLO exists (use getting-datacloud-schema skill), check spelling and `__dll` suffix |
263
+ | `DLO not found` | Verify DLO exists (use data360-schema-get skill), check spelling and `__dll` suffix |
264
264
  | `Permission denied writing` | Re-run scan, verify target DLO exists and is writable |
265
265
  | `Deploy fails - wrong directory` | Ensure `--package-dir` points to `payload/` directory, not project root |
266
266
 
@@ -285,9 +285,9 @@ sf data-code-extension script deploy --target-org <org_alias> --name <name> --pa
285
285
 
286
286
  ## Integration with Other Skills
287
287
 
288
- **Use with getting-datacloud-schema skill (CRITICAL for validation):**
288
+ **Use with data360-schema-get skill (CRITICAL for validation):**
289
289
 
290
- The `getting-datacloud-schema` skill is **required** for validating DLOs before testing code extensions.
290
+ The `data360-schema-get` skill is **required** for validating DLOs before testing code extensions.
291
291
 
292
292
  **Use with Datakit Workflow:**
293
293
  1. Create DLO via code extension
@@ -1,4 +1,4 @@
1
- # developing-datacloud-code-extension Skill
1
+ # data360-code-extension-generate Skill
2
2
 
3
3
  ## Overview
4
4
 
@@ -17,25 +17,25 @@ This skill helps you create Data Cloud Code Extensions through a complete workfl
17
17
  ## Usage
18
18
 
19
19
  **Initialize a project:**
20
- ```
20
+ ```text
21
21
  "Create a new Data Cloud code extension project called employee-transform"
22
22
  "Initialize a code extension to transform employee data"
23
23
  ```
24
24
 
25
25
  **Test locally:**
26
- ```
26
+ ```text
27
27
  "Run the code extension in my-transform directory against afvibe org"
28
28
  "Test the entrypoint.py file locally"
29
29
  ```
30
30
 
31
31
  **Scan for permissions:**
32
- ```
32
+ ```text
33
33
  "Scan the entrypoint.py to generate config"
34
34
  "Update permissions in config.json"
35
35
  ```
36
36
 
37
37
  **Deploy:**
38
- ```
38
+ ```text
39
39
  "Deploy Employee_Upper code extension to afvibe"
40
40
  "Deploy this transform with package-version 1.0.0"
41
41
  ```
@@ -135,7 +135,7 @@ print(f"Processed {len(output)} employee records")
135
135
 
136
136
  After `init`, you'll have:
137
137
 
138
- ```
138
+ ```text
139
139
  my-transform/
140
140
  ├── payload/
141
141
  │ ├── entrypoint.py # Your transformation code
@@ -173,7 +173,7 @@ client.write_to_dmo('EmployeeDMO', df, 'upsert')
173
173
  | Wrong Python version | Use pyenv to install 3.11.0 |
174
174
  | Org not connected | `sf org login web --alias <alias>` |
175
175
  | Config missing | Run scan command |
176
- | DLO not found | Check DLO name, use getting-datacloud-schema skill |
176
+ | DLO not found | Check DLO name, use data360-schema-get skill |
177
177
  | Docker error | Start Docker Desktop |
178
178
 
179
179
  ## CPU Size Selection
@@ -215,7 +215,7 @@ sf data-code-extension script scan --entrypoint ./payload/entrypoint.py
215
215
 
216
216
  ## File Structure
217
217
 
218
- ```
218
+ ```text
219
219
  my-project/
220
220
  ├── payload/
221
221
  │ ├── entrypoint.py # Main code
@@ -248,7 +248,7 @@ my-project/
248
248
  | Wrong Python version | Use pyenv to install 3.11.0 |
249
249
  | Org not connected | `sf org login web --alias <alias>` |
250
250
  | Config missing | Run scan command |
251
- | DLO not found | Check DLO name, use getting-datacloud-schema skill |
251
+ | DLO not found | Check DLO name, use data360-schema-get skill |
252
252
  | Docker error | Start Docker Desktop |
253
253
 
254
254
  ## Deployment Checklist
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: getting-datacloud-schema
2
+ name: data360-schema-get
3
3
  description: "Retrieve Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using REST APIs. Use this skill when you need to inspect DLO or DMO field definitions, data types, or metadata. Takes org alias and optional DLO/DMO name as parameters."
4
4
  metadata:
5
5
  version: "1.0"
6
6
  ---
7
7
 
8
- # getting-datacloud-schema Skill
8
+ # data360-schema-get Skill
9
9
 
10
10
 
11
11
  ## Overview
@@ -42,7 +42,7 @@ sf org list
42
42
  ```
43
43
 
44
44
  Example output:
45
- ```
45
+ ```text
46
46
  ┌────┬───────┬──────────────────────────┬────────────────────┬───────────┐
47
47
  │ │ Alias │ Username │ Org Id │ Status │
48
48
  ├────┼───────┼──────────────────────────┼────────────────────┼───────────┤
@@ -67,28 +67,28 @@ sf org login web --alias <org_alias>
67
67
 
68
68
  ### Step 3a: Execute DLO Schema Script
69
69
 
70
- The Python scripts are bundled with this skill. They live in the `scripts/` subdirectory of the same directory that contains this SKILL.md file. Use the absolute path to that directory — do NOT use `./scripts/` as that resolves relative to the current working directory, not the skill directory.
70
+ The Python scripts are bundled with this skill in the `scripts/` subdirectory.
71
71
 
72
72
  **To list all DLOs:**
73
73
  ```bash
74
- python3 <skill_dir>/scripts/get_dlo_schema.py <org_alias>
74
+ python3 ./scripts/get_dlo_schema.py <org_alias>
75
75
  ```
76
76
 
77
77
  **To get specific DLO schema:**
78
78
  ```bash
79
- python3 <skill_dir>/scripts/get_dlo_schema.py <org_alias> <dlo_name>
79
+ python3 ./scripts/get_dlo_schema.py <org_alias> <dlo_name>
80
80
  ```
81
81
 
82
82
  ### Step 3b: Execute DMO Schema Script
83
83
 
84
84
  **To list all DMOs:**
85
85
  ```bash
86
- python3 <skill_dir>/scripts/get_dmo_schema.py <org_alias>
86
+ python3 ./scripts/get_dmo_schema.py <org_alias>
87
87
  ```
88
88
 
89
89
  **To get specific DMO schema:**
90
90
  ```bash
91
- python3 <skill_dir>/scripts/get_dmo_schema.py <org_alias> <dmo_name>
91
+ python3 ./scripts/get_dmo_schema.py <org_alias> <dmo_name>
92
92
  ```
93
93
 
94
94
  ### Step 4: Present Results
@@ -135,7 +135,7 @@ After displaying results, suggest relevant follow-up actions:
135
135
  ## API Endpoints Used
136
136
 
137
137
  ### List All DLOs
138
- ```
138
+ ```text
139
139
  GET /services/data/v64.0/ssot/data-lake-objects
140
140
  ```
141
141
 
@@ -158,14 +158,14 @@ Response structure:
158
158
  ```
159
159
 
160
160
  ### Get DLO Schema
161
- ```
161
+ ```text
162
162
  GET /services/data/v64.0/ssot/data-lake-objects/{dlo_name}
163
163
  ```
164
164
 
165
165
  Response structure (same as individual object in list response, but wrapped in paginated format).
166
166
 
167
167
  ### List All DMOs
168
- ```
168
+ ```text
169
169
  GET /services/data/v64.0/ssot/data-model-objects
170
170
  ```
171
171
 
@@ -186,7 +186,7 @@ Response structure:
186
186
  ```
187
187
 
188
188
  ### Get DMO Schema
189
- ```
189
+ ```text
190
190
  GET /services/data/v64.0/ssot/data-model-objects/{dmo_name}
191
191
  ```
192
192
 
@@ -219,29 +219,29 @@ Response structure (same as individual object in list response, but wrapped in p
219
219
  ## Example Usage
220
220
 
221
221
  **Example 1: List all DLOs**
222
- ```
222
+ ```text
223
223
  User: "Show me all DLOs in afvibe org"
224
224
 
225
225
  Response:
226
226
  1. Run sf org list to discover connected org alias
227
227
  2. Authenticate to afvibe
228
- 3. Run: python3 <skill_dir>/scripts/get_dlo_schema.py afvibe
228
+ 3. Run: python3 ./scripts/get_dlo_schema.py afvibe
229
229
  4. Display formatted list of DLOs
230
230
  ```
231
231
 
232
232
  **Example 2: Get specific DLO schema**
233
- ```
233
+ ```text
234
234
  User: "Get the schema for Employee__dll in afvibe"
235
235
 
236
236
  Response:
237
237
  1. Run sf org list to discover connected org alias
238
238
  2. Authenticate to afvibe
239
- 3. Run: python3 <skill_dir>/scripts/get_dlo_schema.py afvibe Employee__dll
239
+ 3. Run: python3 ./scripts/get_dlo_schema.py afvibe Employee__dll
240
240
  4. Display field schema with types and metadata
241
241
  ```
242
242
 
243
243
  **Example 3: Explore DLOs then get schema**
244
- ```
244
+ ```text
245
245
  User: "What DLOs exist in myorg and show me the schema for the Employee one"
246
246
 
247
247
  Response:
@@ -253,29 +253,29 @@ Response:
253
253
  ```
254
254
 
255
255
  **Example 4: List all DMOs**
256
- ```
256
+ ```text
257
257
  User: "Show me all DMOs in afvibe org"
258
258
 
259
259
  Response:
260
260
  1. Run sf org list to discover connected org alias
261
261
  2. Authenticate to afvibe
262
- 3. Run: python3 <skill_dir>/scripts/get_dmo_schema.py afvibe
262
+ 3. Run: python3 ./scripts/get_dmo_schema.py afvibe
263
263
  4. Display formatted list of DMOs
264
264
  ```
265
265
 
266
266
  **Example 5: Get specific DMO schema**
267
- ```
267
+ ```text
268
268
  User: "Get the schema for Individual__dlm in afvibe"
269
269
 
270
270
  Response:
271
271
  1. Run sf org list to discover connected org alias
272
272
  2. Authenticate to afvibe
273
- 3. Run: python3 <skill_dir>/scripts/get_dmo_schema.py afvibe Individual__dlm
273
+ 3. Run: python3 ./scripts/get_dmo_schema.py afvibe Individual__dlm
274
274
  4. Display field schema with types and metadata
275
275
  ```
276
276
 
277
277
  **Example 6: Explore DMOs then get schema**
278
- ```
278
+ ```text
279
279
  User: "What DMOs exist in myorg and show me the schema for the Individual one"
280
280
 
281
281
  Response:
@@ -289,7 +289,7 @@ Response:
289
289
  ## Output Format
290
290
 
291
291
  ### DLO List Output
292
- ```
292
+ ```text
293
293
  Found 5 DLOs in org 'afvibe':
294
294
 
295
295
  1. DataCustomCodeLogs__dll
@@ -306,7 +306,7 @@ Found 5 DLOs in org 'afvibe':
306
306
  ```
307
307
 
308
308
  ### DLO Schema Output
309
- ```
309
+ ```yaml
310
310
  DLO: Employee__dll
311
311
  Label: Employee
312
312
  Category: Profile
@@ -331,7 +331,7 @@ Next steps:
331
331
  ```
332
332
 
333
333
  ### DMO List Output
334
- ```
334
+ ```text
335
335
  Found 10 DMOs in org 'afvibe':
336
336
 
337
337
  1. Individual__dlm
@@ -346,7 +346,7 @@ Found 10 DMOs in org 'afvibe':
346
346
  ```
347
347
 
348
348
  ### DMO Schema Output
349
- ```
349
+ ```yaml
350
350
  DMO: Individual__dlm
351
351
  Label: Individual
352
352
  Category: Profile
@@ -1,4 +1,4 @@
1
- # getting-datacloud-schema Skill
1
+ # data360-schema-get Skill
2
2
 
3
3
  ## Overview
4
4
 
@@ -7,25 +7,25 @@ A skill that retrieves Data Lake Object (DLO) and Data Model Object (DMO) schema
7
7
  ## Usage
8
8
 
9
9
  **List all DLOs:**
10
- ```
10
+ ```text
11
11
  "Show me all DLOs in afvibe org"
12
12
  "List Data Lake Objects in myorg"
13
13
  ```
14
14
 
15
15
  **Get specific DLO schema:**
16
- ```
16
+ ```text
17
17
  "Get the schema for Employee__dll in afvibe"
18
18
  "What fields does the Employee__dll DLO have in myorg?"
19
19
  ```
20
20
 
21
21
  **List all DMOs:**
22
- ```
22
+ ```text
23
23
  "Show me all DMOs in afvibe org"
24
24
  "List Data Model Objects in myorg"
25
25
  ```
26
26
 
27
27
  **Get specific DMO schema:**
28
- ```
28
+ ```text
29
29
  "Get the schema for Individual__dlm in afvibe"
30
30
  "What fields does the Individual__dlm DMO have in myorg?"
31
31
  ```
@@ -116,7 +116,7 @@ python3 scripts/get_dmo_schema.py afvibe Individual__dlm
116
116
  ## Output Format
117
117
 
118
118
  ### DLO List
119
- ```
119
+ ```text
120
120
  Found 5 DLOs in org 'afvibe':
121
121
 
122
122
  1. DataCustomCodeLogs__dll
@@ -131,7 +131,7 @@ Found 5 DLOs in org 'afvibe':
131
131
  ```
132
132
 
133
133
  ### DLO Schema
134
- ```
134
+ ```text
135
135
  DLO: Employee__dll
136
136
  Label: Employee
137
137
  Category: Profile
@@ -148,7 +148,7 @@ Fields (9 total):
148
148
  ```
149
149
 
150
150
  ### DMO List
151
- ```
151
+ ```text
152
152
  Found 10 DMOs in org 'afvibe':
153
153
 
154
154
  1. Individual__dlm
@@ -161,7 +161,7 @@ Found 10 DMOs in org 'afvibe':
161
161
  ```
162
162
 
163
163
  ### DMO Schema
164
- ```
164
+ ```text
165
165
  DMO: Individual__dlm
166
166
  Label: Individual
167
167
  Category: Profile