@salesforce/afv-skills 1.63.0 → 1.65.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 (484) hide show
  1. package/package.json +1 -1
  2. package/skills/agentforce-gpt-email-generation-configure/SKILL.md +312 -0
  3. package/skills/agentforce-offline-experimentation-run/SKILL.md +253 -0
  4. package/skills/agentforce-offline-experimentation-run/scripts/build_report.py +796 -0
  5. package/skills/agentforce-offline-experimentation-run/scripts/resolve-token.sh +111 -0
  6. package/skills/agentforce-offline-experimentation-run/scripts/sfap_replay.py +1053 -0
  7. package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +64 -0
  8. package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +46 -0
  9. package/skills/automation-company-profile-info-query/SKILL.md +51 -0
  10. package/skills/automation-digital-wallet-configure/SKILL.md +689 -0
  11. package/skills/automation-flow-coordinate/SKILL.md +95 -0
  12. package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +1569 -0
  13. package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +96 -0
  14. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +23 -0
  15. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +31 -0
  16. package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +179 -0
  17. package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +13 -0
  18. package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +83 -0
  19. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +69 -0
  20. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +274 -0
  21. package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +192 -0
  22. package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +130 -0
  23. package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +92 -0
  24. package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +88 -0
  25. package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +152 -0
  26. package/skills/automation-flow-coordinate/references/elements/start/start.md +539 -0
  27. package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +152 -0
  28. package/skills/automation-flow-coordinate/references/elements/wait/wait.md +497 -0
  29. package/skills/automation-flow-coordinate/references/recipes/author/author.md +868 -0
  30. package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +300 -0
  31. package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +292 -0
  32. package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +323 -0
  33. package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +109 -0
  34. package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +219 -0
  35. package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +180 -0
  36. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +175 -0
  37. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +255 -0
  38. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +212 -0
  39. package/skills/automation-flow-coordinate/references/resources/variable/variable.md +171 -0
  40. package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +786 -0
  41. package/skills/automation-flow-coordinate/references/shared/end/end.md +267 -0
  42. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +69 -0
  43. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +80 -0
  44. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +116 -0
  45. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +321 -0
  46. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +320 -0
  47. package/skills/automation-flow-coordinate/references/shared/server-functions.md +597 -0
  48. package/skills/automation-sandbox-post-copy-config-generate/SKILL.md +21 -11
  49. package/skills/automation-sandbox-post-copy-config-generate/assets/config_template.json +10 -0
  50. package/skills/automation-sandbox-post-copy-config-generate/assets/json_schema.json +33 -1
  51. package/skills/automation-sandbox-post-copy-config-generate/references/configuration_catalog.md +44 -1
  52. package/skills/automation-sandbox-post-copy-configure/SKILL.md +132 -124
  53. package/skills/automation-sandbox-post-copy-configure/references/flow_activation_path.md +151 -0
  54. package/skills/automation-sandbox-post-copy-configure/references/scheduled_apex_path.md +55 -9
  55. package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +69 -0
  56. package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +78 -0
  57. package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +373 -0
  58. package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +273 -0
  59. package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +259 -0
  60. package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +369 -0
  61. package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +542 -0
  62. package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +159 -0
  63. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +349 -0
  64. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +505 -0
  65. package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +380 -0
  66. package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +567 -0
  67. package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +159 -0
  68. package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +360 -0
  69. package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +539 -0
  70. package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +358 -0
  71. package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +602 -0
  72. package/skills/commerce-b2b-store-configure/SKILL.md +251 -0
  73. package/skills/commerce-credit-memo-create/SKILL.md +139 -0
  74. package/skills/commerce-delivery-business-hours-configure/SKILL.md +277 -0
  75. package/skills/commerce-delivery-estimation-apply/SKILL.md +155 -0
  76. package/skills/commerce-delivery-estimation-configure/SKILL.md +377 -0
  77. package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +174 -0
  78. package/skills/commerce-estimate-bopis-query/SKILL.md +279 -0
  79. package/skills/commerce-estimate-delivery-date-query/SKILL.md +349 -0
  80. package/skills/commerce-fees-apply/SKILL.md +227 -0
  81. package/skills/commerce-fulfillment-routing-analyze/SKILL.md +200 -0
  82. package/skills/commerce-guest-buyer-create/SKILL.md +173 -0
  83. package/skills/commerce-location-bopis-configure/SKILL.md +378 -0
  84. package/skills/commerce-location-business-hours-configure/SKILL.md +235 -0
  85. package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +309 -0
  86. package/skills/commerce-location-graph-integrate/SKILL.md +131 -0
  87. package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +755 -0
  88. package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +331 -0
  89. package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +579 -0
  90. package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +626 -0
  91. package/skills/commerce-merchant-catalog-configure/SKILL.md +614 -0
  92. package/skills/commerce-merchant-extension-provider-configure/SKILL.md +368 -0
  93. package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +118 -0
  94. package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +65 -0
  95. package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +90 -0
  96. package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +72 -0
  97. package/skills/commerce-merchant-insights-query/SKILL.md +279 -0
  98. package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +656 -0
  99. package/skills/commerce-order-summary-change-apply/SKILL.md +375 -0
  100. package/skills/commerce-product-details-get/SKILL.md +363 -0
  101. package/skills/commerce-product-search/SKILL.md +563 -0
  102. package/skills/commerce-react-storefront-create/SKILL.md +350 -0
  103. package/skills/commerce-return-order-summary-create/SKILL.md +513 -0
  104. package/skills/commerce-search-relevance-analyze/SKILL.md +757 -0
  105. package/skills/commerce-temporary-processing-time-override-create/SKILL.md +274 -0
  106. package/skills/communications-initial-setup-configure/SKILL.md +630 -0
  107. package/skills/communications-multisite-configure/SKILL.md +571 -0
  108. package/skills/communications-revenue-cloud-settings-configure/SKILL.md +74 -0
  109. package/skills/communications-smb-fiber-catalog-create/SKILL.md +413 -0
  110. package/skills/communications-tmf-integrate/SKILL.md +1368 -0
  111. package/skills/consumer-goods-promotion-bo-api-deploy/SKILL.md +54 -107
  112. package/skills/consumer-goods-promotion-bo-api-deploy/assets/set-comment-value/payloads/copy.json +1 -1
  113. package/skills/consumer-goods-promotion-bo-api-deploy/references/conventions-and-payload-rules.md +82 -5
  114. package/skills/consumer-goods-promotion-bo-api-deploy/references/generate-and-wire.md +35 -2
  115. package/skills/consumer-goods-promotion-bo-api-deploy/references/preflight-and-seed-queries.md +149 -0
  116. package/skills/consumer-goods-promotion-bo-api-deploy/references/smoke-and-verify.md +17 -1
  117. package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +448 -0
  118. package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +269 -0
  119. package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +271 -0
  120. package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +382 -0
  121. package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +373 -0
  122. package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +389 -0
  123. package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +338 -0
  124. package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +547 -0
  125. package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +346 -0
  126. package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +1110 -0
  127. package/skills/crm-analytics-adoption-insights-configure/SKILL.md +224 -0
  128. package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +418 -0
  129. package/skills/crm-analytics-dashboards-configure/SKILL.md +731 -0
  130. package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +233 -0
  131. package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +184 -0
  132. package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +167 -0
  133. package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +55 -0
  134. package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +1350 -0
  135. package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +1862 -0
  136. package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +83 -0
  137. package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +81 -0
  138. package/skills/data360-activation-create/SKILL.md +104 -0
  139. package/skills/data360-activation-external-platform-get/SKILL.md +49 -0
  140. package/skills/data360-activation-target-create/SKILL.md +93 -0
  141. package/skills/data360-activation-v2-create/SKILL.md +456 -0
  142. package/skills/data360-audience-dmo-get/SKILL.md +38 -0
  143. package/skills/data360-calculated-affinity-create/SKILL.md +82 -0
  144. package/skills/data360-calculated-insight-create/SKILL.md +148 -0
  145. package/skills/data360-catalog-metadata-create/SKILL.md +183 -0
  146. package/skills/data360-code-extension-create/SKILL.md +115 -0
  147. package/skills/data360-communication-capping-create/SKILL.md +227 -0
  148. package/skills/data360-connection-create/SKILL.md +491 -0
  149. package/skills/data360-content-lens-create/SKILL.md +181 -0
  150. package/skills/data360-data-action-create/SKILL.md +126 -0
  151. package/skills/data360-data-action-target-create/SKILL.md +181 -0
  152. package/skills/data360-data-clean-room-create/SKILL.md +238 -0
  153. package/skills/data360-data-governance-create/SKILL.md +746 -0
  154. package/skills/data360-data-graph-create/SKILL.md +82 -0
  155. package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +38 -0
  156. package/skills/data360-data-lake-object-create/SKILL.md +207 -0
  157. package/skills/data360-data-model-object-catalog-get/SKILL.md +49 -0
  158. package/skills/data360-data-model-object-create/SKILL.md +128 -0
  159. package/skills/data360-data-model-object-mapping-create/SKILL.md +106 -0
  160. package/skills/data360-data-space-create/SKILL.md +161 -0
  161. package/skills/data360-data-streams-create/SKILL.md +324 -0
  162. package/skills/data360-engagement-signal-get/SKILL.md +38 -0
  163. package/skills/data360-experiment-create/SKILL.md +82 -0
  164. package/skills/data360-goal-based-campaign-create/SKILL.md +192 -0
  165. package/skills/data360-harmonization-process-history-get/SKILL.md +38 -0
  166. package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +84 -0
  167. package/skills/data360-identity-resolution-create/SKILL.md +115 -0
  168. package/skills/data360-intelligent-document-processing-create/SKILL.md +148 -0
  169. package/skills/data360-knowledge-graph-construction-create/SKILL.md +93 -0
  170. package/skills/data360-knowledge-graph-create/SKILL.md +216 -0
  171. package/skills/data360-knowledge-space-mcp-configure/SKILL.md +475 -0
  172. package/skills/data360-machine-learning-mcp-configure/SKILL.md +697 -0
  173. package/skills/data360-multi-org-mcp-configure/SKILL.md +117 -0
  174. package/skills/data360-secondary-index-mcp-configure/SKILL.md +126 -0
  175. package/skills/data360-segment-mcp-configure/SKILL.md +159 -0
  176. package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +93 -0
  177. package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +93 -0
  178. package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +93 -0
  179. package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +38 -0
  180. package/skills/data360-semantic-engine-mcp-configure/SKILL.md +62 -0
  181. package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +38 -0
  182. package/skills/data360-semantic-metric-mcp-configure/SKILL.md +93 -0
  183. package/skills/data360-semantic-model-mcp-configure/SKILL.md +115 -0
  184. package/skills/data360-standard-mapping-mcp-configure/SKILL.md +38 -0
  185. package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +73 -0
  186. package/skills/dx-devops-conflict-resolve/SKILL.md +1 -5
  187. package/skills/dx-devops-pipeline-manage/SKILL.md +1 -5
  188. package/skills/dx-devops-project-manage/SKILL.md +1 -5
  189. package/skills/dx-devops-promote/SKILL.md +1 -5
  190. package/skills/dx-devops-request-status/SKILL.md +1 -5
  191. package/skills/dx-lifecycle-center/SKILL.md +120 -0
  192. package/skills/dx-lifecycle-center/examples/workflows.md +175 -0
  193. package/skills/dx-lifecycle-center/references/connect-api.md +123 -0
  194. package/skills/dx-lifecycle-center/references/connect-org.md +184 -0
  195. package/skills/dx-lifecycle-center/references/deploy.md +153 -0
  196. package/skills/dx-lifecycle-center/references/error-handling.md +21 -0
  197. package/skills/dx-lifecycle-center/references/hub-org.md +37 -0
  198. package/skills/dx-lifecycle-center/references/list-orgs.md +99 -0
  199. package/skills/dx-lifecycle-center/references/request-body.md +75 -0
  200. package/skills/dx-lifecycle-center/references/troubleshooting.md +31 -0
  201. package/skills/dx-lifecycle-center/scripts/poll-deploy-status.sh +200 -0
  202. package/skills/dx-lifecycle-center/scripts/resolve-environment.sh +120 -0
  203. package/skills/dx-org-devhub-configure/SKILL.md +1 -3
  204. package/skills/dx-org-shape-manage/SKILL.md +1 -5
  205. package/skills/dx-org-snapshot-manage/SKILL.md +1 -3
  206. package/skills/education-cloud-academic-calendar-generate/SKILL.md +1 -3
  207. package/skills/education-cloud-course-catalog-migrate/SKILL.md +1 -3
  208. package/skills/education-cloud-domain-configure/SKILL.md +1 -3
  209. package/skills/education-cloud-multi-campus-configure/SKILL.md +1 -3
  210. package/skills/education-cloud-student-recruitment-agent-configure/SKILL.md +1 -5
  211. package/skills/experience-afv-query/SKILL.md +234 -0
  212. package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +63 -0
  213. package/skills/experience-apex-components-configure/SKILL.md +69 -0
  214. package/skills/experience-apex-pages-configure/SKILL.md +107 -0
  215. package/skills/experience-app-home-configure/SKILL.md +76 -0
  216. package/skills/experience-aura-lightning-out-access-configure/SKILL.md +58 -0
  217. package/skills/experience-briefcase-configure/SKILL.md +287 -0
  218. package/skills/experience-community-flexi-page-list-create/SKILL.md +74 -0
  219. package/skills/experience-community-template-definition-list-query/SKILL.md +48 -0
  220. package/skills/experience-community-theme-definition-list-query/SKILL.md +38 -0
  221. package/skills/experience-content-assets-configure/SKILL.md +86 -0
  222. package/skills/experience-custom-domain-create/SKILL.md +727 -0
  223. package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +41 -0
  224. package/skills/experience-field-service-app-builder-configure/SKILL.md +187 -0
  225. package/skills/experience-flow-category-configure/SKILL.md +117 -0
  226. package/skills/experience-formula-configure/SKILL.md +358 -0
  227. package/skills/experience-global-actions-configure/SKILL.md +69 -0
  228. package/skills/experience-global-publisher-layouts-configure/SKILL.md +79 -0
  229. package/skills/experience-instrumentation-configure/SKILL.md +64 -0
  230. package/skills/experience-lex-engagement-configure/SKILL.md +50 -0
  231. package/skills/experience-lightning-bolt-open/SKILL.md +12 -0
  232. package/skills/experience-lightning-out-configure/SKILL.md +129 -0
  233. package/skills/experience-lightning-preview-configure/SKILL.md +67 -0
  234. package/skills/experience-lightning-types-query/SKILL.md +98 -0
  235. package/skills/experience-malware-scan-configure/SKILL.md +71 -0
  236. package/skills/experience-my-salesforce-configure/SKILL.md +126 -0
  237. package/skills/experience-navigation-menus-configure/SKILL.md +235 -0
  238. package/skills/experience-notification-types-configure/SKILL.md +206 -0
  239. package/skills/experience-notifications-configure/SKILL.md +75 -0
  240. package/skills/experience-record-discovery-query/SKILL.md +227 -0
  241. package/skills/experience-regenerate-previews-open/SKILL.md +94 -0
  242. package/skills/experience-sales-cloud-mab-configure/SKILL.md +254 -0
  243. package/skills/experience-schema-builder-open/SKILL.md +38 -0
  244. package/skills/experience-simple-record-home-configure/SKILL.md +110 -0
  245. package/skills/experience-static-resources-configure/SKILL.md +74 -0
  246. package/skills/experience-ui-bundle-2gp-deploy/SKILL.md +1 -3
  247. package/skills/experience-ui-bundle-features-generate/SKILL.md +1 -5
  248. package/skills/experience-ui-bundle-mfa-configure/SKILL.md +1 -3
  249. package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +23 -2
  250. package/skills/field-service-data-capture-form-designer-configure/SKILL.md +13 -3
  251. package/skills/field-service-data-capture-migrate/SKILL.md +1 -3
  252. package/skills/field-service-mobile-branding-configure/SKILL.md +17 -3
  253. package/skills/field-service-objective-designer-configure/SKILL.md +72 -379
  254. package/skills/field-service-prework-brief-deployer-configure/SKILL.md +10 -537
  255. package/skills/field-service-scheduling-policy-designer-query/SKILL.md +65 -1093
  256. package/skills/{field-service-setup-orchestrator-get → field-service-setup-coordinate}/SKILL.md +18 -3
  257. package/skills/field-service-sobject-create-configure/SKILL.md +13 -213
  258. package/skills/field-service-voice-to-form-configure/SKILL.md +40 -11
  259. package/skills/field-service-work-plan-configure/SKILL.md +253 -0
  260. package/skills/field-service-work-rule-designer-configure/SKILL.md +121 -95
  261. package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +180 -0
  262. package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +196 -0
  263. package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +106 -0
  264. package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +96 -0
  265. package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +111 -0
  266. package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +250 -0
  267. package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +122 -0
  268. package/skills/fsc-digital-origination-coordinate/SKILL.md +653 -0
  269. package/skills/fsc-digital-origination-demo-run/SKILL.md +225 -0
  270. package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +112 -0
  271. package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +396 -0
  272. package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +336 -0
  273. package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +208 -0
  274. package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +375 -0
  275. package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +83 -0
  276. package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +248 -0
  277. package/skills/fsc-digital-origination-sample-data-create/SKILL.md +206 -0
  278. package/skills/fsc-document-checklist-settings-configure/SKILL.md +57 -0
  279. package/skills/fsc-flexible-hierarchy-configure/SKILL.md +148 -0
  280. package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +1430 -0
  281. package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +471 -0
  282. package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +429 -0
  283. package/skills/fsc-pricing-product-configurator-configure/SKILL.md +150 -0
  284. package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +123 -0
  285. package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +82 -0
  286. package/skills/fsc-product-act3-attributes-create/SKILL.md +249 -0
  287. package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +196 -0
  288. package/skills/fsc-product-act5-considerations-get/SKILL.md +44 -0
  289. package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +384 -0
  290. package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +144 -0
  291. package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +107 -0
  292. package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +189 -0
  293. package/skills/fsc-stage-management-definition-create/SKILL.md +108 -0
  294. package/skills/fsc-stage-management-permissions-assign/SKILL.md +143 -0
  295. package/skills/fsc-stage-management-transitions-configure/SKILL.md +139 -0
  296. package/skills/health-cloud-appt-booking-config-configure/SKILL.md +135 -0
  297. package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +134 -0
  298. package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +136 -0
  299. package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +134 -0
  300. package/skills/health-cloud-care-requests-create/SKILL.md +178 -0
  301. package/skills/health-cloud-initial-configure/SKILL.md +511 -0
  302. package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +1374 -0
  303. package/skills/health-cloud-provider-search-settings-configure/SKILL.md +924 -0
  304. package/skills/health-cloud-referral-management-coordinate/SKILL.md +513 -0
  305. package/skills/health-cloud-timeline-configure/SKILL.md +622 -0
  306. package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +135 -0
  307. package/skills/industries-account-score-settings-query/SKILL.md +78 -0
  308. package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +177 -0
  309. package/skills/industries-ad-product-availability-search/SKILL.md +399 -0
  310. package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +628 -0
  311. package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +73 -0
  312. package/skills/industries-atm-settings-starter-configure/SKILL.md +76 -0
  313. package/skills/industries-batch-document-ai-configure/SKILL.md +196 -0
  314. package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +71 -0
  315. package/skills/industries-branch-management-settings-configure/SKILL.md +89 -0
  316. package/skills/industries-bre-decision-table-access-configure/SKILL.md +367 -0
  317. package/skills/industries-brokerage-settings-configure/SKILL.md +41 -0
  318. package/skills/industries-calendar-sync-settings-configure/SKILL.md +89 -0
  319. package/skills/industries-care-request-settings-configure/SKILL.md +218 -0
  320. package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +54 -0
  321. package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +380 -0
  322. package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +216 -0
  323. package/skills/industries-catalog-process-intake-configure/SKILL.md +219 -0
  324. package/skills/industries-catalog-process-knowledge-configure/SKILL.md +153 -0
  325. package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +168 -0
  326. package/skills/industries-cds-general-settings-configure/SKILL.md +69 -0
  327. package/skills/industries-claim-financial-settings-configure/SKILL.md +169 -0
  328. package/skills/industries-clinical-data-model-settings-configure/SKILL.md +136 -0
  329. package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +105 -0
  330. package/skills/industries-collection-plan-settings-configure/SKILL.md +132 -0
  331. package/skills/industries-comms-service-console-settings-configure/SKILL.md +159 -0
  332. package/skills/industries-compliance-configure/SKILL.md +102 -0
  333. package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +76 -0
  334. package/skills/industries-contact-center-app-layout-configure/SKILL.md +88 -0
  335. package/skills/industries-contact-center-components-configure/SKILL.md +96 -0
  336. package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +95 -0
  337. package/skills/industries-contact-center-user-access-assign/SKILL.md +96 -0
  338. package/skills/industries-course-waitlist-config-configure/SKILL.md +162 -0
  339. package/skills/industries-crisis-center-settings-configure/SKILL.md +84 -0
  340. package/skills/industries-custom-object-settings-configure/SKILL.md +94 -0
  341. package/skills/industries-data-cloud-integration-configure/SKILL.md +88 -0
  342. package/skills/industries-data-space-feature-mappings-configure/SKILL.md +245 -0
  343. package/skills/industries-decision-matrix-builder-configure/SKILL.md +78 -0
  344. package/skills/industries-decision-table-hbase-configure/SKILL.md +87 -0
  345. package/skills/industries-decision-table-version-configure/SKILL.md +74 -0
  346. package/skills/industries-decision-tables-builder-configure/SKILL.md +253 -0
  347. package/skills/industries-decision-tables-configure/SKILL.md +439 -0
  348. package/skills/industries-energy-utilities-configure/SKILL.md +251 -0
  349. package/skills/industries-eu-cloud-multisite-configure/SKILL.md +1008 -0
  350. package/skills/industries-eu-new-connections-configure/SKILL.md +30 -0
  351. package/skills/industries-explainability-msg-template-configure/SKILL.md +135 -0
  352. package/skills/industries-expression-set-message-token-configure/SKILL.md +135 -0
  353. package/skills/industries-field-service-settings-configure/SKILL.md +82 -0
  354. package/skills/industries-form-framework-settings-configure/SKILL.md +30 -0
  355. package/skills/industries-fsc-ai-settings-configure/SKILL.md +57 -0
  356. package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +172 -0
  357. package/skills/industries-fsc-b2b-settings-configure/SKILL.md +61 -0
  358. package/skills/industries-fsc-insurance-settings-configure/SKILL.md +58 -0
  359. package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +103 -0
  360. package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +117 -0
  361. package/skills/industries-fsc-wealth-settings-configure/SKILL.md +99 -0
  362. package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +120 -0
  363. package/skills/industries-fundraising-rfm-configure/SKILL.md +128 -0
  364. package/skills/industries-fundraising-settings-configure/SKILL.md +145 -0
  365. package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +299 -0
  366. package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +87 -0
  367. package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +58 -0
  368. package/skills/industries-hc-score-category-settings-configure/SKILL.md +167 -0
  369. package/skills/industries-health-engagement-settings-configure/SKILL.md +218 -0
  370. package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +131 -0
  371. package/skills/industries-home-health-bundling-policy-create/SKILL.md +50 -0
  372. package/skills/industries-home-health-entity-labels-configure/SKILL.md +29 -0
  373. package/skills/industries-home-health-fsl-package-deploy/SKILL.md +71 -0
  374. package/skills/industries-home-health-fsl-settings-validate/SKILL.md +27 -0
  375. package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +80 -0
  376. package/skills/industries-home-health-guided-setup-configure/SKILL.md +836 -0
  377. package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +55 -0
  378. package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +61 -0
  379. package/skills/industries-home-health-licenses-assign/SKILL.md +27 -0
  380. package/skills/industries-home-health-operating-hours-create/SKILL.md +40 -0
  381. package/skills/industries-home-health-scheduling-policy-create/SKILL.md +41 -0
  382. package/skills/industries-home-health-service-objective-create/SKILL.md +22 -0
  383. package/skills/industries-home-health-skills-create/SKILL.md +31 -0
  384. package/skills/industries-home-health-users-create/SKILL.md +29 -0
  385. package/skills/industries-icm-act3-toggles-configure/SKILL.md +198 -0
  386. package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +361 -0
  387. package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +550 -0
  388. package/skills/industries-integrated-care-management-configure/SKILL.md +168 -0
  389. package/skills/industries-object-enablement-configure/SKILL.md +86 -0
  390. package/skills/industries-tpm-system-processing-service-configure/SKILL.md +64 -0
  391. package/skills/insurance-brokerage-agency-billing-configure/SKILL.md +1 -3
  392. package/skills/integration-apex-settings-configure/SKILL.md +61 -0
  393. package/skills/marketing-e360-email-archiving-configure/SKILL.md +73 -0
  394. package/skills/marketing-message-test/SKILL.md +1 -3
  395. package/skills/nonprofit-fundraising-configure/SKILL.md +240 -0
  396. package/skills/nonprofit-fundraising-configure/references/gotchas.md +26 -0
  397. package/skills/nonprofit-fundraising-configure/references/mcp-invocation.md +678 -0
  398. package/skills/nonprofit-fundraising-configure/references/permission-targeting.md +35 -0
  399. package/skills/nonprofit-volunteer-management-model-get/SKILL.md +166 -0
  400. package/skills/nonprofit-volunteer-management-model-get/references/entities.md +315 -0
  401. package/skills/nonprofit-volunteer-management-model-get/references/relationships.md +175 -0
  402. package/skills/nonprofit-volunteer-management-model-get/references/themes.md +143 -0
  403. package/skills/nonprofit-volunteer-management-records-create/SKILL.md +121 -0
  404. package/skills/nonprofit-volunteer-management-records-create/references/field-guide.md +284 -0
  405. package/skills/nonprofit-volunteer-management-records-create/references/mcp-invocation.md +248 -0
  406. package/skills/nonprofit-volunteer-management-records-create/references/review-format.md +140 -0
  407. package/skills/nonprofit-volunteer-management-records-create/scripts/expand-series.py +632 -0
  408. package/skills/nonprofit-volunteer-management-records-create/scripts/render-review-table.py +419 -0
  409. package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_expand_series.py +690 -0
  410. package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_render_review_table.py +421 -0
  411. package/skills/nonprofit-volunteer-management-structure-generate/SKILL.md +119 -0
  412. package/skills/nonprofit-volunteer-management-structure-generate/references/configuration-decisions.md +159 -0
  413. package/skills/nonprofit-volunteer-management-structure-generate/references/discovery-interview.md +137 -0
  414. package/skills/nonprofit-volunteer-management-structure-generate/references/edge-cases.md +48 -0
  415. package/skills/nonprofit-volunteer-management-structure-generate/references/mcp-invocation.md +75 -0
  416. package/skills/nonprofit-volunteer-management-structure-generate/references/plan-output.md +141 -0
  417. package/skills/platform-custom-field-generate/SKILL.md +1 -0
  418. package/skills/platform-custom-field-generate/references/advanced-picklists.md +5 -5
  419. package/skills/platform-custom-metadata-type-generate/SKILL.md +3 -0
  420. package/skills/platform-custom-object-generate/SKILL.md +4 -0
  421. package/skills/platform-custom-permissions-configure/SKILL.md +687 -0
  422. package/skills/platform-custom-setting-generate/SKILL.md +3 -0
  423. package/skills/platform-datamask-run/SKILL.md +1 -5
  424. package/skills/platform-label-workbench-import-create/SKILL.md +67 -0
  425. package/skills/platform-permission-set-generate/SKILL.md +3 -0
  426. package/skills/platform-privacy-agent-settings-configure/SKILL.md +752 -0
  427. package/skills/platform-salesforce-connect-adapter-generate/SKILL.md +1 -3
  428. package/skills/platform-sandbox-configure/SKILL.md +1 -3
  429. package/skills/platform-value-set-generate/SKILL.md +3 -0
  430. package/skills/sales-call-scoring-configure/SKILL.md +1 -5
  431. package/skills/service-agentforce-channel-configure/SKILL.md +1 -3
  432. package/skills/service-agentforce-human-escalation-configure/SKILL.md +1 -3
  433. package/skills/service-catalog-template-coordinate/SKILL.md +1 -3
  434. package/skills/service-concierge-portal-generate/SKILL.md +1 -3
  435. package/skills/service-email-to-case-configure/SKILL.md +1 -5
  436. package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/SKILL.md +1 -3
  437. package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +1 -3
  438. package/skills/service-itsm-agentic-setup-agentforce-studio-configure/SKILL.md +1 -3
  439. package/skills/service-itsm-agentic-setup-agentforce-studio-validate/SKILL.md +1 -3
  440. package/skills/service-itsm-agentic-setup-cmdb-access-assign/SKILL.md +1 -3
  441. package/skills/service-itsm-agentic-setup-cmdb-bundle-deploy/SKILL.md +1 -5
  442. package/skills/service-itsm-agentic-setup-cmdb-configure/SKILL.md +1 -3
  443. package/skills/service-itsm-agentic-setup-cmdb-coordinate/SKILL.md +1 -3
  444. package/skills/service-itsm-agentic-setup-cmdb-discovery-configure/SKILL.md +1 -3
  445. package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +1 -3
  446. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +1 -3
  447. package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +1 -0
  448. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/SKILL.md +1 -3
  449. package/skills/service-itsm-agentic-setup-uel-user-create/SKILL.md +1 -9
  450. package/skills/service-itsm-incident-mgmt-configure/SKILL.md +1 -5
  451. package/skills/service-itsm-incident-priority-configure/SKILL.md +1 -3
  452. package/skills/service-itsm-slack-itservice-configure/SKILL.md +1 -3
  453. package/skills/service-itsm-swarming-configure/SKILL.md +1 -3
  454. package/skills/service-itsm-teams-configure/SKILL.md +1 -3
  455. package/skills/service-itsm-teams-debug/SKILL.md +1 -3
  456. package/skills/service-itsm-teams-employee-agent-configure/SKILL.md +1 -3
  457. package/skills/service-itsm-teams-itdesk-configure/SKILL.md +1 -3
  458. package/skills/service-itsm-teams-itservice-configure/SKILL.md +1 -3
  459. package/skills/service-native-voice-recording-transcription-configure/SKILL.md +1 -3
  460. package/skills/service-omni-agent-users-create/SKILL.md +1 -3
  461. package/skills/service-omni-agent-work-sharing-configure/SKILL.md +1 -3
  462. package/skills/service-omni-attribute-routing-configure/SKILL.md +1 -3
  463. package/skills/service-omni-base-settings-configure/SKILL.md +1 -3
  464. package/skills/service-omni-channel-inventory-analyze/SKILL.md +1 -3
  465. package/skills/service-omni-channel-limits-analyze/SKILL.md +1 -3
  466. package/skills/service-omni-channel-setup-coordinate/SKILL.md +1 -3
  467. package/skills/service-omni-command-center-analyze/SKILL.md +1 -3
  468. package/skills/service-omni-command-center-configure/SKILL.md +1 -3
  469. package/skills/service-omni-permission-set-assign/SKILL.md +1 -3
  470. package/skills/service-omni-presence-status-deploy/SKILL.md +1 -3
  471. package/skills/service-omni-presence-user-config-deploy/SKILL.md +1 -3
  472. package/skills/service-omni-queue-deploy/SKILL.md +1 -3
  473. package/skills/service-omni-queue-members-assign/SKILL.md +1 -3
  474. package/skills/service-omni-queue-routing-config-deploy/SKILL.md +1 -3
  475. package/skills/service-omni-routing-flow-deploy/SKILL.md +1 -3
  476. package/skills/service-omni-service-channel-configure/SKILL.md +1 -3
  477. package/skills/service-omni-sidebar-configure/SKILL.md +1 -3
  478. package/skills/service-omni-skills-based-routing-configure/SKILL.md +1 -3
  479. package/skills/service-omni-supervisor-config-deploy/SKILL.md +1 -3
  480. package/skills/service-omni-supervisor-permset-assign/SKILL.md +1 -3
  481. package/skills/service-omni-supervisor-surface-deploy/SKILL.md +1 -3
  482. package/skills/service-omni-supervisor-users-create/SKILL.md +1 -3
  483. package/skills/service-omni-work-skill-routing-configure/SKILL.md +1 -3
  484. package/skills/tableau-next-asset-create/README.md +0 -65
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: experience-apex-pages-configure
3
+ description: "Use this skill when users want to manage Visualforce Apex Pages (key prefix `066`) via the Tooling sObject API. Trigger when users mention apex, pages, apex pages."
4
+ metadata:
5
+ version: "1.0"
6
+ accessCheck: "UserPermissions.ViewSetup"
7
+ ---
8
+
9
+ # Managing Apex Pages
10
+
11
+ ## When to Use This Skill
12
+
13
+ Manage Visualforce Apex Pages (key prefix `066`) via the Tooling sObject API. UDD
14
+ `sobjectFamily="TOOLING"` blocks standard sObject CRUD; Metadata API CRUD is
15
+ documented-broken on FullName (BI-EDS udd/216/ApexPage.entity.xml line 22). Tooling
16
+ sObject is the only working programmatic surface.
17
+
18
+ - List: `GET /services/data/v66.0/tooling/query?q=SELECT ... FROM ApexPage` —
19
+ filterable on Name, MasterLabel, NamespacePrefix, ApiVersion, ControllerType.
20
+ - Read one: `GET /services/data/v66.0/tooling/sobjects/ApexPage/{id}` — returns
21
+ full record incl. Markup, Metadata (ApexPageDescriptor), NamespacePrefix.
22
+ - Create: `POST /services/data/v66.0/tooling/sobjects/ApexPage` with required
23
+ body `{Name, MasterLabel, ApiVersion, Markup}`.
24
+
25
+ Required-on-create: `Name` (DeveloperName, ≤80), `MasterLabel` (≤80), `ApiVersion`
26
+ (DOUBLE, scale=1), `Markup` (CLOB, ≤1,048,576 chars). `ControllerType` is the
27
+ `ApexPageControllerType` enum (Standard | Custom | Extension) — first-class on
28
+ create when binding the page to a controller. Update (PATCH) and delete
29
+ (DELETE) on `/sobjects/ApexPage/{id}` exist in the Tooling REST contract but
30
+ are dropped from this SOR by the producer-merge layer; see `notes.coverage_gap`.
31
+
32
+ ## Workflow
33
+
34
+ Workflow: list_ApexPage_1 (SOQL filter to find a page by Name / MasterLabel /
35
+ ControllerType) → get_ApexPage_1 by Id (returns full Markup + Metadata) →
36
+ create_ApexPage_1 with required `{Name, MasterLabel, ApiVersion, Markup}`.
37
+ Read steps are independent — call get_ApexPage_1 directly when the Id is
38
+ already known.
39
+
40
+ ## Critical Constraints
41
+
42
+ **Preconditions:**
43
+
44
+ - Org must have Apex Pages enabled (`Apex Pages enabled` feature gate). Without this org-level setting the Tooling REST surface returns no rows / refuses writes regardless of user permissions. (check: `Apex Pages enabled`)
45
+ - Read access requires `OrgPermissions.AuthorApexPages` plus `UserPermissions.ViewSetup` (the Tooling per-API-access tuple on the ApexPage entity). (check: `UserPermissions.ViewSetup`)
46
+ - Create / update / delete requires `Customize Application permission` (entity `editAccess` on ApexPage). (check: `Customize Application permission`)
47
+
48
+ **Destructive operations — require explicit user confirmation:**
49
+
50
+ - **`delete_ApexPage_1`** — Delete a ApexPage record by Id via the Tooling/sObject API. The {id} path parameter is the record Id.
51
+ - Rollback: No automatic rollback.
52
+
53
+ ## Operations Reference
54
+
55
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
56
+
57
+ ### Summary
58
+
59
+ | Operation | Purpose | Status | Call | Depends on |
60
+ |-----------|---------|--------|------|------------|
61
+ | `list_ApexPage_1` | read | — | `query.ApexPage` | — |
62
+ | `get_ApexPage_1` | read | — | `sobjects/ApexPage/{id}` | — |
63
+ | `create_ApexPage_1` | write | — | `sobjects/ApexPage` | — |
64
+ | `update_ApexPage_1` | write | — | `sobjects/ApexPage/{id}` | — |
65
+ | `delete_ApexPage_1` | delete | — | `sobjects/ApexPage/{id}` | — |
66
+
67
+ ### Read operations
68
+
69
+ #### `list_ApexPage_1`
70
+
71
+ SOQL over ApexPage via Tooling. Filter on Name (DeveloperName), MasterLabel, NamespacePrefix, ApiVersion, ControllerType. Markup is large (≤1MB) — project explicitly when needed. Paginate via nextRecordsUrl when totalSize > 2000.
72
+
73
+ **Call:** `query.ApexPage`
74
+
75
+ **Output:** Tooling QueryResult: {totalSize: int, done: bool, nextRecordsUrl: string|null, records: [{Id (066…), Name, MasterLabel, ApiVersion, ControllerType, NamespacePrefix, ManageableState, CreatedDate, LastModifiedDate, ...projected}]}. done=false → call nextRecordsUrl to continue paging.
76
+
77
+ #### `get_ApexPage_1`
78
+
79
+ Get one ApexPage by Id (key prefix 066). Returns the full record including Markup (≤1MB CLOB), MasterLabel, ApiVersion (DOUBLE), ControllerType (`ApexPageControllerType` enum: Standard | Custom | Extension), Metadata (ApexPageDescriptor), NamespacePrefix. 404 NOT_FOUND when the Id is unknown.
80
+
81
+ **Call:** `sobjects/ApexPage/{id}`
82
+
83
+ **Output:** Full ApexPage record: {Id (066…), Name (DeveloperName, ≤80), MasterLabel (≤80), ApiVersion (DOUBLE), Markup (CLOB ≤1,048,576 chars), ControllerType (ApexPageControllerType enum: Standard|Custom|Extension), ControllerKey, NamespacePrefix, ManageableState, IsAvailableInTouch (bool), CreatedDate, LastModifiedDate, SystemModstamp, Metadata (ApexPageDescriptor — Tooling-only), FullName (Tooling-only)}.
84
+
85
+ ### Write operations
86
+
87
+ #### `create_ApexPage_1`
88
+
89
+ POST a new ApexPage. Required body fields: `Name` (DeveloperName, ≤80), `MasterLabel` (≤80), `ApiVersion` (DOUBLE), `Markup` (CLOB ≤1,048,576). Optional: `ControllerType` (ApexPageControllerType enum), `ControllerKey`, `Description`. Returns Tooling SaveResult `{id, success, errors[]}` plus a Location header pointing at `/sobjects/ApexPage/{id}`.
90
+
91
+ **Call:** `sobjects/ApexPage`
92
+
93
+ **Output:** Tooling SaveResult: {id: string (066…, the new ApexPage Id), success: bool, errors: [{statusCode, message, fields[]}]}. On success the response Location header carries `/services/data/v66.0/tooling/sobjects/ApexPage/{id}`. On REQUIRED_FIELD_MISSING / DUPLICATE_DEVELOPER_NAME / INVALID_FIELD, errors[] is populated and success=false.
94
+
95
+ #### `update_ApexPage_1`
96
+
97
+ Update a ApexPage record by Id via the Tooling/sObject API. The {id} path parameter is the record Id; body fields replace existing values.
98
+
99
+ **Call:** `sobjects/ApexPage/{id}`
100
+
101
+ ### Destructive operations
102
+
103
+ #### `delete_ApexPage_1`
104
+
105
+ Delete a ApexPage record by Id via the Tooling/sObject API. The {id} path parameter is the record Id.
106
+
107
+ **Call:** `sobjects/ApexPage/{id}`
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: experience-app-home-configure
3
+ description: "Use this skill when users want to app Manager Setup page. Trigger when users mention app, home, app home."
4
+ metadata:
5
+ version: "1.0"
6
+ ---
7
+
8
+ # Managing App Home
9
+
10
+ ## When to Use This Skill
11
+
12
+ App Manager Setup page. Three operations against CustomApplication Tooling records: list the App Manager picker categories (TabSetType API name to display label), delete a CustomApplication (logs an AppManagerListView audit record; returns null when caller lacks Customize Application), and upgrade a Classic CustomApplication to Lightning (clones plus optionally copies per-profile ProfileActionOverride rows). All steps AURA-IS-CANONICAL: no public Connect, Tooling, or Metadata equivalent reproduces the audit side-effect, permission-aware return, or the composite clone-plus-profile-copy.
13
+
14
+ ## Workflow
15
+
16
+ Three independent steps; no required ordering. get-list-views returns picker labels (no caller input). delete-app and upgrade-app each take a CustomApplication id sourced externally (Tooling SOQL on CustomApplication, or the page's loaded row set). All require Customize Application user permission.
17
+
18
+ ## Critical Constraints
19
+
20
+ **Destructive operations — require explicit user confirmation:**
21
+
22
+ - **`delete-app`** — Delete the CustomApplication identified by id. Logs an AppManagerListView audit record on success; returns null instead of the id when caller lacks Customize Application. AURA-IS-CANONICAL: raw Tooling DELETE loses the audit side-effect and the permission-aware null return.
23
+ - Rollback: No automatic rollback.
24
+
25
+ ## Operations Reference
26
+
27
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
28
+
29
+ ### Summary
30
+
31
+ | Operation | Purpose | Status | Call | Depends on |
32
+ |-----------|---------|--------|------|------------|
33
+ | `get-list-views` | read | implemented | `GET /headless/invoke/platform/app-home` | — |
34
+ | `delete-app` | delete | implemented | `DELETE /headless/invoke/platform/app-home/delete-app` | — |
35
+ | `upgrade-app` | write | implemented | `PATCH /headless/invoke/platform/app-home/upgrade-app` | — |
36
+
37
+ ### Read operations
38
+
39
+ #### `get-list-views`
40
+
41
+ Return the App Manager list-view picker as a map of TabSetType API name to display label (e.g. AllApps, Classic, Lightning) that scopes which CustomApplication rows the page renders.
42
+
43
+ **Call:** `GET /headless/invoke/platform/app-home` — status: `implemented`
44
+
45
+ **Notes:** adoption_note: Approved for agent serving. Returns the App Manager list-view picker as a map of TabSetType API name to display label (no caller input, no side effects), and carries a correct, unmasked permission gate that rejects unauthorized callers outright. The endpoint contract is sound and functional; approved for serving so it lands in the routes-jar regen.
46
+
47
+ ### Write operations
48
+
49
+ #### `upgrade-app`
50
+
51
+ Clone the source Classic CustomApplication (id) to a new Lightning CustomApplication with the supplied label/developerName; asserts source UiType is not already Lightning. When preserveProfileSetting=true, copies per-profile ProfileActionOverride entries. AURA-IS-CANONICAL: composite clone-plus-profile-copy has no public equivalent.
52
+
53
+ **Call:** `PATCH /headless/invoke/platform/app-home/upgrade-app` — status: `implemented`
54
+
55
+ **Inputs:**
56
+
57
+ - `id` *(`String`)* — Value for the id field.
58
+ - `label` *(`String`)* — Value for the label field.
59
+ - `developerName` *(`String`)* — Name of the developer.
60
+ - `preserveProfileSetting` *(`boolean`)* — Toggle the preserve profile setting preference on or off.
61
+
62
+ **Notes:** reject_on_attestation: Two-sided mutation: creates a new app cloned from the source app's metadata AND mutates the old app in place, plus copies permission-set assignments to the new app. Its only guard against a malformed invocation is not reliably enforced at runtime, so it cannot be relied on to reject one. Permission-gated but never live-validated for this node, with no natural way to read back and confirm the result afterward. Identical implementation independently gated to reject_on_attestation for the sibling NavigationMenus node on the same grounds. Too high-blast-radius and hard-to-reverse for autonomous invocation without human attestation.; masking_bug_pointer: Same pattern as delete-app: on any failure — a permission denial or any other error — this step returns a generic, uninformative error rather than one identifying the real problem. A headless caller cannot distinguish "access denied" from "clone failed" from any other failure via the error message alone.
63
+
64
+ ### Destructive operations
65
+
66
+ #### `delete-app`
67
+
68
+ Delete the CustomApplication identified by id. Logs an AppManagerListView audit record on success; returns null instead of the id when caller lacks Customize Application. AURA-IS-CANONICAL: raw Tooling DELETE loses the audit side-effect and the permission-aware null return.
69
+
70
+ **Call:** `DELETE /headless/invoke/platform/app-home/delete-app` — status: `implemented`
71
+
72
+ **Inputs:**
73
+
74
+ - `id` *(`String`)*
75
+
76
+ **Notes:** reject_on_attestation: Irreversible delete that also removes the app's per-profile visibility and its utility-bar and icon configuration, with no natural way to read back and confirm the result afterward. Permission-gated, but never live-validated for this node. Identical implementation independently gated to reject_on_attestation for the sibling NavigationMenus node on the same grounds. Do not auto-invoke; require explicit human attestation per invocation pending live E2E confirmation.; masking_bug_pointer: On any failure — including a permission denial — this step returns a generic, uninformative error rather than one identifying the real problem, so a caller cannot tell an access-denial apart from any other failure. The served description's claim that this step "returns null" on a permission failure is also inaccurate: null is returned only when the target app record is not found, never on permission denial.
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: experience-aura-lightning-out-access-configure
3
+ description: "Use this skill when users want to manage the AuraLightningOutAccess org preference, which gates whether Aura components can be served through Lightning Out (the cross-org embed surface for Aura). Trigger when users mention aura, lightning, out, access, aura lightning out access."
4
+ metadata:
5
+ version: "1.0"
6
+ accessCheck: "OrgPermissions.AuraLightningOutPermission"
7
+ ---
8
+
9
+ # Managing Aura Lightning Out Access
10
+
11
+ ## When to Use This Skill
12
+
13
+ Manage the AuraLightningOutAccess org preference, which gates whether Aura components can be served through Lightning Out (the cross-org embed surface for Aura). Two operations: read the current boolean state, then flip it on/off. The PATCH response echoes the new state, so the caller does not need a follow-up read to confirm persistence. Caller must hold the AuraLightningOutPermission org permission (UDD access check Lightning Out settings access).
14
+
15
+ ## Workflow
16
+
17
+ Org-wide preference gating whether Aura components can be served through Lightning Out (the cross-org Aura embed surface). Canonical flow: read the current boolean via the GET step, then PATCH the desired value; the write response echoes the post-update isPreferenceEnabled, so no follow-up read is needed. Writes require the AuraLightningOutPermission org permission — without it the PATCH returns 401 INSUFFICIENT_ACCESS "Cannot update preference value!" (distinct from an OAuth/token failure, which differs by errorCode). Reads are ungated. Send desiredState as the boolean; an empty body returns 400 "Invalid desiredState passed!".
18
+
19
+ ## Critical Constraints
20
+
21
+ **Preconditions:**
22
+
23
+ - Caller must hold the AuraLightningOutPermission org permission; the setup page's UDD access check userCanAccessAuraLightningOutSettings gates read/write of this preference. (check: `OrgPermissions.AuraLightningOutPermission`)
24
+
25
+ ## Operations Reference
26
+
27
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
28
+
29
+ ### Summary
30
+
31
+ | Operation | Purpose | Status | Call | Depends on |
32
+ |-----------|---------|--------|------|------------|
33
+ | `isOrgPreferenceEnabled_wire_2` | read | — | `checkPreference` | — |
34
+ | `setOrgPreferences_1` | write | — | `updatePreference` | `isOrgPreferenceEnabled_wire_2` |
35
+
36
+ ### Read operations
37
+
38
+ #### `isOrgPreferenceEnabled_wire_2`
39
+
40
+ Read whether the AuraLightningOutAccess org preference is currently enabled. Response field isPreferenceEnabled is the boolean.
41
+
42
+ **Call:** `checkPreference`
43
+
44
+ **Output:** PreferenceCheckOutputRepresentation with one field: isPreferenceEnabled (boolean) — true when AuraLightningOutAccess is currently enabled for the org, false otherwise.
45
+
46
+ ### Write operations
47
+
48
+ #### `setOrgPreferences_1`
49
+
50
+ Set the AuraLightningOutAccess org preference to the new boolean value. Response echoes the post-update isPreferenceEnabled, confirming persistence without an extra read.
51
+
52
+ **Call:** `updatePreference`
53
+
54
+ **Depends on:** `isOrgPreferenceEnabled_wire_2`
55
+
56
+ **Output:** PreferenceCheckOutputRepresentation echoing the new state: isPreferenceEnabled (boolean) is the value of AuraLightningOutAccess after the update — equals desiredState on success.
57
+
58
+ **Notes:** error_contracts: [{'status': 400, 'errorCode': 'BAD_REQUEST', 'message_pattern': 'Invalid desiredState passed!', 'when': 'Request body is empty or omits the desiredState field.', 'body_shape': '[{"errorCode":"BAD_REQUEST","message":"Invalid desiredState passed!"}]'}, {'status': 401, 'errorCode': 'INSUFFICIENT_ACCESS', 'message_pattern': 'Cannot update preference value!', 'when': 'Caller lacks the AuraLightningOutPermission org permission. Distinguish from an OAuth-token failure by the errorCode + message combination (a bad token would return AUTH_ERROR or 401 with a different message).', 'body_shape': '[{"errorCode":"INSUFFICIENT_ACCESS","message":"Cannot update preference value!"}]'}, {'status': 405, 'errorCode': 'METHOD_NOT_ALLOWED', 'when': 'A verb other than GET, HEAD, or PATCH is used against this path.', 'body_shape': '[{"errorCode":"METHOD_NOT_ALLOWED","message":"HTTP Method ... not allowed. Allowed are GET,HEAD,PATCH"}]'}]
@@ -0,0 +1,287 @@
1
+ ---
2
+ name: experience-briefcase-configure
3
+ description: "Use this skill when users want to manage Briefcase Definitions for offline mobile data priming. Trigger when users mention briefcase."
4
+ metadata:
5
+ version: "1.0"
6
+ accessCheck: "(Briefcase.userCanEditBriefcase) || (Briefcase.userCanViewBriefcase)"
7
+ ---
8
+
9
+ # Managing Briefcase
10
+
11
+ ## When to Use This Skill
12
+
13
+ Manage Briefcase Definitions for offline mobile data priming. This setup page lets admins create, edit, activate/deactivate, and delete Briefcase definitions that control which records are cached on mobile devices for offline use. It also manages briefcase rule configurations, user/profile assignments, connected app associations, and profile-level briefcase regeneration. Use this SOR when a user needs to configure offline data availability for Salesforce mobile apps.
14
+
15
+ ## Critical Constraints
16
+
17
+ **Preconditions:**
18
+
19
+ - User must have Briefcase EditBriefcase access (check: `Edit Briefcase permission`)
20
+ - User must have Briefcase ViewBriefcase access (check: `View Briefcase permission`)
21
+
22
+ **Destructive operations — require explicit user confirmation:**
23
+
24
+ - **`delete-briefcase-tooling`** — Permanently delete a Briefcase definition by its Salesforce ID via the Tooling API.
25
+ - Rollback: Cannot be undone — the Briefcase definition and all its rules/assignments are permanently removed
26
+
27
+ ## Verification Checklist
28
+
29
+ After every write operation, confirm the effect by re-reading state:
30
+
31
+ - After `get-briefcase-list-and-guardrail-org-values`: call `verify-acknowledge-hyperforce` (`GET /headless/invoke/platform/briefcase/get-briefcase-list-and-guardrail-org-values`)
32
+ - After `create-briefcase-tooling`: call `verify-create-briefcase-tooling` (`GET /services/data/v67.0/tooling/query`)
33
+ - After `update-briefcase-tooling`: call `verify-update-briefcase-tooling` (`GET /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}`)
34
+ - After `update-briefcase-state-tooling`: call `verify-update-briefcase-state-tooling` (`GET /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}`)
35
+ - After `delete-briefcase-tooling`: call `verify-delete-briefcase-tooling` (`GET /services/data/v67.0/tooling/query`)
36
+ - After `update-briefcase-assignments-sobject`: call `verify-update-briefcase-assignments-sobject` (`GET /services/data/v67.0/query`)
37
+
38
+ ## Operations Reference
39
+
40
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
41
+
42
+ ### Summary
43
+
44
+ | Operation | Purpose | Status | Call | Depends on |
45
+ |-----------|---------|--------|------|------------|
46
+ | `update-briefcase-connected-apps` | write | implemented | `PATCH /headless/invoke/platform/briefcase/update-briefcase-connected-apps` | — |
47
+ | `get-apps-list-for-briefcase` | read | implemented | `GET /headless/invoke/platform/briefcase/get-apps-list-for-briefcase` | — |
48
+ | `get-briefcase-list-and-guardrail-org-values` | read | implemented | `GET /headless/invoke/platform/briefcase/get-briefcase-list-and-guardrail-org-values` | — |
49
+ | `acknowledge-hyperforce-for-high-volume-priming` | write | implemented | `PATCH /headless/invoke/platform/briefcase/acknowledge-hyperforce-for-high-volume-priming` | — |
50
+ | `get-briefcase` | read | implemented | `GET /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` | — |
51
+ | `verify-acknowledge-hyperforce` | verify | implemented | `GET /headless/invoke/platform/briefcase/get-briefcase-list-and-guardrail-org-values` | `get-briefcase-list-and-guardrail-org-values` |
52
+ | `create-briefcase-tooling` | write | implemented | `POST /services/data/v67.0/tooling/sobjects/BriefcaseDefinition` | `get-briefcase-list-and-guardrail-org-values`, `get-apps-list-for-briefcase` |
53
+ | `verify-create-briefcase-tooling` | verify | implemented | `GET /services/data/v67.0/tooling/query` | `create-briefcase-tooling` |
54
+ | `update-briefcase-tooling` | write | implemented | `PATCH /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` | `get-briefcase-list-and-guardrail-org-values` |
55
+ | `verify-update-briefcase-tooling` | verify | implemented | `GET /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` | `update-briefcase-tooling` |
56
+ | `update-briefcase-state-tooling` | write | implemented | `PATCH /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` | `get-briefcase-list-and-guardrail-org-values` |
57
+ | `verify-update-briefcase-state-tooling` | verify | implemented | `GET /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` | `update-briefcase-state-tooling` |
58
+ | `delete-briefcase-tooling` | delete | implemented | `DELETE /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` | `get-briefcase-list-and-guardrail-org-values` |
59
+ | `verify-delete-briefcase-tooling` | verify | implemented | `GET /services/data/v67.0/tooling/query` | `delete-briefcase-tooling` |
60
+ | `update-briefcase-assignments-sobject` | write | implemented | `POST /services/data/v67.0/sobjects/BriefcaseAssignment` | `get-briefcase-list-and-guardrail-org-values` |
61
+ | `verify-update-briefcase-assignments-sobject` | verify | implemented | `GET /services/data/v67.0/query` | `update-briefcase-assignments-sobject` |
62
+
63
+ ### Dependency graph
64
+
65
+ ```mermaid
66
+ graph TD
67
+ update_briefcase_connected_apps["update-briefcase-connected-apps (write)"]
68
+ get_apps_list_for_briefcase["get-apps-list-for-briefcase (read)"]
69
+ get_briefcase_list_and_guardrail_org_values["get-briefcase-list-and-guardrail-org-values (read)"]
70
+ acknowledge_hyperforce_for_high_volume_priming["acknowledge-hyperforce-for-high-volume-priming (write)"]
71
+ get_briefcase["get-briefcase (read)"]
72
+ verify_acknowledge_hyperforce["verify-acknowledge-hyperforce (verify)"]
73
+ create_briefcase_tooling["create-briefcase-tooling (write)"]
74
+ verify_create_briefcase_tooling["verify-create-briefcase-tooling (verify)"]
75
+ update_briefcase_tooling["update-briefcase-tooling (write)"]
76
+ verify_update_briefcase_tooling["verify-update-briefcase-tooling (verify)"]
77
+ update_briefcase_state_tooling["update-briefcase-state-tooling (write)"]
78
+ verify_update_briefcase_state_tooling["verify-update-briefcase-state-tooling (verify)"]
79
+ delete_briefcase_tooling["delete-briefcase-tooling (delete)"]
80
+ verify_delete_briefcase_tooling["verify-delete-briefcase-tooling (verify)"]
81
+ update_briefcase_assignments_sobject["update-briefcase-assignments-sobject (write)"]
82
+ verify_update_briefcase_assignments_sobject["verify-update-briefcase-assignments-sobject (verify)"]
83
+ get_briefcase_list_and_guardrail_org_values --> verify_acknowledge_hyperforce
84
+ get_briefcase_list_and_guardrail_org_values --> create_briefcase_tooling
85
+ get_apps_list_for_briefcase --> create_briefcase_tooling
86
+ create_briefcase_tooling --> verify_create_briefcase_tooling
87
+ get_briefcase_list_and_guardrail_org_values --> update_briefcase_tooling
88
+ update_briefcase_tooling --> verify_update_briefcase_tooling
89
+ get_briefcase_list_and_guardrail_org_values --> update_briefcase_state_tooling
90
+ update_briefcase_state_tooling --> verify_update_briefcase_state_tooling
91
+ get_briefcase_list_and_guardrail_org_values --> delete_briefcase_tooling
92
+ delete_briefcase_tooling --> verify_delete_briefcase_tooling
93
+ get_briefcase_list_and_guardrail_org_values --> update_briefcase_assignments_sobject
94
+ update_briefcase_assignments_sobject --> verify_update_briefcase_assignments_sobject
95
+ ```
96
+
97
+ ### Read operations
98
+
99
+ #### `get-apps-list-for-briefcase`
100
+
101
+ Get apps list for briefcase.
102
+
103
+ **Call:** `GET /headless/invoke/platform/briefcase/get-apps-list-for-briefcase` — status: `implemented`
104
+
105
+ #### `get-briefcase-list-and-guardrail-org-values`
106
+
107
+ Get briefcase list and guardrail org values.
108
+
109
+ **Call:** `GET /headless/invoke/platform/briefcase/get-briefcase-list-and-guardrail-org-values` — status: `implemented`
110
+
111
+ #### `get-briefcase`
112
+
113
+ Retrieve a single Briefcase definition by its ID via the Tooling API. Returns full Metadata including briefcaseRules, filters, and relatedRules.
114
+
115
+ **Call:** `GET /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` — status: `implemented`
116
+
117
+ **Inputs:**
118
+
119
+ - `id` *(`String`)* — The Salesforce ID of the BriefcaseDefinition to retrieve. Source: query BriefcaseDefinition sObject or output of get-briefcase-list-and-guardrail-org-values.
120
+
121
+ **Output:** String representation of the Briefcase definition including masterLabel, developerName, description, id, active, type, briefcaseRules, assignments, connectedAppIds, syncStatus
122
+
123
+ ### Write operations
124
+
125
+ #### `update-briefcase-connected-apps`
126
+
127
+ Update briefcase connected apps.
128
+
129
+ **Call:** `PATCH /headless/invoke/platform/briefcase/update-briefcase-connected-apps` — status: `implemented`
130
+
131
+ **Inputs:**
132
+
133
+ - `briefcaseData` *(`Map<String, Object>`)* — Value for briefcase data.
134
+
135
+ #### `acknowledge-hyperforce-for-high-volume-priming`
136
+
137
+ Acknowledge hyperforce for high volume priming.
138
+
139
+ **Call:** `PATCH /headless/invoke/platform/briefcase/acknowledge-hyperforce-for-high-volume-priming` — status: `implemented`
140
+
141
+ #### `create-briefcase-tooling`
142
+
143
+ Create a new Briefcase definition with rules, assignments, and connected app associations via the Tooling API. The Metadata field accepts the full BriefcaseDefinition shape including briefcaseRules and filters.
144
+
145
+ **Call:** `POST /services/data/v67.0/tooling/sobjects/BriefcaseDefinition` — status: `implemented`
146
+
147
+ **Inputs:**
148
+
149
+ - `FullName` *(`String`)* — The developer name (unique identifier) for the Briefcase definition.
150
+ - `Metadata` *(`Object`)* — BriefcaseDefinition metadata. Required fields: masterLabel (string), briefcaseRules (array, at least one rule). Each BriefcaseRule requires: targetEntity (API name of the sObject, e.g. 'Account'), queryScope (allowed values: 'Everything', 'Mine'; additionally 'AssignedToMe' is supported only for the ServiceAppointment entity — source: BriefcaseRule.QueryScope restrictedPicklist). Optional rule fields: briefcaseRuleFilters (array — each filter requires targetEntityField, filterOperator (short form: 'e'=equals, 's'=startsWith, 'd'=endsWith, 'l'=lessThan, 'g'=greaterThan, 'm'=lessThanOrEqual, 'h'=greaterThanOrEqual; NOTE: 'n'=notEquals is NOT supported for Briefcase filters — source: BriefcaseRuleFilter.FilterOperator restrictedPicklist), filterValue, filterSeqNumber (required, 1-based index)), filterLogic (REQUIRED when briefcaseRuleFilters present, e.g. '1' or '1 AND 2'), isAscendingOrder (boolean), orderBy (field name), recordLimit (integer), relatedRules (array of nested related rules — each requires targetEntity, queryScope, relationshipField, relationshipType; relationshipType is 'ParentToChild' for parent→child lookups or 'ChildToParent' for child→parent lookups — source: BriefcaseRule.RelationshipType restrictedPicklist; multiple relatedRules under one parent rule are supported). Operator+field compatibility is validated server-side — not all operators work with all field types (error: 'The combination of the field X and the operator Y for the entity Z is invalid'). Optional top-level: description (string), isActive (boolean, default false), type ('Standard' (default) or 'HighVolume' — source: BriefcaseDefinition.Type restrictedPicklist; MobileAppSync excluded for agent use).
151
+
152
+ **Depends on:** `get-briefcase-list-and-guardrail-org-values`, `get-apps-list-for-briefcase`
153
+
154
+ **Rollback:** Delete the created Briefcase using delete-briefcase-tooling with the record Id
155
+
156
+ #### `update-briefcase-tooling`
157
+
158
+ Update an existing Briefcase definition's metadata (label, description, rules, filters) via the Tooling API. Note that PATCH requires the full Metadata object (complete replacement, not partial).
159
+
160
+ **Call:** `PATCH /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` — status: `implemented`
161
+
162
+ **Inputs:**
163
+
164
+ - `id` *(`String`)* — The Salesforce ID of the BriefcaseDefinition to update. Source: query BriefcaseDefinition sObject or output of get-briefcase-list-and-guardrail-org-values.
165
+ - `Metadata` *(`Object`)* — Full BriefcaseDefinition metadata (complete replacement): masterLabel, description, briefcaseRules, isActive. Must include all fields — omitted fields revert to defaults.
166
+
167
+ **Depends on:** `get-briefcase-list-and-guardrail-org-values`
168
+
169
+ **Rollback:** Call update-briefcase-tooling again with the previous field values retrieved from get-briefcase
170
+
171
+ #### `update-briefcase-state-tooling`
172
+
173
+ Activate or deactivate a Briefcase definition by updating the isActive flag in its Metadata via the Tooling API.
174
+
175
+ **Call:** `PATCH /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` — status: `implemented`
176
+
177
+ **Inputs:**
178
+
179
+ - `id` *(`String`)* — The Salesforce ID of the BriefcaseDefinition. Source: query BriefcaseDefinition sObject.
180
+ - `Metadata` *(`Object`)* — Full Metadata with isActive set to true (activate) or false (deactivate). Must include briefcaseRules and masterLabel even for state-only changes (full replacement semantics).
181
+
182
+ **Depends on:** `get-briefcase-list-and-guardrail-org-values`
183
+
184
+ **Rollback:** Call update-briefcase-state-tooling with the opposite active value to revert
185
+
186
+ #### `update-briefcase-assignments-sobject`
187
+
188
+ Manage Briefcase assignments by creating or deleting BriefcaseAssignment records. Each record links a BriefcaseDefinition to a user, group, or profile. Create one record per assignee; delete to unassign.
189
+
190
+ **Call:** `POST /services/data/v67.0/sobjects/BriefcaseAssignment` — status: `implemented`
191
+
192
+ **Inputs:**
193
+
194
+ - `BriefcaseId` *(`String`)* — The ID of the BriefcaseDefinition to assign.
195
+ - `UserOrGroupId` *(`String`)* — Polymorphic reference — the ID of the User, Group, or Profile to assign. Accepts any of the three entity types in a single field.
196
+
197
+ **Depends on:** `get-briefcase-list-and-guardrail-org-values`
198
+
199
+ **Rollback:** DELETE /services/data/v67.0/sobjects/BriefcaseAssignment/{id} to remove the assignment
200
+
201
+ ### Verify operations
202
+
203
+ #### `verify-acknowledge-hyperforce`
204
+
205
+ Check whether the org has acknowledged Hyperforce AND actually has HighVolume capacity enabled. Reads briefcaseHyperforceAck flag and HighVolume guardrail limits from get-briefcase-list-and-guardrail-org-values output. If ack is true but limits are 0, the org does not support HighVolume — do NOT proceed.
206
+
207
+ **Call:** `GET /headless/invoke/platform/briefcase/get-briefcase-list-and-guardrail-org-values` — status: `implemented`
208
+
209
+ **Depends on:** `get-briefcase-list-and-guardrail-org-values`
210
+
211
+ #### `verify-create-briefcase-tooling`
212
+
213
+ Confirm the new Briefcase was created by querying via Tooling SOQL.
214
+
215
+ **Call:** `GET /services/data/v67.0/tooling/query` — status: `implemented`
216
+
217
+ **Inputs:**
218
+
219
+ - `q` *(`string`)*
220
+
221
+ **Depends on:** `create-briefcase-tooling`
222
+
223
+ #### `verify-update-briefcase-tooling`
224
+
225
+ Confirm the Briefcase update landed by re-reading the definition via Tooling API.
226
+
227
+ **Call:** `GET /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` — status: `implemented`
228
+
229
+ **Inputs:**
230
+
231
+ - `id` *(`String`)* — The Salesforce ID of the BriefcaseDefinition to verify. Source: the id used in update-briefcase-tooling.
232
+
233
+ **Depends on:** `update-briefcase-tooling`
234
+
235
+ #### `verify-update-briefcase-state-tooling`
236
+
237
+ Confirm activation/deactivation by re-reading the BriefcaseDefinition via Tooling API.
238
+
239
+ **Call:** `GET /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` — status: `implemented`
240
+
241
+ **Inputs:**
242
+
243
+ - `id` *(`String`)* — The Salesforce ID of the BriefcaseDefinition to verify. Source: the id used in update-briefcase-state-tooling.
244
+ - `fields` *(`string`)*
245
+
246
+ **Depends on:** `update-briefcase-state-tooling`
247
+
248
+ #### `verify-delete-briefcase-tooling`
249
+
250
+ Confirm deletion by querying via Tooling SOQL and verifying the entry is gone.
251
+
252
+ **Call:** `GET /services/data/v67.0/tooling/query` — status: `implemented`
253
+
254
+ **Inputs:**
255
+
256
+ - `developerName` *(`String`)* — The DeveloperName of the BriefcaseDefinition to verify was deleted. Source: the developerName of the record passed to delete-briefcase-tooling.
257
+ - `q` *(`string`)*
258
+
259
+ **Depends on:** `delete-briefcase-tooling`
260
+
261
+ #### `verify-update-briefcase-assignments-sobject`
262
+
263
+ Confirm assignment changes by querying BriefcaseAssignment via SOQL.
264
+
265
+ **Call:** `GET /services/data/v67.0/query` — status: `implemented`
266
+
267
+ **Inputs:**
268
+
269
+ - `q` *(`string`)*
270
+
271
+ **Depends on:** `update-briefcase-assignments-sobject`
272
+
273
+ ### Destructive operations
274
+
275
+ #### `delete-briefcase-tooling`
276
+
277
+ Permanently delete a Briefcase definition by its Salesforce ID via the Tooling API.
278
+
279
+ **Call:** `DELETE /services/data/v67.0/tooling/sobjects/BriefcaseDefinition/{id}` — status: `implemented`
280
+
281
+ **Inputs:**
282
+
283
+ - `id` *(`String`)* — The Salesforce ID of the BriefcaseDefinition to delete. Source: query BriefcaseDefinition sObject.
284
+
285
+ **Depends on:** `get-briefcase-list-and-guardrail-org-values`
286
+
287
+ **Rollback:** Cannot be undone — the Briefcase definition and all its rules/assignments are permanently removed
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: experience-community-flexi-page-list-create
3
+ description: "Use this skill when users want to browse and manage FlexiPage records that drive Experience Cloud (Communities) Builder pages — the records whose Type sits in the FlexiPageType.Container=COMMUNITIES subset (CommObjectPage, CommRecordPage, CommLoginPage, CommThemeLayoutPage, CommSearchResultPage, etc.). Trigger when users mention community, flexi, page, list, community flexi page list."
4
+ metadata:
5
+ version: "1.0"
6
+ ---
7
+
8
+ # Managing Community Flexi Page List
9
+
10
+ ## When to Use This Skill
11
+
12
+ Browse and manage FlexiPage records that drive Experience Cloud (Communities) Builder pages — the records whose Type sits in the FlexiPageType.Container=COMMUNITIES subset (CommObjectPage, CommRecordPage, CommLoginPage, CommThemeLayoutPage, CommSearchResultPage, etc.). The Aloha Setup page at view_url renders this list filtered server-side; for programmatic CRUD use the Tooling sObject FlexiPage (read-flexi-page-list, read-flexi-page, write-flexi-page). Page-content edits are authored in the Lightning App Builder, not by direct sObject PATCH on the record's Metadata field. Org gates: Experience Cloud sites enabled, Experience Cloud pages enabled; user gates: view Experience Cloud pages (read), create Experience Cloud pages (write).
13
+
14
+ ## Critical Constraints
15
+
16
+ **Preconditions:**
17
+
18
+ - Networks (Experience Sites / Communities) feature must be enabled on the org. (check: `Experience Cloud sites enabled || Experience Cloud sites enabled`)
19
+ - FlexiPage feature must be enabled for Communities on the org. (check: `Experience Cloud pages enabled`)
20
+ - Org must NOT be a Help-Center-Networks-only org (the page is hidden in that mode). (check: `!Help Center networks-only mode`)
21
+ - User must hold View Setup to load the page; Customize Application (or equivalent) is needed for write/delete row actions and Tooling FlexiPage CRUD. (check: `UserPermissions.ViewSetup; view Experience Cloud pages; create Experience Cloud pages (writes)`)
22
+
23
+ ## Operations Reference
24
+
25
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
26
+
27
+ ### Summary
28
+
29
+ | Operation | Purpose | Status | Call | Depends on |
30
+ |-----------|---------|--------|------|------------|
31
+ | `view_CommunityFlexiPageList_1` | read | — | `CommunityFlexiPageList.view` | — |
32
+ | `read-flexi-page-list` | read | — | `GET /services/data/v66.0/tooling/query` | — |
33
+ | `read-flexi-page` | read | — | `GET /services/data/v66.0/tooling/sobjects/FlexiPage/{id}` | `read-flexi-page-list` |
34
+ | `write-flexi-page` | write | — | `POST /services/data/v66.0/tooling/sobjects/FlexiPage` | — |
35
+
36
+ ### Read operations
37
+
38
+ #### `view_CommunityFlexiPageList_1`
39
+
40
+ Open the Aloha Setup list view at view_url (PlatformTools > FeatureSettings > Networks). Renders FlexiPage records with FlexiPageType.Container=COMMUNITIES, with row-level Edit (App Builder) and Delete actions. For programmatic record access use steps read-flexi-page-list, read-flexi-page, write-flexi-page.
41
+
42
+ **Call:** `CommunityFlexiPageList.view`
43
+
44
+ #### `read-flexi-page-list`
45
+
46
+ List Community FlexiPage records via Tooling SOQL filtered to FlexiPageType.Container=COMMUNITIES. Sibling FlexiPageList SOR's list_FlexiPage_1 is the unfiltered analog.
47
+
48
+ **Call:** `GET /services/data/v66.0/tooling/query`
49
+
50
+ **Output:** QueryResult.records[] of FlexiPage rows: Id, DeveloperName, MasterLabel, Type, NamespacePrefix, LastModifiedDate. The agent should call Tooling.describe(FlexiPage).Type for the authoritative community subset rather than relying on this step's hard-coded WHERE list, since the Container=COMMUNITIES set evolves across releases. Note LastModifiedById is not a valid FlexiPage column on the Tooling entity — resolve the actor via a follow-up SOQL against User if needed.
51
+
52
+ #### `read-flexi-page`
53
+
54
+ Read a single FlexiPage record by Id via the Tooling sObject API. Apply this once the agent has an Id from read-flexi-page-list or another source.
55
+
56
+ **Call:** `GET /services/data/v66.0/tooling/sobjects/FlexiPage/{id}`
57
+
58
+ **Depends on:** `read-flexi-page-list`
59
+
60
+ **Output:** Tooling FlexiPage record. GET without ?fields returns the full record: Id, FullName, DeveloperName, MasterLabel, Type, Description, NamespacePrefix, ManageableState, ParentFlexiPage, EntityDefinitionId, LastModifiedDate, LastModifiedById, CreatedDate, SystemModstamp, plus the load-bearing Metadata sub-object. Metadata carries masterLabel, type, sobjectType, description, events[], flexiPageRegions[], parentFlexiPage, platformActionlist, quickActionList, template, and urls. flexiPageRegions[] elements carry name, type (Region), mode, appendable, prependable, replaceable, and itemInstances[] (each with a componentInstance authored via the Lightning App Builder — do not construct these from prose). template.name references an existing platform-bundled template (for example one:utilityBarTemplateDesktop on UtilityBar records, or flexipage:defaultTemplate on Community pages). To project a smaller payload, append ?fields=Id,MasterLabel,Type,...
61
+
62
+ ### Write operations
63
+
64
+ #### `write-flexi-page`
65
+
66
+ Create or update a Community-context FlexiPage record via the Tooling sObject API. On POST the wire contract requires a top-level FullName and a Metadata sub-object; Metadata must carry masterLabel, type (a FlexiPageType value in the COMMUNITIES subset — for example CommObjectPage or CommRecordPage), a non-empty flexiPageRegions[] array, and template.name referencing an existing platform-bundled template. sobjectType is set on record-page-type variants (for example CommObjectPage with sobjectType Account). PATCH also requires the Metadata sub-object — sending just top-level scalar field updates without Metadata returns 400 REQUIRED_FIELD_MISSING. The item-instance component graph inside flexiPageRegions[] is authored in the Lightning App Builder after this step provisions the record — do not synthesize componentInstance bodies from prose.
67
+
68
+ **Call:** `POST /services/data/v66.0/tooling/sobjects/FlexiPage`
69
+
70
+ **Output:** Tooling sObject create response — { id, success, errors[] } — on POST, and an empty 204 on PATCH. On create, only the shell record is provisioned; the flexiPageRegions[].itemInstances[] component graph is authored later in the Lightning App Builder. Verify the record shape post-write by calling read-flexi-page with the returned Id.
71
+
72
+ **Rollback:** Delete the created FlexiPage via DELETE /services/data/v66.0/tooling/sobjects/FlexiPage/{id}. Confirmed reachable — DELETE on a non-existent Id returns 404 NOT_FOUND with a well-formed error body, so the surface exists and is idempotent from the caller's perspective. No separate rollback step is emitted because deletion is not a first-class customer workflow for this SOR — it is the undo verb for a mistaken create.
73
+
74
+ **Notes:** patch_semantics: PATCH requires the full Metadata sub-object. Sending a partial Metadata does not merge with the persisted body — always read the current record first, mutate in-memory, and PATCH the full Metadata to avoid dropping fields.; fullname_immutability: FullName is set once on POST and is the record's stable developer-name identifier. Renaming requires deleting and recreating.; invalid_type_returns_500: An invalid FlexiPage type value (a string outside the FlexiPageType enum) returns 500 UNKNOWN_EXCEPTION rather than a validated 400 — this is a Core defect surface, not a documented contract. Agents constructing type values should pick from the community subset enumerated in agent_description.; empty_region_array_rejected: Metadata.flexiPageRegions must be a non-empty array. An empty [] is rejected with 400 "Required field is missing: flexiPageRegions" even though the key is present.; template_name_must_exist: Metadata.template.name must reference an existing platform-bundled template FullName. Templates are not created via this SOR.