@salesforce/afv-skills 1.14.0 → 1.16.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 (365) hide show
  1. package/package.json +1 -1
  2. package/skills/activating-datacloud/SKILL.md +0 -1
  3. package/skills/analyzing-omnistudio-dependencies/SKILL.md +0 -1
  4. package/skills/applying-slds/SKILL.md +322 -0
  5. package/skills/applying-slds/checklists.md +83 -0
  6. package/skills/applying-slds/examples.md +283 -0
  7. package/skills/applying-slds/guidance/README.md +83 -0
  8. package/skills/applying-slds/guidance/blueprints-index.md +213 -0
  9. package/skills/applying-slds/guidance/icons-guidance.md +186 -0
  10. package/skills/applying-slds/guidance/overviews/borders.md +236 -0
  11. package/skills/applying-slds/guidance/overviews/color.md +266 -0
  12. package/skills/applying-slds/guidance/overviews/display-density.md +366 -0
  13. package/skills/applying-slds/guidance/overviews/icons.md +240 -0
  14. package/skills/applying-slds/guidance/overviews/illustrations.md +235 -0
  15. package/skills/applying-slds/guidance/overviews/shadows.md +176 -0
  16. package/skills/applying-slds/guidance/overviews/spacing.md +216 -0
  17. package/skills/applying-slds/guidance/overviews/typography.md +323 -0
  18. package/skills/applying-slds/guidance/overviews/utilities.md +542 -0
  19. package/skills/applying-slds/guidance/slds-development-guide.md +288 -0
  20. package/skills/applying-slds/guidance/styling-hooks/borders.md +202 -0
  21. package/skills/applying-slds/guidance/styling-hooks/color/expressive-palette-hooks.md +153 -0
  22. package/skills/applying-slds/guidance/styling-hooks/color/index.md +171 -0
  23. package/skills/applying-slds/guidance/styling-hooks/color/semantic/accent-hooks.md +204 -0
  24. package/skills/applying-slds/guidance/styling-hooks/color/semantic/feedback-hooks.md +768 -0
  25. package/skills/applying-slds/guidance/styling-hooks/color/semantic/surface-hooks.md +337 -0
  26. package/skills/applying-slds/guidance/styling-hooks/color/system-hooks.md +132 -0
  27. package/skills/applying-slds/guidance/styling-hooks/index.md +327 -0
  28. package/skills/applying-slds/guidance/styling-hooks/shadows.md +238 -0
  29. package/skills/applying-slds/guidance/styling-hooks/spacing.md +254 -0
  30. package/skills/applying-slds/guidance/styling-hooks/typography.md +448 -0
  31. package/skills/applying-slds/guidance/utilities/alignment.md +119 -0
  32. package/skills/applying-slds/guidance/utilities/borders.md +131 -0
  33. package/skills/applying-slds/guidance/utilities/box.md +125 -0
  34. package/skills/applying-slds/guidance/utilities/color.md +165 -0
  35. package/skills/applying-slds/guidance/utilities/dark-mode.md +111 -0
  36. package/skills/applying-slds/guidance/utilities/description-list.md +168 -0
  37. package/skills/applying-slds/guidance/utilities/floats.md +117 -0
  38. package/skills/applying-slds/guidance/utilities/grid.md +264 -0
  39. package/skills/applying-slds/guidance/utilities/horizontal-list.md +110 -0
  40. package/skills/applying-slds/guidance/utilities/hyphenation.md +84 -0
  41. package/skills/applying-slds/guidance/utilities/index.md +205 -0
  42. package/skills/applying-slds/guidance/utilities/interactions.md +89 -0
  43. package/skills/applying-slds/guidance/utilities/layout.md +109 -0
  44. package/skills/applying-slds/guidance/utilities/line-clamp.md +131 -0
  45. package/skills/applying-slds/guidance/utilities/margin.md +155 -0
  46. package/skills/applying-slds/guidance/utilities/media-object.md +161 -0
  47. package/skills/applying-slds/guidance/utilities/name-value-list.md +152 -0
  48. package/skills/applying-slds/guidance/utilities/padding.md +155 -0
  49. package/skills/applying-slds/guidance/utilities/position.md +177 -0
  50. package/skills/applying-slds/guidance/utilities/print.md +114 -0
  51. package/skills/applying-slds/guidance/utilities/scrollable.md +126 -0
  52. package/skills/applying-slds/guidance/utilities/sizing.md +190 -0
  53. package/skills/applying-slds/guidance/utilities/themes.md +121 -0
  54. package/skills/applying-slds/guidance/utilities/truncate.md +127 -0
  55. package/skills/applying-slds/guidance/utilities/typography.md +166 -0
  56. package/skills/applying-slds/guidance/utilities/vertical-list.md +166 -0
  57. package/skills/applying-slds/guidance/utilities/visibility.md +228 -0
  58. package/skills/applying-slds/metadata/README.md +84 -0
  59. package/skills/applying-slds/metadata/blueprints/components/accordion.yaml +304 -0
  60. package/skills/applying-slds/metadata/blueprints/components/activity-timeline.yaml +92 -0
  61. package/skills/applying-slds/metadata/blueprints/components/alert.yaml +103 -0
  62. package/skills/applying-slds/metadata/blueprints/components/app-launcher.yaml +94 -0
  63. package/skills/applying-slds/metadata/blueprints/components/avatar-group.yaml +81 -0
  64. package/skills/applying-slds/metadata/blueprints/components/avatar.yaml +97 -0
  65. package/skills/applying-slds/metadata/blueprints/components/badges.yaml +102 -0
  66. package/skills/applying-slds/metadata/blueprints/components/brand-band.yaml +198 -0
  67. package/skills/applying-slds/metadata/blueprints/components/breadcrumbs.yaml +95 -0
  68. package/skills/applying-slds/metadata/blueprints/components/builder-header.yaml +192 -0
  69. package/skills/applying-slds/metadata/blueprints/components/button-groups.yaml +82 -0
  70. package/skills/applying-slds/metadata/blueprints/components/button-icons.yaml +295 -0
  71. package/skills/applying-slds/metadata/blueprints/components/buttons.yaml +230 -0
  72. package/skills/applying-slds/metadata/blueprints/components/cards.yaml +124 -0
  73. package/skills/applying-slds/metadata/blueprints/components/carousel.yaml +140 -0
  74. package/skills/applying-slds/metadata/blueprints/components/chat.yaml +179 -0
  75. package/skills/applying-slds/metadata/blueprints/components/checkbox-button-group.yaml +192 -0
  76. package/skills/applying-slds/metadata/blueprints/components/checkbox-button.yaml +204 -0
  77. package/skills/applying-slds/metadata/blueprints/components/checkbox-toggle.yaml +177 -0
  78. package/skills/applying-slds/metadata/blueprints/components/checkbox.yaml +108 -0
  79. package/skills/applying-slds/metadata/blueprints/components/color-picker.yaml +172 -0
  80. package/skills/applying-slds/metadata/blueprints/components/combobox.yaml +136 -0
  81. package/skills/applying-slds/metadata/blueprints/components/counter.yaml +147 -0
  82. package/skills/applying-slds/metadata/blueprints/components/data-tables.yaml +157 -0
  83. package/skills/applying-slds/metadata/blueprints/components/datepickers.yaml +130 -0
  84. package/skills/applying-slds/metadata/blueprints/components/datetime-picker.yaml +155 -0
  85. package/skills/applying-slds/metadata/blueprints/components/docked-composer.yaml +201 -0
  86. package/skills/applying-slds/metadata/blueprints/components/docked-form-footer.yaml +161 -0
  87. package/skills/applying-slds/metadata/blueprints/components/docked-utility-bar.yaml +175 -0
  88. package/skills/applying-slds/metadata/blueprints/components/drop-zone.yaml +115 -0
  89. package/skills/applying-slds/metadata/blueprints/components/dueling-picklist.yaml +196 -0
  90. package/skills/applying-slds/metadata/blueprints/components/dynamic-icons.yaml +128 -0
  91. package/skills/applying-slds/metadata/blueprints/components/dynamic-menu.yaml +141 -0
  92. package/skills/applying-slds/metadata/blueprints/components/expandable-section.yaml +115 -0
  93. package/skills/applying-slds/metadata/blueprints/components/expression.yaml +143 -0
  94. package/skills/applying-slds/metadata/blueprints/components/feeds.yaml +125 -0
  95. package/skills/applying-slds/metadata/blueprints/components/file-selector.yaml +154 -0
  96. package/skills/applying-slds/metadata/blueprints/components/files.yaml +119 -0
  97. package/skills/applying-slds/metadata/blueprints/components/form-element.yaml +145 -0
  98. package/skills/applying-slds/metadata/blueprints/components/global-header.yaml +120 -0
  99. package/skills/applying-slds/metadata/blueprints/components/global-navigation.yaml +100 -0
  100. package/skills/applying-slds/metadata/blueprints/components/icons.yaml +138 -0
  101. package/skills/applying-slds/metadata/blueprints/components/illustration.yaml +205 -0
  102. package/skills/applying-slds/metadata/blueprints/components/input.yaml +151 -0
  103. package/skills/applying-slds/metadata/blueprints/components/list-builder.yaml +127 -0
  104. package/skills/applying-slds/metadata/blueprints/components/lookups.yaml +132 -0
  105. package/skills/applying-slds/metadata/blueprints/components/map.yaml +118 -0
  106. package/skills/applying-slds/metadata/blueprints/components/menus.yaml +134 -0
  107. package/skills/applying-slds/metadata/blueprints/components/modals.yaml +152 -0
  108. package/skills/applying-slds/metadata/blueprints/components/notifications.yaml +88 -0
  109. package/skills/applying-slds/metadata/blueprints/components/page-headers.yaml +135 -0
  110. package/skills/applying-slds/metadata/blueprints/components/panels.yaml +149 -0
  111. package/skills/applying-slds/metadata/blueprints/components/path.yaml +154 -0
  112. package/skills/applying-slds/metadata/blueprints/components/picklist.yaml +125 -0
  113. package/skills/applying-slds/metadata/blueprints/components/pills.yaml +154 -0
  114. package/skills/applying-slds/metadata/blueprints/components/popovers.yaml +120 -0
  115. package/skills/applying-slds/metadata/blueprints/components/progress-bar.yaml +110 -0
  116. package/skills/applying-slds/metadata/blueprints/components/progress-indicator.yaml +133 -0
  117. package/skills/applying-slds/metadata/blueprints/components/progress-ring.yaml +102 -0
  118. package/skills/applying-slds/metadata/blueprints/components/prompt.yaml +126 -0
  119. package/skills/applying-slds/metadata/blueprints/components/publishers.yaml +178 -0
  120. package/skills/applying-slds/metadata/blueprints/components/radio-button-group.yaml +172 -0
  121. package/skills/applying-slds/metadata/blueprints/components/radio-group.yaml +112 -0
  122. package/skills/applying-slds/metadata/blueprints/components/rich-text-editor.yaml +135 -0
  123. package/skills/applying-slds/metadata/blueprints/components/scoped-notifications.yaml +188 -0
  124. package/skills/applying-slds/metadata/blueprints/components/scoped-tabs.yaml +97 -0
  125. package/skills/applying-slds/metadata/blueprints/components/select.yaml +127 -0
  126. package/skills/applying-slds/metadata/blueprints/components/setup-assistant.yaml +152 -0
  127. package/skills/applying-slds/metadata/blueprints/components/slider.yaml +111 -0
  128. package/skills/applying-slds/metadata/blueprints/components/spinners.yaml +135 -0
  129. package/skills/applying-slds/metadata/blueprints/components/split-view.yaml +112 -0
  130. package/skills/applying-slds/metadata/blueprints/components/summary-detail.yaml +103 -0
  131. package/skills/applying-slds/metadata/blueprints/components/tabs.yaml +138 -0
  132. package/skills/applying-slds/metadata/blueprints/components/textarea.yaml +116 -0
  133. package/skills/applying-slds/metadata/blueprints/components/tiles.yaml +108 -0
  134. package/skills/applying-slds/metadata/blueprints/components/timepicker.yaml +111 -0
  135. package/skills/applying-slds/metadata/blueprints/components/toast.yaml +154 -0
  136. package/skills/applying-slds/metadata/blueprints/components/tooltips.yaml +107 -0
  137. package/skills/applying-slds/metadata/blueprints/components/tree-grid.yaml +116 -0
  138. package/skills/applying-slds/metadata/blueprints/components/trees.yaml +116 -0
  139. package/skills/applying-slds/metadata/blueprints/components/trial-bar.yaml +112 -0
  140. package/skills/applying-slds/metadata/blueprints/components/vertical-navigation.yaml +130 -0
  141. package/skills/applying-slds/metadata/blueprints/components/vertical-tabs.yaml +140 -0
  142. package/skills/applying-slds/metadata/blueprints/components/visual-picker.yaml +150 -0
  143. package/skills/applying-slds/metadata/blueprints/components/welcome-mat.yaml +136 -0
  144. package/skills/applying-slds/metadata/hooks-index.json +6272 -0
  145. package/skills/applying-slds/metadata/icon-metadata.json +38466 -0
  146. package/skills/applying-slds/metadata/utilities-index.json +21912 -0
  147. package/skills/applying-slds/references/component-selection.md +112 -0
  148. package/skills/applying-slds/references/icons-decision-guide.md +124 -0
  149. package/skills/applying-slds/references/styling-decision-guide.md +228 -0
  150. package/skills/applying-slds/references/utilities-quick-ref.md +125 -0
  151. package/skills/applying-slds/scripts/search-blueprints.cjs +117 -0
  152. package/skills/applying-slds/scripts/search-hooks.cjs +139 -0
  153. package/skills/applying-slds/scripts/search-icons.cjs +174 -0
  154. package/skills/applying-slds/scripts/search-utilities.cjs +161 -0
  155. package/skills/building-mobile-apps/SKILL.md +0 -1
  156. package/skills/building-omnistudio-callable-apex/SKILL.md +0 -1
  157. package/skills/building-omnistudio-datamapper/SKILL.md +0 -1
  158. package/skills/building-omnistudio-flexcard/SKILL.md +0 -1
  159. package/skills/building-omnistudio-integration-procedure/SKILL.md +0 -1
  160. package/skills/building-omnistudio-omniscript/SKILL.md +0 -1
  161. package/skills/building-sf-integrations/SKILL.md +0 -1
  162. package/skills/configuring-connected-apps/SKILL.md +0 -1
  163. package/skills/connecting-datacloud/SKILL.md +0 -1
  164. package/skills/creating-b2b-commerce-store/SKILL.md +0 -1
  165. package/skills/debugging-apex-logs/SKILL.md +0 -1
  166. package/skills/deploying-metadata/SKILL.md +0 -1
  167. package/skills/deploying-omnistudio-datapacks/SKILL.md +0 -1
  168. package/skills/developing-agentforce/SKILL.md +0 -1
  169. package/skills/fetching-salesforce-docs/SKILL.md +0 -1
  170. package/skills/generating-custom-lightning-type/SKILL.md +17 -39
  171. package/skills/generating-custom-lightning-type/assets/primitive-types-and-constraints.md +41 -0
  172. package/skills/generating-custom-lightning-type/references/widget-rendition.md +124 -0
  173. package/skills/generating-lwc-components/SKILL.md +0 -1
  174. package/skills/generating-mermaid-diagrams/SKILL.md +0 -1
  175. package/skills/generating-visual-diagrams/SKILL.md +0 -1
  176. package/skills/handling-sf-data/SKILL.md +0 -1
  177. package/skills/harmonizing-datacloud/SKILL.md +0 -1
  178. package/skills/integrating-b2b-commerce-open-code-components/SKILL.md +0 -1
  179. package/skills/investigating-agentforce-architecture/README.md +156 -0
  180. package/skills/investigating-agentforce-architecture/SKILL.md +230 -0
  181. package/skills/investigating-agentforce-architecture/assets/cli/describe_sobject.yaml +16 -0
  182. package/skills/investigating-agentforce-architecture/assets/cli/describe_tooling_sobject.yaml +17 -0
  183. package/skills/investigating-agentforce-architecture/assets/cli/list_metadata_genaiprompttemplate.yaml +17 -0
  184. package/skills/investigating-agentforce-architecture/assets/cli/org_display.yaml +15 -0
  185. package/skills/investigating-agentforce-architecture/assets/cli/retrieve_genai_plugin.yaml +18 -0
  186. package/skills/investigating-agentforce-architecture/assets/cli/show_access_token.yaml +27 -0
  187. package/skills/investigating-agentforce-architecture/assets/mermaid/action_tree.mmd +20 -0
  188. package/skills/investigating-agentforce-architecture/assets/mermaid/data_flow.mmd +19 -0
  189. package/skills/investigating-agentforce-architecture/assets/mermaid/dependency_graph.mmd +19 -0
  190. package/skills/investigating-agentforce-architecture/assets/mermaid/invocation_sequence.mmd +20 -0
  191. package/skills/investigating-agentforce-architecture/assets/mermaid/planner_state.mmd +18 -0
  192. package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_ids.soql +3 -0
  193. package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_names.soql +3 -0
  194. package/skills/investigating-agentforce-architecture/assets/soql/bot_definition_details.soql +3 -0
  195. package/skills/investigating-agentforce-architecture/assets/soql/bot_version_lookup.soql +4 -0
  196. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_by_ids.soql +3 -0
  197. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_ids_by_names.soql +3 -0
  198. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_view_by_durable_ids.soql +4 -0
  199. package/skills/investigating-agentforce-architecture/assets/soql/flow_metadata_by_id.soql +3 -0
  200. package/skills/investigating-agentforce-architecture/assets/soql/functions_by_plugins.soql +5 -0
  201. package/skills/investigating-agentforce-architecture/assets/soql/planner_attrs_by_parent_ids.soql +3 -0
  202. package/skills/investigating-agentforce-architecture/assets/soql/planner_bundle_functions.soql +3 -0
  203. package/skills/investigating-agentforce-architecture/assets/soql/planner_definition_by_agent_chain.soql +3 -0
  204. package/skills/investigating-agentforce-architecture/assets/soql/plugin_functions_by_plugin_ids.soql +3 -0
  205. package/skills/investigating-agentforce-architecture/assets/soql/plugin_instructions_by_plugin_ids.soql +3 -0
  206. package/skills/investigating-agentforce-architecture/assets/soql/plugins_by_planner.soql +4 -0
  207. package/skills/investigating-agentforce-architecture/references/architecture_sections.md +243 -0
  208. package/skills/investigating-agentforce-architecture/references/contract.json +244 -0
  209. package/skills/investigating-agentforce-architecture/references/soql_fields.md +512 -0
  210. package/skills/investigating-agentforce-architecture/scripts/_shared/__init__.py +1 -0
  211. package/skills/investigating-agentforce-architecture/scripts/_shared/fs_guard.py +329 -0
  212. package/skills/investigating-agentforce-architecture/scripts/_shared/paths.py +110 -0
  213. package/skills/investigating-agentforce-architecture/scripts/_shared/runtime.py +59 -0
  214. package/skills/investigating-agentforce-architecture/scripts/_shared/sql.py +10 -0
  215. package/skills/investigating-agentforce-architecture/scripts/cache_check.py +234 -0
  216. package/skills/investigating-agentforce-architecture/scripts/config.py +131 -0
  217. package/skills/investigating-agentforce-architecture/scripts/fetch_soql.py +689 -0
  218. package/skills/investigating-agentforce-architecture/scripts/finalize.py +295 -0
  219. package/skills/investigating-agentforce-architecture/scripts/main.py +2835 -0
  220. package/skills/investigating-agentforce-architecture/scripts/metadata_listing.py +265 -0
  221. package/skills/investigating-agentforce-architecture/scripts/parallel_retrieve.py +69 -0
  222. package/skills/investigating-agentforce-architecture/scripts/parse_bundle.py +215 -0
  223. package/skills/investigating-agentforce-architecture/scripts/parse_wave.py +845 -0
  224. package/skills/investigating-agentforce-architecture/scripts/probe_channels.py +302 -0
  225. package/skills/investigating-agentforce-architecture/scripts/render_architecture.py +1043 -0
  226. package/skills/investigating-agentforce-architecture/scripts/resolve_bot.py +255 -0
  227. package/skills/investigating-agentforce-architecture/scripts/resolve_invocation_target.py +130 -0
  228. package/skills/investigating-agentforce-architecture/scripts/rest_client.py +763 -0
  229. package/skills/investigating-agentforce-architecture/scripts/retrieve_planner.py +13 -0
  230. package/skills/investigating-agentforce-architecture/scripts/sf_cli.py +242 -0
  231. package/skills/investigating-agentforce-architecture/scripts/soql_loader.py +253 -0
  232. package/skills/investigating-agentforce-architecture/scripts/summarize_tree.py +143 -0
  233. package/skills/investigating-agentforce-architecture/scripts/tests/__init__.py +0 -0
  234. package/skills/investigating-agentforce-architecture/scripts/tests/_bootstrap.py +23 -0
  235. package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/__init__.py +0 -0
  236. package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/genai_payloads.py +400 -0
  237. package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check.py +307 -0
  238. package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check_main.py +283 -0
  239. package/skills/investigating-agentforce-architecture/scripts/tests/test_config.py +115 -0
  240. package/skills/investigating-agentforce-architecture/scripts/tests/test_end_to_end_fixture.py +651 -0
  241. package/skills/investigating-agentforce-architecture/scripts/tests/test_finalize.py +278 -0
  242. package/skills/investigating-agentforce-architecture/scripts/tests/test_flow_children_inflation.py +582 -0
  243. package/skills/investigating-agentforce-architecture/scripts/tests/test_fs_guard.py +113 -0
  244. package/skills/investigating-agentforce-architecture/scripts/tests/test_iterative_wave_b.py +478 -0
  245. package/skills/investigating-agentforce-architecture/scripts/tests/test_main_pipeline.py +3359 -0
  246. package/skills/investigating-agentforce-architecture/scripts/tests/test_parallel_retrieve.py +131 -0
  247. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_bundle.py +400 -0
  248. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave.py +644 -0
  249. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_classifiers.py +224 -0
  250. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_helpers.py +380 -0
  251. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_main.py +397 -0
  252. package/skills/investigating-agentforce-architecture/scripts/tests/test_per_branch_visited.py +244 -0
  253. package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_channels.py +359 -0
  254. package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_cli_recipes.py +185 -0
  255. package/skills/investigating-agentforce-architecture/scripts/tests/test_render_architecture.py +810 -0
  256. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_bot.py +203 -0
  257. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_creds.py +157 -0
  258. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_invocation_target.py +145 -0
  259. package/skills/investigating-agentforce-architecture/scripts/tests/test_rest_client.py +1253 -0
  260. package/skills/investigating-agentforce-architecture/scripts/tests/test_runtime_override.py +100 -0
  261. package/skills/investigating-agentforce-architecture/scripts/tests/test_sf_cli.py +261 -0
  262. package/skills/investigating-agentforce-architecture/scripts/tests/test_signature_stamping.py +466 -0
  263. package/skills/investigating-agentforce-architecture/scripts/tests/test_soql_loader.py +501 -0
  264. package/skills/investigating-agentforce-architecture/scripts/tests/test_summarize_tree.py +241 -0
  265. package/skills/investigating-agentforce-architecture/scripts/tests/test_write_emit_ctx.py +480 -0
  266. package/skills/investigating-agentforce-architecture/tools/emit_env.py +157 -0
  267. package/skills/investigating-agentforce-architecture/tools/emit_result.py +262 -0
  268. package/skills/investigating-agentforce-architecture/tools/sanitize.py +33 -0
  269. package/skills/investigating-agentforce-architecture/tools/write_emit_ctx.py +332 -0
  270. package/skills/investigating-agentforce-d360/README.md +123 -0
  271. package/skills/investigating-agentforce-d360/SKILL.md +163 -0
  272. package/skills/investigating-agentforce-d360/assets/dc/app_generation.sql +51 -0
  273. package/skills/investigating-agentforce-d360/assets/dc/content_category.sql +44 -0
  274. package/skills/investigating-agentforce-d360/assets/dc/content_quality.sql +41 -0
  275. package/skills/investigating-agentforce-d360/assets/dc/discover_sessions.sql +36 -0
  276. package/skills/investigating-agentforce-d360/assets/dc/feedback.sql +47 -0
  277. package/skills/investigating-agentforce-d360/assets/dc/feedback_details.sql +38 -0
  278. package/skills/investigating-agentforce-d360/assets/dc/gateway_records.sql +45 -0
  279. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_llm.sql +50 -0
  280. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_metadata.sql +44 -0
  281. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_tags.sql +42 -0
  282. package/skills/investigating-agentforce-d360/assets/dc/gateway_requests.sql +89 -0
  283. package/skills/investigating-agentforce-d360/assets/dc/gateway_responses.sql +43 -0
  284. package/skills/investigating-agentforce-d360/assets/dc/generations.sql +52 -0
  285. package/skills/investigating-agentforce-d360/assets/dc/interactions.sql +53 -0
  286. package/skills/investigating-agentforce-d360/assets/dc/messages.sql +53 -0
  287. package/skills/investigating-agentforce-d360/assets/dc/messaging_session.sql +37 -0
  288. package/skills/investigating-agentforce-d360/assets/dc/moment_interactions.sql +34 -0
  289. package/skills/investigating-agentforce-d360/assets/dc/moments.sql +39 -0
  290. package/skills/investigating-agentforce-d360/assets/dc/participants.sql +48 -0
  291. package/skills/investigating-agentforce-d360/assets/dc/sessions.sql +78 -0
  292. package/skills/investigating-agentforce-d360/assets/dc/steps.sql +64 -0
  293. package/skills/investigating-agentforce-d360/assets/dc/tag_associations.sql +46 -0
  294. package/skills/investigating-agentforce-d360/assets/dc/tag_definition_associations.sql +37 -0
  295. package/skills/investigating-agentforce-d360/assets/dc/tag_definitions.sql +50 -0
  296. package/skills/investigating-agentforce-d360/assets/dc/tags.sql +37 -0
  297. package/skills/investigating-agentforce-d360/assets/dc/telemetry_spans.sql +55 -0
  298. package/skills/investigating-agentforce-d360/references/artifacts.md +50 -0
  299. package/skills/investigating-agentforce-d360/references/dc_dmo_fields.md +823 -0
  300. package/skills/investigating-agentforce-d360/references/dc_pipeline_contract.md +608 -0
  301. package/skills/investigating-agentforce-d360/scripts/_shared/__init__.py +2 -0
  302. package/skills/investigating-agentforce-d360/scripts/_shared/cli_override.py +98 -0
  303. package/skills/investigating-agentforce-d360/scripts/_shared/fs_guard.py +334 -0
  304. package/skills/investigating-agentforce-d360/scripts/_shared/paths.py +155 -0
  305. package/skills/investigating-agentforce-d360/scripts/_shared/runtime.py +59 -0
  306. package/skills/investigating-agentforce-d360/scripts/_shared/sql.py +14 -0
  307. package/skills/investigating-agentforce-d360/scripts/assemble_dc.py +1624 -0
  308. package/skills/investigating-agentforce-d360/scripts/config.py +45 -0
  309. package/skills/investigating-agentforce-d360/scripts/dc.py +188 -0
  310. package/skills/investigating-agentforce-d360/scripts/discover_sessions.py +556 -0
  311. package/skills/investigating-agentforce-d360/scripts/fetch_dc.py +1045 -0
  312. package/skills/investigating-agentforce-d360/scripts/render_dc.py +1750 -0
  313. package/skills/investigating-agentforce-d360/scripts/resolve_session.py +264 -0
  314. package/skills/investigating-agentforce-d360/scripts/storage.py +92 -0
  315. package/skills/investigating-agentforce-d360/scripts/tests/__init__.py +0 -0
  316. package/skills/investigating-agentforce-d360/scripts/tests/_bootstrap.py +15 -0
  317. package/skills/investigating-agentforce-d360/scripts/tests/fixtures/__init__.py +0 -0
  318. package/skills/investigating-agentforce-d360/scripts/tests/fixtures/synthetic_session.py +424 -0
  319. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_bootstrap_and_mode.py +115 -0
  320. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct.py +220 -0
  321. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct_integration.py +158 -0
  322. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_helpers.py +287 -0
  323. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_integration.py +247 -0
  324. package/skills/investigating-agentforce-d360/scripts/tests/test_dc_and_resolve_session.py +433 -0
  325. package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions.py +458 -0
  326. package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions_grep_ci.py +193 -0
  327. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_helpers.py +266 -0
  328. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_identity.py +528 -0
  329. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_main.py +251 -0
  330. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall.py +229 -0
  331. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall_full.py +283 -0
  332. package/skills/investigating-agentforce-d360/scripts/tests/test_identity_coherence.py +327 -0
  333. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_branches.py +256 -0
  334. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_gateway_direct.py +130 -0
  335. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_helpers.py +291 -0
  336. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_integration.py +220 -0
  337. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_planner_llm_calls.py +284 -0
  338. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_show_prompts_gating.py +215 -0
  339. package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_from_disk.py +100 -0
  340. package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_session_main.py +149 -0
  341. package/skills/investigating-agentforce-d360/scripts/tests/test_runtime_override.py +104 -0
  342. package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape.py +95 -0
  343. package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape_dropped_by_stdm.py +85 -0
  344. package/skills/managing-managed-event-subscription/SKILL.md +152 -0
  345. package/skills/managing-managed-event-subscription/assets/managed-event-subscription-template.xml +20 -0
  346. package/skills/managing-managed-event-subscription/references/delete-guide.md +57 -0
  347. package/skills/managing-managed-event-subscription/references/topic-name-formats.md +26 -0
  348. package/skills/managing-managed-event-subscription/references/update-constraints.md +30 -0
  349. package/skills/modeling-omnistudio-epc-catalog/SKILL.md +0 -1
  350. package/skills/observing-agentforce/SKILL.md +0 -1
  351. package/skills/orchestrating-datacloud/SKILL.md +0 -1
  352. package/skills/preparing-datacloud/SKILL.md +0 -1
  353. package/skills/querying-soql/SKILL.md +0 -1
  354. package/skills/retrieving-datacloud/SKILL.md +0 -1
  355. package/skills/running-apex-tests/SKILL.md +0 -1
  356. package/skills/running-code-analyzer/SKILL.md +0 -1
  357. package/skills/segmenting-datacloud/SKILL.md +0 -1
  358. package/skills/testing-agentforce/SKILL.md +0 -1
  359. package/skills/uplifting-components-to-slds2/SKILL.md +3 -2
  360. package/skills/uplifting-components-to-slds2/references/color-hooks-decision-guide.md +30 -9
  361. package/skills/uplifting-components-to-slds2/references/examples.md +24 -6
  362. package/skills/validating-slds/SKILL.md +262 -0
  363. package/skills/validating-slds/references/quality-checks.md +308 -0
  364. package/skills/validating-slds/references/report-format.md +302 -0
  365. package/skills/validating-slds/scripts/analyze-quality.cjs +521 -0
