@salesforce/afv-skills 1.63.0 → 1.64.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 (137) hide show
  1. package/package.json +1 -1
  2. package/skills/agentforce-offline-experimentation-run/SKILL.md +253 -0
  3. package/skills/agentforce-offline-experimentation-run/scripts/build_report.py +796 -0
  4. package/skills/agentforce-offline-experimentation-run/scripts/resolve-token.sh +111 -0
  5. package/skills/agentforce-offline-experimentation-run/scripts/sfap_replay.py +1053 -0
  6. package/skills/automation-sandbox-post-copy-config-generate/SKILL.md +21 -11
  7. package/skills/automation-sandbox-post-copy-config-generate/assets/config_template.json +10 -0
  8. package/skills/automation-sandbox-post-copy-config-generate/assets/json_schema.json +33 -1
  9. package/skills/automation-sandbox-post-copy-config-generate/references/configuration_catalog.md +44 -1
  10. package/skills/automation-sandbox-post-copy-configure/SKILL.md +132 -124
  11. package/skills/automation-sandbox-post-copy-configure/references/flow_activation_path.md +151 -0
  12. package/skills/automation-sandbox-post-copy-configure/references/scheduled_apex_path.md +55 -9
  13. package/skills/consumer-goods-promotion-bo-api-deploy/SKILL.md +54 -107
  14. package/skills/consumer-goods-promotion-bo-api-deploy/assets/set-comment-value/payloads/copy.json +1 -1
  15. package/skills/consumer-goods-promotion-bo-api-deploy/references/conventions-and-payload-rules.md +82 -5
  16. package/skills/consumer-goods-promotion-bo-api-deploy/references/generate-and-wire.md +35 -2
  17. package/skills/consumer-goods-promotion-bo-api-deploy/references/preflight-and-seed-queries.md +149 -0
  18. package/skills/consumer-goods-promotion-bo-api-deploy/references/smoke-and-verify.md +17 -1
  19. package/skills/dx-devops-conflict-resolve/SKILL.md +1 -5
  20. package/skills/dx-devops-pipeline-manage/SKILL.md +1 -5
  21. package/skills/dx-devops-project-manage/SKILL.md +1 -5
  22. package/skills/dx-devops-promote/SKILL.md +1 -5
  23. package/skills/dx-devops-request-status/SKILL.md +1 -5
  24. package/skills/dx-lifecycle-center/SKILL.md +120 -0
  25. package/skills/dx-lifecycle-center/examples/workflows.md +175 -0
  26. package/skills/dx-lifecycle-center/references/connect-api.md +123 -0
  27. package/skills/dx-lifecycle-center/references/connect-org.md +184 -0
  28. package/skills/dx-lifecycle-center/references/deploy.md +153 -0
  29. package/skills/dx-lifecycle-center/references/error-handling.md +21 -0
  30. package/skills/dx-lifecycle-center/references/hub-org.md +37 -0
  31. package/skills/dx-lifecycle-center/references/list-orgs.md +99 -0
  32. package/skills/dx-lifecycle-center/references/request-body.md +75 -0
  33. package/skills/dx-lifecycle-center/references/troubleshooting.md +31 -0
  34. package/skills/dx-lifecycle-center/scripts/poll-deploy-status.sh +200 -0
  35. package/skills/dx-lifecycle-center/scripts/resolve-environment.sh +120 -0
  36. package/skills/dx-org-devhub-configure/SKILL.md +1 -3
  37. package/skills/dx-org-shape-manage/SKILL.md +1 -5
  38. package/skills/dx-org-snapshot-manage/SKILL.md +1 -3
  39. package/skills/education-cloud-academic-calendar-generate/SKILL.md +1 -3
  40. package/skills/education-cloud-course-catalog-migrate/SKILL.md +1 -3
  41. package/skills/education-cloud-domain-configure/SKILL.md +1 -3
  42. package/skills/education-cloud-multi-campus-configure/SKILL.md +1 -3
  43. package/skills/education-cloud-student-recruitment-agent-configure/SKILL.md +1 -5
  44. package/skills/experience-ui-bundle-2gp-deploy/SKILL.md +1 -3
  45. package/skills/experience-ui-bundle-features-generate/SKILL.md +1 -5
  46. package/skills/experience-ui-bundle-mfa-configure/SKILL.md +1 -3
  47. package/skills/field-service-data-capture-migrate/SKILL.md +1 -3
  48. package/skills/insurance-brokerage-agency-billing-configure/SKILL.md +1 -3
  49. package/skills/marketing-message-test/SKILL.md +1 -3
  50. package/skills/nonprofit-fundraising-configure/SKILL.md +240 -0
  51. package/skills/nonprofit-fundraising-configure/references/gotchas.md +26 -0
  52. package/skills/nonprofit-fundraising-configure/references/mcp-invocation.md +678 -0
  53. package/skills/nonprofit-fundraising-configure/references/permission-targeting.md +35 -0
  54. package/skills/nonprofit-volunteer-management-model-get/SKILL.md +166 -0
  55. package/skills/nonprofit-volunteer-management-model-get/references/entities.md +315 -0
  56. package/skills/nonprofit-volunteer-management-model-get/references/relationships.md +175 -0
  57. package/skills/nonprofit-volunteer-management-model-get/references/themes.md +143 -0
  58. package/skills/nonprofit-volunteer-management-records-create/SKILL.md +121 -0
  59. package/skills/nonprofit-volunteer-management-records-create/references/field-guide.md +284 -0
  60. package/skills/nonprofit-volunteer-management-records-create/references/mcp-invocation.md +248 -0
  61. package/skills/nonprofit-volunteer-management-records-create/references/review-format.md +140 -0
  62. package/skills/nonprofit-volunteer-management-records-create/scripts/expand-series.py +632 -0
  63. package/skills/nonprofit-volunteer-management-records-create/scripts/render-review-table.py +419 -0
  64. package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_expand_series.py +690 -0
  65. package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_render_review_table.py +421 -0
  66. package/skills/nonprofit-volunteer-management-structure-generate/SKILL.md +119 -0
  67. package/skills/nonprofit-volunteer-management-structure-generate/references/configuration-decisions.md +159 -0
  68. package/skills/nonprofit-volunteer-management-structure-generate/references/discovery-interview.md +137 -0
  69. package/skills/nonprofit-volunteer-management-structure-generate/references/edge-cases.md +48 -0
  70. package/skills/nonprofit-volunteer-management-structure-generate/references/mcp-invocation.md +75 -0
  71. package/skills/nonprofit-volunteer-management-structure-generate/references/plan-output.md +141 -0
  72. package/skills/platform-custom-field-generate/SKILL.md +1 -0
  73. package/skills/platform-custom-field-generate/references/advanced-picklists.md +5 -5
  74. package/skills/platform-custom-metadata-type-generate/SKILL.md +3 -0
  75. package/skills/platform-custom-object-generate/SKILL.md +4 -0
  76. package/skills/platform-custom-setting-generate/SKILL.md +3 -0
  77. package/skills/platform-datamask-run/SKILL.md +1 -5
  78. package/skills/platform-permission-set-generate/SKILL.md +3 -0
  79. package/skills/platform-salesforce-connect-adapter-generate/SKILL.md +1 -3
  80. package/skills/platform-sandbox-configure/SKILL.md +1 -3
  81. package/skills/platform-value-set-generate/SKILL.md +3 -0
  82. package/skills/sales-call-scoring-configure/SKILL.md +1 -5
  83. package/skills/service-agentforce-channel-configure/SKILL.md +1 -3
  84. package/skills/service-agentforce-human-escalation-configure/SKILL.md +1 -3
  85. package/skills/service-catalog-template-coordinate/SKILL.md +1 -3
  86. package/skills/service-concierge-portal-generate/SKILL.md +1 -3
  87. package/skills/service-email-to-case-configure/SKILL.md +1 -5
  88. package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/SKILL.md +1 -3
  89. package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +1 -3
  90. package/skills/service-itsm-agentic-setup-agentforce-studio-configure/SKILL.md +1 -3
  91. package/skills/service-itsm-agentic-setup-agentforce-studio-validate/SKILL.md +1 -3
  92. package/skills/service-itsm-agentic-setup-cmdb-access-assign/SKILL.md +1 -3
  93. package/skills/service-itsm-agentic-setup-cmdb-bundle-deploy/SKILL.md +1 -5
  94. package/skills/service-itsm-agentic-setup-cmdb-configure/SKILL.md +1 -3
  95. package/skills/service-itsm-agentic-setup-cmdb-coordinate/SKILL.md +1 -3
  96. package/skills/service-itsm-agentic-setup-cmdb-discovery-configure/SKILL.md +1 -3
  97. package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +1 -3
  98. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +1 -3
  99. package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +1 -0
  100. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/SKILL.md +1 -3
  101. package/skills/service-itsm-agentic-setup-uel-user-create/SKILL.md +1 -9
  102. package/skills/service-itsm-incident-mgmt-configure/SKILL.md +1 -5
  103. package/skills/service-itsm-incident-priority-configure/SKILL.md +1 -3
  104. package/skills/service-itsm-slack-itservice-configure/SKILL.md +1 -3
  105. package/skills/service-itsm-swarming-configure/SKILL.md +1 -3
  106. package/skills/service-itsm-teams-configure/SKILL.md +1 -3
  107. package/skills/service-itsm-teams-debug/SKILL.md +1 -3
  108. package/skills/service-itsm-teams-employee-agent-configure/SKILL.md +1 -3
  109. package/skills/service-itsm-teams-itdesk-configure/SKILL.md +1 -3
  110. package/skills/service-itsm-teams-itservice-configure/SKILL.md +1 -3
  111. package/skills/service-native-voice-recording-transcription-configure/SKILL.md +1 -3
  112. package/skills/service-omni-agent-users-create/SKILL.md +1 -3
  113. package/skills/service-omni-agent-work-sharing-configure/SKILL.md +1 -3
  114. package/skills/service-omni-attribute-routing-configure/SKILL.md +1 -3
  115. package/skills/service-omni-base-settings-configure/SKILL.md +1 -3
  116. package/skills/service-omni-channel-inventory-analyze/SKILL.md +1 -3
  117. package/skills/service-omni-channel-limits-analyze/SKILL.md +1 -3
  118. package/skills/service-omni-channel-setup-coordinate/SKILL.md +1 -3
  119. package/skills/service-omni-command-center-analyze/SKILL.md +1 -3
  120. package/skills/service-omni-command-center-configure/SKILL.md +1 -3
  121. package/skills/service-omni-permission-set-assign/SKILL.md +1 -3
  122. package/skills/service-omni-presence-status-deploy/SKILL.md +1 -3
  123. package/skills/service-omni-presence-user-config-deploy/SKILL.md +1 -3
  124. package/skills/service-omni-queue-deploy/SKILL.md +1 -3
  125. package/skills/service-omni-queue-members-assign/SKILL.md +1 -3
  126. package/skills/service-omni-queue-routing-config-deploy/SKILL.md +1 -3
  127. package/skills/service-omni-routing-flow-deploy/SKILL.md +1 -3
  128. package/skills/service-omni-service-channel-configure/SKILL.md +1 -3
  129. package/skills/service-omni-sidebar-configure/SKILL.md +1 -3
  130. package/skills/service-omni-skills-based-routing-configure/SKILL.md +1 -3
  131. package/skills/service-omni-supervisor-config-deploy/SKILL.md +1 -3
  132. package/skills/service-omni-supervisor-permset-assign/SKILL.md +1 -3
  133. package/skills/service-omni-supervisor-surface-deploy/SKILL.md +1 -3
  134. package/skills/service-omni-supervisor-users-create/SKILL.md +1 -3
  135. package/skills/service-omni-work-skill-routing-configure/SKILL.md +1 -3
  136. package/skills/field-service-setup-orchestrator-get/SKILL.md +0 -47
  137. package/skills/tableau-next-asset-create/README.md +0 -65