@@ -0,0 +1,112 @@
1
+ # Component & Blueprint Selection
2
+
3
+ How to find the right SLDS artifact for a UI pattern.
4
+
5
+ ---
6
+
7
+ ## Decision Flow
8
+
9
+ ```
10
+ What framework?
11
+ ├─ LWC → Check Lightning Base Component (LBC) first
12
+ │ ├─ LBC exists → Use it. Done.
13
+ │ └─ No LBC → Fall through to SLDS Blueprint
14
+ ├─ React / Vue / Angular / vanilla → Skip LBC, go to SLDS Blueprint
15
+ └─ Any framework → No blueprint match? → Build custom with styling hooks
16
+ ```
17
+
18
+ ## Step 1: Check for LBC (LWC only)
19
+
20
+ Lightning Base Components are pre-built, accessible, themed LWC components.
21
+
22
+ **Always check first:** [Lightning Component Library](https://developer.salesforce.com/docs/component-library/overview/components)
23
+
24
+ Common LBCs and their use cases:
25
+
26
+ | Component | Use Case |
27
+ |-----------|----------|
28
+ | `lightning-button` | All button actions |
29
+ | `lightning-input` | Text, email, number, date inputs |
30
+ | `lightning-combobox` | Dropdown selection |
31
+ | `lightning-datatable` | Tabular data with sorting/selection |
32
+ | `lightning-card` | Content containers |
33
+ | `lightning-modal` | Dialog overlays |
34
+ | `lightning-icon` | SLDS icons |
35
+ | `lightning-layout` | Responsive grid layout |
36
+
37
+ If an LBC exists, use it. Do not build a custom version from blueprint markup.
38
+
39
+ ## Step 2: Search SLDS Blueprints
40
+
41
+ Blueprints are HTML/CSS patterns that work in any framework. Use when no LBC exists or when not building in LWC.
42
+
43
+ ### How to search
44
+
45
+ ```bash
46
+ # Keyword search
47
+ node scripts/search-blueprints.cjs --search "dialog"
48
+
49
+ # Browse by category
50
+ node scripts/search-blueprints.cjs --category "Overlay"
51
+
52
+ # Get full details for a specific blueprint
53
+ node scripts/search-blueprints.cjs --name "modals"
54
+ ```
55
+
56
+ ### Blueprint categories
57
+
58
+ | Category | Examples |
59
+ |----------|----------|
60
+ | Layout | Cards, Tiles, Page Headers |
61
+ | Forms | Input, Select, Combobox, Checkbox, Radio, Textarea |
62
+ | Navigation | Tabs, Vertical Navigation, Breadcrumbs, Path |
63
+ | Data Display | Data Tables, Trees, Activity Timeline |
64
+ | Feedback | Alert, Toast, Scoped Notifications, Spinners |
65
+ | Overlay | Modals, Popovers, Tooltips, Prompt |
66
+ | Media | Avatar, Carousel, Files, Illustration |
67
+ | Actions | Buttons, Button Groups, Button Icons, Menus |
68
+
69
+ ### How to read a blueprint YAML
70
+
71
+ Each file in `metadata/blueprints/components/{name}.yaml` contains:
72
+
73
+ ```yaml
74
+ name: "Modals"
75
+ description: "Dialog overlays..."
76
+ category: "Overlay"
77
+ slds_classes:
78
+ root: "slds-modal" # The BEM root class to apply
79
+ elements: # Child element classes
80
+ - class: "slds-modal__header"
81
+ purpose: "Contains title and close action"
82
+ modifiers: # Size/style variants
83
+ - class: "slds-modal_large"
84
+ usage: "For complex forms or detailed content"
85
+ states: # State classes
86
+ - class: "slds-fade-in-open"
87
+ accessibility: # Required ARIA attributes
88
+ roles: ["dialog"]
89
+ attributes: ["aria-modal", "aria-labelledby"]
90
+ example_html: "..." # Reference markup
91
+ ```
92
+
93
+ Use the `root` class, add `elements` for structure, `modifiers` for variants, and follow `accessibility` requirements.
94
+
95
+ ## Step 3: Custom with Styling Hooks
96
+
97
+ If no LBC or blueprint matches your need, build custom markup with SLDS styling hooks.
98
+
99
+ See [styling-decision-guide.md](styling-decision-guide.md) for how to apply hooks correctly.
100
+
101
+ Rules for custom components:
102
+ - Use custom class prefixes (`my-*`, `c-*`) -- never override `slds-*` classes
103
+ - Use `var(--slds-g-*, fallback)` for all themeable values
104
+ - Follow the blueprint naming pattern (BEM-like) for consistency
105
+
106
+ ---
107
+
108
+ ## Deep Reference
109
+
110
+ - Full blueprint details: `guidance/blueprints-index.md`
111
+ - All blueprint YAMLs: `metadata/blueprints/components/`
112
+ - LBC documentation: [Lightning Component Library](https://developer.salesforce.com/docs/component-library/overview/components)
@@ -0,0 +1,124 @@
1
+ # Icons Decision Guide
2
+
3
+ How to select and use SLDS icons correctly.
4
+
5
+ ---
6
+
7
+ ## Icon Categories
8
+
9
+ SLDS provides 1,732 icons across 5 categories. Pick the right category first:
10
+
11
+ | Category | Purpose | Size | Example |
12
+ |----------|---------|------|---------|
13
+ | **utility** | UI affordances: actions, navigation, status indicators | 16-24px | `utility:search`, `utility:close`, `utility:save` |
14
+ | **standard** | Object/entity representations | 48px | `standard:account`, `standard:contact`, `standard:opportunity` |
15
+ | **action** | Actions on objects, typically in button icons | 24px | `action:new_task`, `action:edit`, `action:delete` |
16
+ | **custom** | Custom object representations (custom1-custom113) | 48px | `custom:custom1`, `custom:custom42` |
17
+ | **doctype** | File type representations | 48px | `doctype:pdf`, `doctype:excel`, `doctype:word` |
18
+
19
+ ### Category Decision Tree
20
+
21
+ ```
22
+ What does the icon represent?
23
+ ├─ A UI control or indicator? → utility
24
+ ├─ A Salesforce object or entity? → standard
25
+ ├─ An action the user can take? → action
26
+ ├─ A custom object? → custom
27
+ └─ A file type? → doctype
28
+ ```
29
+
30
+ ---
31
+
32
+ ## How to Search
33
+
34
+ ```bash
35
+ # Semantic search with synonym matching
36
+ node scripts/search-icons.cjs --query "save button"
37
+
38
+ # Filter by category
39
+ node scripts/search-icons.cjs --query "user" --category "standard"
40
+
41
+ # List all categories
42
+ node scripts/search-icons.cjs --list-categories
43
+ ```
44
+
45
+ The search engine matches against icon names, synonyms, and descriptions. Multi-word queries match across all fields with relevance scoring.
46
+
47
+ ---
48
+
49
+ ## Usage in LWC
50
+
51
+ Use `<lightning-icon>` for display and `<lightning-button-icon>` for interactive icons:
52
+
53
+ ```html
54
+ <!-- Display icon -->
55
+ <lightning-icon
56
+ icon-name="utility:search"
57
+ alternative-text="Search"
58
+ size="small">
59
+ </lightning-icon>
60
+
61
+ <!-- Interactive icon button -->
62
+ <lightning-button-icon
63
+ icon-name="utility:close"
64
+ alternative-text="Close dialog"
65
+ title="Close"
66
+ onclick={handleClose}>
67
+ </lightning-button-icon>
68
+ ```
69
+
70
+ ### Size options
71
+
72
+ | Size | Use for |
73
+ |------|---------|
74
+ | `xx-small` | Inline with text |
75
+ | `x-small` | Dense layouts |
76
+ | `small` | Default for utility icons |
77
+ | `medium` | Default for standard/custom icons |
78
+ | `large` | Hero/feature icons |
79
+
80
+ ---
81
+
82
+ ## Usage in Non-LWC (Blueprint Markup)
83
+
84
+ Use SVG with SLDS icon classes:
85
+
86
+ ```html
87
+ <span class="slds-icon_container slds-icon-utility-search" title="Search">
88
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
89
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#search"></use>
90
+ </svg>
91
+ <span class="slds-assistive-text">Search</span>
92
+ </span>
93
+ ```
94
+
95
+ Key classes:
96
+ - `slds-icon_container` -- wrapper with background color
97
+ - `slds-icon` -- the SVG element
98
+ - `slds-icon_small` / `slds-icon_large` -- sizing
99
+ - `slds-icon-utility-*` / `slds-icon-standard-*` -- category-specific containers
100
+
101
+ ---
102
+
103
+ ## Accessibility Rules
104
+
105
+ **Every icon must have an accessibility story.**
106
+
107
+ | Scenario | LWC | Non-LWC |
108
+ |----------|-----|---------|
109
+ | **Meaningful icon** (conveys information) | `alternative-text="Description"` | `<span class="slds-assistive-text">Description</span>` |
110
+ | **Decorative icon** (next to text label) | `alternative-text=""` | `aria-hidden="true"` on SVG |
111
+ | **Interactive icon** (button) | `alternative-text="Action"` + `title="Tooltip"` | `aria-label="Action"` on button |
112
+
113
+ **Rules:**
114
+ - Never leave `alternative-text` undefined on `<lightning-icon>` -- set it to empty string `""` if decorative
115
+ - `title` provides a visible tooltip; `alternative-text` provides screen reader text
116
+ - Icon-only buttons always need `alternative-text` describing the action, not the icon
117
+
118
+ ---
119
+
120
+ ## Deep Reference
121
+
122
+ - Icon implementation guidance: `guidance/icons-guidance.md`
123
+ - Icons overview: `guidance/overviews/icons.md`
124
+ - Full icon metadata (1,732 icons with synonyms): `metadata/icon-metadata.json`
@@ -0,0 +1,228 @@
1
+ # Styling Decision Guide
2
+
3
+ How to apply SLDS styling correctly using hooks, utilities, and custom CSS.
4
+
5
+ ---
6
+
7
+ ## Styling Hook Hierarchy
8
+
9
+ SLDS hooks follow a three-tier naming system:
10
+
11
+ | Tier | Prefix | Use |
12
+ |------|--------|-----|
13
+ | **Global Semantic** | `--slds-g-*` | System-wide. Use these by default. |
14
+ | **Shared** | `--slds-s-*` | Private/internal. **DO NOT USE.** Reserved for Salesforce. |
15
+ | **Component** | `--slds-c-*` | Scoped to specific LBCs. Use to customize LBC appearance. |
16
+
17
+ **Rule: Always use `--slds-g-*` hooks unless `--slds-c-*` hooks exist for your specific LBC.**
18
+
19
+ ### Discovering `--slds-c-*` Hooks
20
+
21
+ Component hooks are scoped to specific Lightning Base Components. To find available hooks for an LBC:
22
+
23
+ 1. **Inspect the LBC docs**: Check the component's [Lightning Component Library](https://developer.salesforce.com/docs/component-library/overview/components) page — look for "Styling Hooks" or "Custom Properties" sections
24
+ 2. **Browser DevTools**: Render the LBC, inspect the element, and look for `--slds-c-*` properties in the computed styles
25
+ 3. **Known patterns**: Component hooks follow `--slds-c-{component}-{property}-{state}` naming, e.g., `--slds-c-button-success-shadow-hover`
26
+
27
+ There is no centralized metadata file for `--slds-c-*` hooks — they are documented per-component. Some examples exist in `guidance/overviews/shadows.md` and `guidance/styling-hooks/index.md`.
28
+
29
+ ---
30
+
31
+ ## Hook Syntax
32
+
33
+ Always use `var()` with a fallback value:
34
+
35
+ ```css
36
+ .my-card {
37
+ background: var(--slds-g-color-surface-1, #ffffff);
38
+ padding: var(--slds-g-spacing-4, 1rem);
39
+ border-radius: var(--slds-g-radius-border-2, 0.25rem);
40
+ }
41
+ ```
42
+
43
+ **Never reassign hook values.** Salesforce controls them and can change them.
44
+
45
+ ### Choosing Fallback Values
46
+
47
+ The fallback in `var(--slds-g-*, fallback)` is used when the hook isn't loaded (e.g., outside Lightning Experience, in static HTML previews, or during SSR). Use the **light-mode default** value:
48
+
49
+ 1. **Look up the value in `metadata/hooks-index.json`** — each hook has a `value` field showing its resolved default
50
+ 2. **Use the search script**: `node scripts/search-hooks.cjs --prefix "--slds-g-color-surface-"` shows values
51
+ 3. **Common defaults**: `#ffffff` for surfaces, `#181818` for text, `1rem` for spacing-4, `0.25rem` for radius-border-2
52
+
53
+ Always use the light-mode default. Dark-mode values are applied automatically when the hook is active — the fallback only matters when hooks aren't loaded at all.
54
+
55
+ ---
56
+
57
+ ## Color: The 85-5-10 Rule
58
+
59
+ All SLDS UIs should maintain this approximate color distribution:
60
+
61
+ | % | Role | What to use |
62
+ |---|------|-------------|
63
+ | **85%** | Foundation | Surfaces, backgrounds, containers. Neutral colors: whites, grays. Hooks: `--slds-g-color-surface-*` |
64
+ | **5%** | Accents | Primary actions, selected states, key CTAs. Hooks: `--slds-g-color-accent-*` |
65
+ | **10%** | Expressive | Data viz, custom branding. Use sparingly. Hooks: `--slds-g-color-palette-*` |
66
+
67
+ ### Color Role Selection
68
+
69
+ Before picking a hook, classify what the color is for:
70
+
71
+ | Role | Hook prefix | Examples |
72
+ |------|-------------|----------|
73
+ | Surface (backgrounds) | `--slds-g-color-surface-*` | Page bg, modal bg, top-level panels |
74
+ | Surface container (nested surfaces) | `--slds-g-color-surface-container-*` | Card bg, embedded panels, list items |
75
+ | On-surface (text on surfaces) | `--slds-g-color-on-surface-*` | Body text, headings, icons |
76
+ | Accent (emphasis) | `--slds-g-color-accent-*` | Primary emphasis, selected state text/icons |
77
+ | Accent container (accent backgrounds) | `--slds-g-color-accent-container-*` | Buttons, selected tabs, emphasized controls |
78
+ | Border | `--slds-g-color-border-*` | Dividers, card borders |
79
+ | Error | `--slds-g-color-error-*` | Validation errors |
80
+ | Success | `--slds-g-color-success-*` | Confirmation states |
81
+ | Warning | `--slds-g-color-warning-*` | Caution messages |
82
+
83
+ **Always pair surfaces with on-surfaces.** Example: `surface-1` background + `on-surface-2` text.
84
+
85
+ **CRITICAL:** All color hooks require a numbered variant. There is no unnumbered base form (e.g., `--slds-g-color-on-surface` does not exist -- use `on-surface-1`, `-2`, or `-3`):
86
+
87
+ | Variant | Emphasis | Use for |
88
+ |---------|----------|---------|
89
+ | `-1` | Low | Captions, placeholder text, de-emphasized content |
90
+ | `-2` | Medium | Body text, labels, standard content |
91
+ | `-3` | High | Page titles, headings, primary emphasis |
92
+
93
+ ### How to search hooks
94
+
95
+ ```bash
96
+ # By prefix
97
+ node scripts/search-hooks.cjs --prefix "--slds-g-color-surface-"
98
+
99
+ # By category
100
+ node scripts/search-hooks.cjs --category "color"
101
+
102
+ # By CSS property
103
+ node scripts/search-hooks.cjs --property "background-color"
104
+
105
+ # Find hook for a hardcoded value
106
+ node scripts/search-hooks.cjs --value "#0176d3"
107
+ ```
108
+
109
+ ---
110
+
111
+ ## Spacing: 4-Point Grid
112
+
113
+ SLDS uses a numbered scale, not named sizes:
114
+
115
+ | Hook | Value | Pixels | Use for |
116
+ |------|-------|--------|---------|
117
+ | `--slds-g-spacing-1` | 0.25rem | 4px | Tight inline spacing |
118
+ | `--slds-g-spacing-2` | 0.5rem | 8px | Between related items |
119
+ | `--slds-g-spacing-3` | 0.75rem | 12px | Small gaps |
120
+ | `--slds-g-spacing-4` | 1rem | 16px | Standard padding/margin |
121
+ | `--slds-g-spacing-5` | 1.5rem | 24px | Section gaps |
122
+ | `--slds-g-spacing-6` | 2rem | 32px | Between sections |
123
+ | `--slds-g-spacing-8` | 3rem | 48px | Large separations |
124
+ | `--slds-g-spacing-12` | 5rem | 80px | Page-level spacing |
125
+
126
+ ---
127
+
128
+ ## Typography Hooks (Naming Exception)
129
+
130
+ Typography hooks break from the `{prefix}-{number}` pattern used by spacing and color:
131
+
132
+ | Hook | Pattern | Use |
133
+ |------|---------|-----|
134
+ | `--slds-g-font-size-base` | Single value | Base application font size (13px / 0.8125rem) |
135
+ | `--slds-g-font-scale-*` | Numbered scale | All other sizes: `font-scale-1` (14px) through `font-scale-10` |
136
+ | `--slds-g-font-scale-neg-*` | Negative scale | Smaller sizes: `font-scale-neg-1` through `neg-4` |
137
+ | `--slds-g-font-scale-var-*` | Density-aware | Adapts to compact/comfy display density settings |
138
+
139
+ **Common mappings:**
140
+
141
+ | Size | Hook | Approximate value |
142
+ |------|------|-------------------|
143
+ | Small body text | `--slds-g-font-scale-neg-1` | 12px |
144
+ | Default body | `--slds-g-font-size-base` | 13px |
145
+ | Larger body | `--slds-g-font-scale-1` | 14px |
146
+ | Subheading | `--slds-g-font-scale-2` | 16px |
147
+ | Heading | `--slds-g-font-scale-4` | 20px |
148
+ | Page title | `--slds-g-font-scale-6` | 28px |
149
+ | Display | `--slds-g-font-scale-8` | 40px |
150
+
151
+ **CRITICAL:** `--slds-g-font-size-3`, `--slds-g-font-size-4`, etc. do NOT exist. Only `--slds-g-font-size-base` is valid. For numbered sizes, use `--slds-g-font-scale-*`.
152
+
153
+ ---
154
+
155
+ ## When Hooks Don't Exist
156
+
157
+ Not all CSS properties have styling hooks. Not all values have hook equivalents either (e.g., `min-width: 7rem` for label alignment). Use this decision tree:
158
+
159
+ ```
160
+ Does a hook exist for this property?
161
+ ├─ YES → Use it: var(--slds-g-*, fallback)
162
+ ├─ NO → Is there a utility class?
163
+ │ ├─ YES → Use the utility class
164
+ │ └─ NO → Use minimal custom CSS with:
165
+ │ 1. Custom class prefix (my-*, c-*)
166
+ │ 2. Use hooks for related values (e.g., hook colors in gradients)
167
+ │ 3. Document why no hook/utility exists
168
+ ```
169
+
170
+ **Properties without hooks (use custom CSS):**
171
+ - `transform`, `transition` (use `--slds-g-duration-*` for timing only)
172
+ - `z-index` (use SLDS utility classes when possible)
173
+ - `cursor`, `overflow`
174
+ - Complex gradients (use hook colors within gradient syntax)
175
+
176
+ **Values without hook equivalents (acceptable hardcoding):**
177
+
178
+ Some dimension values have no SLDS hook (e.g., `min-width: 7rem` for label alignment, `max-height: 20rem` for scrollable panels). This is acceptable when:
179
+ 1. No SLDS sizing hook or utility class covers the value
180
+ 2. A comment explains the value is intentional
181
+ 3. SLDS grid utilities (`slds-size_*`) were considered as alternatives
182
+
183
+ ```css
184
+ .c-field-label {
185
+ /* No SLDS hook exists for this width; intentional for label alignment */
186
+ min-width: 7rem;
187
+ }
188
+ ```
189
+
190
+ **Example -- gradient with hook colors:**
191
+ ```css
192
+ .my-gradient-bg {
193
+ background: linear-gradient(
194
+ to bottom,
195
+ var(--slds-g-color-surface-1, #ffffff),
196
+ var(--slds-g-color-surface-2, #f3f3f3)
197
+ );
198
+ }
199
+ ```
200
+
201
+ ---
202
+
203
+ ## Hook vs. Utility vs. Custom CSS
204
+
205
+ | Need | First choice | Fallback |
206
+ |------|-------------|----------|
207
+ | Color (bg, text, border) | Hook: `var(--slds-g-color-*)` | -- |
208
+ | Spacing (margin, padding) | Utility: `slds-m-*`, `slds-p-*` | Hook: `var(--slds-g-spacing-*)` |
209
+ | Layout (grid, columns) | Utility: `slds-grid`, `slds-col` | -- |
210
+ | Typography (size) | Hook: `var(--slds-g-font-scale-*)` or `var(--slds-g-font-size-base)` | Utility: `slds-text-*` |
211
+ | Typography (weight) | Hook: `var(--slds-g-font-weight-*)` | -- |
212
+ | Visibility (show/hide) | Utility: `slds-hide`, `slds-show` | -- |
213
+ | Borders (width, radius) | Hook: `var(--slds-g-radius-*)` | Utility: `slds-border-*` |
214
+ | Shadows | Hook: `var(--slds-g-shadow-*)` | -- |
215
+ | Anything else | Custom CSS with custom class prefix | Use hook values where possible |
216
+
217
+ ---
218
+
219
+ ## Deep Reference
220
+
221
+ - Styling hooks index: `guidance/styling-hooks/index.md`
222
+ - Color hooks deep dive: `guidance/styling-hooks/color/`
223
+ - Color overview (85-5-10 rule): `guidance/overviews/color.md`
224
+ - Spacing overview: `guidance/overviews/spacing.md`
225
+ - Typography hooks: `guidance/styling-hooks/typography.md`
226
+ - Borders overview: `guidance/overviews/borders.md`
227
+ - Shadows overview: `guidance/overviews/shadows.md`
228
+ - All 523 hooks searchable: `metadata/hooks-index.json`
@@ -0,0 +1,125 @@
1
+ # Utilities Quick Reference
2
+
3
+ SLDS utility classes for rapid styling. 1,147 classes across 27 categories.
4
+
5
+ ---
6
+
7
+ ## When to Use Utilities vs. Hooks
8
+
9
+ | Need | Use utility class | Use hook |
10
+ |------|------------------|----------|
11
+ | Margin/padding | `slds-m-bottom_medium`, `slds-p-around_small` | `var(--slds-g-spacing-4)` in custom CSS |
12
+ | Grid layout | `slds-grid`, `slds-col`, `slds-size_*` | -- |
13
+ | Visibility | `slds-hide`, `slds-show_*` | -- |
14
+ | Text styling | `slds-text-heading_medium` | `var(--slds-g-font-*)` |
15
+ | Borders | `slds-border_bottom` | `var(--slds-g-color-border-*)` |
16
+ | Colors | `slds-theme_*` | `var(--slds-g-color-*)` |
17
+
18
+ **Prefer utility classes for layout and spacing in markup.** Use hooks in custom CSS for colors, typography values, and dynamic theming.
19
+
20
+ ---
21
+
22
+ ## Most-Used Categories
23
+
24
+ ### Grid (`slds-grid`, 80 classes)
25
+
26
+ ```html
27
+ <div class="slds-grid slds-wrap slds-gutters">
28
+ <div class="slds-col slds-size_1-of-1 slds-medium-size_1-of-2 slds-large-size_1-of-3">
29
+ <!-- Column content -->
30
+ </div>
31
+ </div>
32
+ ```
33
+
34
+ Key classes:
35
+ - `slds-grid` -- flex container
36
+ - `slds-wrap` -- allow wrapping
37
+ - `slds-gutters` -- column spacing
38
+ - `slds-col` -- flex column
39
+ - `slds-size_1-of-N` -- fractional width (1-of-1 through 1-of-12)
40
+ - `slds-medium-size_*`, `slds-large-size_*` -- responsive breakpoints
41
+ - `slds-grid_vertical` -- column direction
42
+ - `slds-grid_align-center` -- center alignment
43
+
44
+ ### Margin (`slds-m-*`, 119 classes)
45
+
46
+ Pattern: `slds-m-{direction}_{size}`
47
+
48
+ | Direction | Class pattern |
49
+ |-----------|--------------|
50
+ | All | `slds-m-around_*` |
51
+ | Top | `slds-m-top_*` |
52
+ | Bottom | `slds-m-bottom_*` |
53
+ | Left | `slds-m-left_*` |
54
+ | Right | `slds-m-right_*` |
55
+ | Vertical | `slds-m-vertical_*` |
56
+ | Horizontal | `slds-m-horizontal_*` |
57
+
58
+ Sizes: `none`, `xxx-small`, `xx-small`, `x-small`, `small`, `medium`, `large`, `x-large`, `xx-large`
59
+
60
+ ### Padding (`slds-p-*`, 120 classes)
61
+
62
+ Same pattern as margin: `slds-p-{direction}_{size}`
63
+
64
+ ### Sizing (`slds-size_*`, 613 classes)
65
+
66
+ Fractional widths for columns and elements:
67
+ - `slds-size_1-of-2` -- 50%
68
+ - `slds-size_1-of-3` -- 33.3%
69
+ - `slds-size_2-of-3` -- 66.6%
70
+ - `slds-size_1-of-4` -- 25%
71
+ - `slds-size_full` -- 100%
72
+
73
+ Responsive: `slds-small-size_*`, `slds-medium-size_*`, `slds-large-size_*`
74
+
75
+ ### Typography (`slds-text-*`, 24 classes)
76
+
77
+ - `slds-text-heading_large` -- large heading
78
+ - `slds-text-heading_medium` -- medium heading
79
+ - `slds-text-heading_small` -- small heading
80
+ - `slds-text-body_regular` -- body text
81
+ - `slds-text-body_small` -- small body text
82
+ - `slds-text-title` -- uppercase label
83
+ - `slds-text-color_default` -- default text color
84
+ - `slds-text-color_weak` -- secondary text color
85
+
86
+ ### Visibility
87
+
88
+ - `slds-hide` -- hide element (`display: none`)
89
+ - `slds-show` -- show element (`display: block`)
90
+ - `slds-show_inline` -- show inline
91
+ - `slds-hidden` -- hidden via `visibility: hidden`; occupies space and is not a screen-reader helper
92
+ - `slds-assistive-text` -- screen-reader only text
93
+
94
+ Use `slds-assistive-text`, not `slds-hidden`, when content should remain available to assistive technology.
95
+
96
+ ### Truncation
97
+
98
+ - `slds-truncate` -- single-line truncation with ellipsis
99
+ - `slds-line-clamp_*` -- multi-line truncation (2, 3, 4, 5 lines)
100
+
101
+ ---
102
+
103
+ ## How to Search
104
+
105
+ ```bash
106
+ # Browse all categories
107
+ node scripts/search-utilities.cjs --category "all"
108
+
109
+ # Browse a specific category
110
+ node scripts/search-utilities.cjs --category "grid"
111
+
112
+ # Search by class name
113
+ node scripts/search-utilities.cjs --search "slds-m-bottom"
114
+
115
+ # Wildcard pattern
116
+ node scripts/search-utilities.cjs --pattern "slds-p-around_*"
117
+ ```
118
+
119
+ ---
120
+
121
+ ## Deep Reference
122
+
123
+ - Utility index: `guidance/utilities/index.md`
124
+ - Individual category guides: `guidance/utilities/{category}.md`
125
+ - Full metadata (1,147 classes): `metadata/utilities-index.json`