@@ -0,0 +1,140 @@
1
+ # Review Format — what the user sees (SKILL.md steps 7 and 10)
2
+
3
+ **When to load:** step 7, before filling any values. The layout is the same whether the skill was
4
+ chained from `nonprofit-volunteer-management-structure-generate` or started on its own.
5
+
6
+ ## Three phases, always in this order
7
+
8
+ 1. **Insert summary — once, up front, in plain language.** Open with one sentence saying what the
9
+ run will write, e.g. *"We'll create 1 Volunteer Initiative, 3 Job Positions across 2 Locations,
10
+ and a 30-shift schedule, and reuse 2 existing Locations."* Then: **Reuse** (each existing record
11
+ as "Name · object", no Ids) and **New** (per object, with counts); one short paragraph on how the
12
+ records fit together; the write order; and the origin-tag legend. Close with: *"Next we'll go
13
+ through each object one at a time. You can change any record before it's written; when you
14
+ confirm an object's table, those records are written and we move to the next object."*
15
+ 2. **Per object, one at a time, in write order:** what it is, its field guide, its records table,
16
+ and the modify prompt. Confirming the table is the yes to write it — no second confirmation.
17
+ Write, read back, then move to the next object. Never show every object's tables up front.
18
+ 3. **Final insert report — once, at the end.** One table of every record this run wrote or reused,
19
+ and of any planned record that wasn't written.
20
+
21
+ ## Origin tags (every records table)
22
+
23
+ Every value passed to `scripts/render-review-table.py` carries one of these. The table prints only
24
+ `reuse` and `needs-input`; the others are checked by the script but not shown, because the user
25
+ reviews every value the same way whatever its origin.
26
+
27
+ | Tag | Meaning |
28
+ |---|---|
29
+ | `given` | From the user or the plan |
30
+ | `default` | A safe default (e.g. Status `Upcoming`) |
31
+ | `generated` | The skill's proposed value — a suggestion, not something the user gave |
32
+ | `reuse` | A lookup to an existing record — the cell shows that record's Name |
33
+ | `new` | A lookup to a record created this run — the cell shows that record's Name |
34
+ | `needs-input` | A required value still missing — must be filled before the write |
35
+
36
+ Lookup cells show the referenced record's **Name**, never an Id. The Ids are written internally and
37
+ appear in the final report.
38
+
39
+ ## Filling values — grounded only, consent per object
40
+
41
+ The fill mode (**Prefill everything** or **Generate together**) decides how much is filled at
42
+ once, not whether values may be invented. Either mode fills only: `given` values, safe `default`s,
43
+ and honest `generated` proposals.
44
+
45
+ - **Proposable:** a recommended or optional field with a safe default or an honest best guess.
46
+ Propose it, tagged `generated`; the user edits if they disagree.
47
+ - **Must-ask (never invented):** values only the user knows — Location Type, an Address's street,
48
+ city, state, postal code and country, a Job Position Title the user hasn't given — and any
49
+ `Description` with no real context. They stay `needs-input` (or blank, for an optional
50
+ Description) and are asked at their own object.
51
+
52
+ **"Just make one up" covers only the object under review.** When you move to the next object,
53
+ must-ask fields reset to `needs-input` and you ask again. Values made up at the user's request are
54
+ tagged `generated`, and the review says plainly that they were made up on request (the table
55
+ doesn't show that tag, so say it in the message).
56
+
57
+ ## Per-object block
58
+
59
+ - **Header:** `‹Object› — ‹i› of ‹N› objects (‹n› new)`, e.g. `Job Positions — 3 of 7 objects (3 new)`.
60
+ - **What this is:** 1–2 sentences on what the object is for in this program.
61
+ - **Field guide** — one row per **field**, not per record. Columns **Field · Type · What it does ·
62
+ Recommendation**.
63
+ - **Field:** the label (an admin-renamed label from the description wins).
64
+ - **Type:** the type an admin sees in Setup: Text, Text Area, Date, Time, Date/Time, Number,
65
+ Checkbox, Picklist, Auto Number, Formula, `Lookup → ‹object›`. Never merge two different types
66
+ (Text Area ≠ Text, Time ≠ Date).
67
+ - **What it does:** the field's `Meaning` from `references/field-guide.md`, verbatim. The
68
+ `Policy` column there is internal and never shown.
69
+ - **Recommendation:** tier 1 → required, tier 2 → recommended, tier 3 → optional; a required
70
+ custom field → `required · custom`. List every field you'll fill and every schema-required
71
+ field. Tier 4 and 5 fields are hidden and named in a trailing `Not set (system-managed): …` line.
72
+ - **Records table** — one row per **record**. **Always render it with
73
+ `scripts/render-review-table.py`; never type the table by hand.** Hand-typed rows put values under
74
+ the wrong column when records' fields arrive in different orders. Pass the object's records as
75
+ JSON (field → value + origin tag) and show the script's output as-is. The script fixes the column
76
+ order (Record, then fields in field-guide tier order, then lookups last), uses labels as headers,
77
+ shows required fields as `needs-input` when empty, leaves out optional fields no record uses,
78
+ drops the Name column when the row label already shows it, moves a value that's the same on
79
+ every row into one `Same on every row: …` line above the table, and groups identical rows behind
80
+ "show all N". Spec in the script's docstring.
81
+ - **Shifts:** one record per **series**, not per shift. The record's `label` names the series
82
+ (`Saturdays 9:00–12:00 · 3 Oct → 19 Dec 2026 · 12 shifts`); Start Date holds the pattern
83
+ (`every Saturday from 3 Oct 2026`), End Date `same day` (or `next day` for an overnight shift),
84
+ and the other fields their shared values. Pass a `title` that counts shifts
85
+ (`Records to insert — 12 Job Position Shifts (1 series)`).
86
+ - **More than 10 series:** one row per **schedule** instead — series that share days, times and
87
+ dates (e.g. the same season at every site) are one row. The Job Position cell names the group
88
+ (`16 job positions · 4 roles × 4 sites`), and a value that differs within the group is spelled
89
+ out in its cell (`by role: Site Lead 1 · Check-in 10 · Planter none`). The `title` counts both
90
+ (`Records to insert — 2,304 Job Position Shifts (48 series, 3 schedules)`). Offer "show all
91
+ series" for the per-series table.
92
+ - **Modify prompt:** invite edits, apply them, re-render with the script, and ask again.
93
+
94
+ One table per object; never mix two objects' fields.
95
+
96
+ ---
97
+
98
+ ## Template — insert summary and one per-object block
99
+
100
+ `{…}` is a per-run value; `‹…›` comes from `references/field-guide.md` or the script.
101
+
102
+ ```text
103
+ Insert summary (only the objects in this run; omit a line with nothing to show)
104
+ Reusing: {Name · object}, …
105
+ Creating: {object} ({count}) · {object} ({count}) · … (in write order)
106
+ How it fits: {1–2 sentences tying this run's records together}
107
+ Order: {write order for exactly the objects above}
108
+ Lookups show Names; Ids are in the final report.
109
+
110
+ ▶ {Object} — {i} of {N} objects ({n} new)
111
+ What this is: {1–2 sentences}
112
+
113
+ Field guide
114
+ | Field | Type | What it does | Recommendation |
115
+ | ‹field label› | ‹type, e.g. Lookup → Location› | ‹Meaning from field-guide.md› | ‹required / recommended / optional› |
116
+ Not set (system-managed): ‹tier 4 and 5 fields›
117
+
118
+ ‹output of scripts/render-review-table.py for this object›
119
+
120
+ Anything to change? e.g. "‹field› = ‹value› for all", "row 2 ‹field› → ‹value›". Otherwise reply "insert".
121
+ ```
122
+
123
+ ---
124
+
125
+ ## Final insert report
126
+
127
+ ```text
128
+ Insert complete — {total} records across {k} objects
129
+ | Object | Record (Name) | Id | Result |
130
+ | {object} | {record Name} | {record Id} | created |
131
+ | {object} | {record Name} | {record Id} | reused |
132
+ | {object} | {series label} | {first Id}–{last Id} | {n} created |
133
+ | {object} | {record Name} | — | not created — {reason} |
134
+ Planned {p} · Created {c} · Reused {r} · Not created {x}
135
+ ```
136
+
137
+ A shift or time-slot series is one row with its count and Id range. If a write failed part-way, the
138
+ records that were created stay — list them as `created`, list the rest as `not created` with the
139
+ error, and say what the user can do next. Nothing is undone. For a shift series, state the dates it
140
+ covers and that later shifts are added in a later run.