@flood-md/agent 0.2.9 → 0.2.10

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 (374) hide show
  1. package/DESIGN.md +26 -4
  2. package/README.md +35 -4
  3. package/SKILL.md +31 -0
  4. package/dist/catalog.json +7136 -0
  5. package/dist/materials/component-accordion.md +42 -0
  6. package/dist/materials/component-alert-dialog.md +46 -0
  7. package/dist/materials/component-alert.md +41 -0
  8. package/dist/materials/component-aspect-ratio.md +36 -0
  9. package/dist/materials/component-avatar-group.md +39 -0
  10. package/dist/materials/component-avatar.md +40 -0
  11. package/dist/materials/component-badge.md +37 -0
  12. package/dist/materials/component-blockquote.md +35 -0
  13. package/dist/materials/component-breadcrumb.md +36 -0
  14. package/dist/materials/component-button-group.md +39 -0
  15. package/dist/materials/component-button.md +43 -0
  16. package/dist/materials/component-calendar.md +59 -0
  17. package/dist/materials/component-card.md +46 -0
  18. package/dist/materials/component-center.md +39 -0
  19. package/dist/materials/component-character-count.md +42 -0
  20. package/dist/materials/component-check-card.md +39 -0
  21. package/dist/materials/component-checkbox-group.md +48 -0
  22. package/dist/materials/component-checkbox.md +37 -0
  23. package/dist/materials/component-code-snippet.md +37 -0
  24. package/dist/materials/component-collapsible.md +40 -0
  25. package/dist/materials/component-color-picker.md +49 -0
  26. package/dist/materials/component-color-swatch.md +35 -0
  27. package/dist/materials/component-combobox.md +50 -0
  28. package/dist/materials/component-command-list.md +48 -0
  29. package/dist/materials/component-container.md +36 -0
  30. package/dist/materials/component-context-menu.md +43 -0
  31. package/dist/materials/component-copy-button.md +42 -0
  32. package/dist/materials/component-data-list-item.md +40 -0
  33. package/dist/materials/component-data-list.md +38 -0
  34. package/dist/materials/component-data-table.md +58 -0
  35. package/dist/materials/component-date-field.md +57 -0
  36. package/dist/materials/component-date-picker.md +66 -0
  37. package/dist/materials/component-date-range-field.md +62 -0
  38. package/dist/materials/component-date-range-picker.md +72 -0
  39. package/dist/materials/component-date-time-picker.md +60 -0
  40. package/dist/materials/component-date-time-range-picker.md +66 -0
  41. package/dist/materials/component-description-list.md +42 -0
  42. package/dist/materials/component-dialog.md +45 -0
  43. package/dist/materials/component-divider.md +37 -0
  44. package/dist/materials/component-drawer.md +50 -0
  45. package/dist/materials/component-dropzone.md +45 -0
  46. package/dist/materials/component-editable.md +57 -0
  47. package/dist/materials/component-empty-state.md +41 -0
  48. package/dist/materials/component-error-summary.md +40 -0
  49. package/dist/materials/component-field.md +46 -0
  50. package/dist/materials/component-fieldset.md +46 -0
  51. package/dist/materials/component-figure.md +36 -0
  52. package/dist/materials/component-file-input.md +45 -0
  53. package/dist/materials/component-file-item.md +48 -0
  54. package/dist/materials/component-file-list.md +39 -0
  55. package/dist/materials/component-file-meta.md +36 -0
  56. package/dist/materials/component-flood-root.md +33 -0
  57. package/dist/materials/component-grid.md +38 -0
  58. package/dist/materials/component-heading.md +38 -0
  59. package/dist/materials/component-hover-card.md +48 -0
  60. package/dist/materials/component-icon-button.md +41 -0
  61. package/dist/materials/component-icon-slot.md +37 -0
  62. package/dist/materials/component-image-preview.md +50 -0
  63. package/dist/materials/component-image.md +37 -0
  64. package/dist/materials/component-inline-code.md +36 -0
  65. package/dist/materials/component-inline.md +39 -0
  66. package/dist/materials/component-input-group.md +43 -0
  67. package/dist/materials/component-input.md +39 -0
  68. package/dist/materials/component-kbd.md +34 -0
  69. package/dist/materials/component-label.md +37 -0
  70. package/dist/materials/component-link.md +35 -0
  71. package/dist/materials/component-list-box.md +57 -0
  72. package/dist/materials/component-list.md +40 -0
  73. package/dist/materials/component-menu.md +54 -0
  74. package/dist/materials/component-meter.md +43 -0
  75. package/dist/materials/component-metric.md +39 -0
  76. package/dist/materials/component-multi-select.md +52 -0
  77. package/dist/materials/component-navigation-list.md +38 -0
  78. package/dist/materials/component-navigation-tree.md +43 -0
  79. package/dist/materials/component-number-input.md +47 -0
  80. package/dist/materials/component-pagination.md +44 -0
  81. package/dist/materials/component-password-input.md +43 -0
  82. package/dist/materials/component-pin-input.md +45 -0
  83. package/dist/materials/component-popover.md +47 -0
  84. package/dist/materials/component-progress.md +42 -0
  85. package/dist/materials/component-radio-card.md +43 -0
  86. package/dist/materials/component-radio-group.md +49 -0
  87. package/dist/materials/component-radio.md +39 -0
  88. package/dist/materials/component-range-calendar.md +58 -0
  89. package/dist/materials/component-rating.md +46 -0
  90. package/dist/materials/component-resizable-panels.md +48 -0
  91. package/dist/materials/component-scroll-area.md +42 -0
  92. package/dist/materials/component-search-input.md +40 -0
  93. package/dist/materials/component-section.md +42 -0
  94. package/dist/materials/component-segmented-control.md +51 -0
  95. package/dist/materials/component-select.md +45 -0
  96. package/dist/materials/component-skeleton.md +42 -0
  97. package/dist/materials/component-skip-link.md +37 -0
  98. package/dist/materials/component-slider.md +51 -0
  99. package/dist/materials/component-spinner.md +37 -0
  100. package/dist/materials/component-split.md +40 -0
  101. package/dist/materials/component-stack.md +37 -0
  102. package/dist/materials/component-status-indicator.md +38 -0
  103. package/dist/materials/component-steps.md +40 -0
  104. package/dist/materials/component-surface.md +37 -0
  105. package/dist/materials/component-switch.md +35 -0
  106. package/dist/materials/component-table.md +46 -0
  107. package/dist/materials/component-tabs.md +43 -0
  108. package/dist/materials/component-tag-input.md +46 -0
  109. package/dist/materials/component-tag.md +40 -0
  110. package/dist/materials/component-text.md +39 -0
  111. package/dist/materials/component-textarea.md +38 -0
  112. package/dist/materials/component-time-field.md +56 -0
  113. package/dist/materials/component-time-picker.md +60 -0
  114. package/dist/materials/component-timeline.md +38 -0
  115. package/dist/materials/component-toast-region.md +42 -0
  116. package/dist/materials/component-toggle-group.md +44 -0
  117. package/dist/materials/component-toggle.md +39 -0
  118. package/dist/materials/component-toolbar.md +42 -0
  119. package/dist/materials/component-tooltip.md +40 -0
  120. package/dist/materials/component-tree-select.md +56 -0
  121. package/dist/materials/component-tree.md +52 -0
  122. package/dist/materials/component-upload-item.md +52 -0
  123. package/dist/materials/component-upload-list.md +40 -0
  124. package/dist/materials/component-visually-hidden.md +37 -0
  125. package/dist/materials/guide-agent-knowledge.md +88 -0
  126. package/dist/materials/guide-agents.md +96 -0
  127. package/dist/materials/guide-faq.md +84 -0
  128. package/dist/materials/guide-foundations.md +232 -0
  129. package/dist/materials/guide-installation.md +79 -0
  130. package/dist/materials/guide-interface-content.md +76 -0
  131. package/dist/materials/guide-introduction.md +40 -0
  132. package/dist/materials/guide-layout.md +193 -0
  133. package/dist/materials/guide-privacy.md +23 -0
  134. package/dist/materials/guide-project-ui.md +127 -0
  135. package/dist/materials/guide-skills.md +108 -0
  136. package/dist/materials/guide-theming.md +73 -0
  137. package/dist/materials/recipe-command-palette.md +66 -0
  138. package/dist/materials/recipe-filter-bar.md +59 -0
  139. package/dist/materials/recipe-form-submission.md +39 -0
  140. package/dist/materials/recipe-grouped-form.md +66 -0
  141. package/dist/materials/recipe-select-all.md +31 -0
  142. package/dist/materials/recipe-split-button.md +26 -0
  143. package/dist/materials/recipe-table-bulk-actions.md +88 -0
  144. package/dist/materials/recipe-workspace-review.md +134 -0
  145. package/dist/materials/token-sys.color.accent.content.json +41 -0
  146. package/dist/materials/token-sys.color.action.danger.content.json +42 -0
  147. package/dist/materials/token-sys.color.action.ghost.content.json +41 -0
  148. package/dist/materials/token-sys.color.action.ghost.disabled-content.json +41 -0
  149. package/dist/materials/token-sys.color.action.ghost.disabled.json +41 -0
  150. package/dist/materials/token-sys.color.action.ghost.hover.json +41 -0
  151. package/dist/materials/token-sys.color.action.ghost.pressed.json +41 -0
  152. package/dist/materials/token-sys.color.action.ghost.rest.json +41 -0
  153. package/dist/materials/token-sys.color.action.on-surface.content.json +39 -0
  154. package/dist/materials/token-sys.color.action.on-surface.disabled-content.json +39 -0
  155. package/dist/materials/token-sys.color.action.on-surface.disabled.json +39 -0
  156. package/dist/materials/token-sys.color.action.on-surface.hover.json +39 -0
  157. package/dist/materials/token-sys.color.action.on-surface.pressed.json +39 -0
  158. package/dist/materials/token-sys.color.action.on-surface.rest.json +39 -0
  159. package/dist/materials/token-sys.color.action.primary.content.json +39 -0
  160. package/dist/materials/token-sys.color.action.primary.disabled-content.json +39 -0
  161. package/dist/materials/token-sys.color.action.primary.disabled.json +39 -0
  162. package/dist/materials/token-sys.color.action.primary.hover.json +39 -0
  163. package/dist/materials/token-sys.color.action.primary.pressed.json +39 -0
  164. package/dist/materials/token-sys.color.action.primary.rest.json +39 -0
  165. package/dist/materials/token-sys.color.action.subtle.content.json +39 -0
  166. package/dist/materials/token-sys.color.action.subtle.disabled-content.json +39 -0
  167. package/dist/materials/token-sys.color.action.subtle.disabled.json +39 -0
  168. package/dist/materials/token-sys.color.action.subtle.hover.json +39 -0
  169. package/dist/materials/token-sys.color.action.subtle.pressed.json +39 -0
  170. package/dist/materials/token-sys.color.action.subtle.rest.json +39 -0
  171. package/dist/materials/token-sys.color.border.decorative.json +42 -0
  172. package/dist/materials/token-sys.color.border.default.json +39 -0
  173. package/dist/materials/token-sys.color.border.floating.json +39 -0
  174. package/dist/materials/token-sys.color.border.strong.json +39 -0
  175. package/dist/materials/token-sys.color.content.default.json +41 -0
  176. package/dist/materials/token-sys.color.content.helper.json +39 -0
  177. package/dist/materials/token-sys.color.content.subtle.json +43 -0
  178. package/dist/materials/token-sys.color.divider.decorative.json +41 -0
  179. package/dist/materials/token-sys.color.feedback.error.json +39 -0
  180. package/dist/materials/token-sys.color.feedback.info.json +39 -0
  181. package/dist/materials/token-sys.color.feedback.success.json +39 -0
  182. package/dist/materials/token-sys.color.feedback.warning.json +39 -0
  183. package/dist/materials/token-sys.color.field.background.json +39 -0
  184. package/dist/materials/token-sys.color.field.border.json +39 -0
  185. package/dist/materials/token-sys.color.field.boundary.json +39 -0
  186. package/dist/materials/token-sys.color.field.content.json +39 -0
  187. package/dist/materials/token-sys.color.field.disabled-content.json +39 -0
  188. package/dist/materials/token-sys.color.field.disabled.json +39 -0
  189. package/dist/materials/token-sys.color.field.placeholder.json +39 -0
  190. package/dist/materials/token-sys.color.focus.ring.json +39 -0
  191. package/dist/materials/token-sys.color.indicator.accent.json +39 -0
  192. package/dist/materials/token-sys.color.indicator.fill.json +39 -0
  193. package/dist/materials/token-sys.color.indicator.track.json +39 -0
  194. package/dist/materials/token-sys.color.loading.placeholder.json +42 -0
  195. package/dist/materials/token-sys.color.scrollbar.thumb-hover.json +39 -0
  196. package/dist/materials/token-sys.color.scrollbar.thumb.json +39 -0
  197. package/dist/materials/token-sys.color.selection.background.json +39 -0
  198. package/dist/materials/token-sys.color.selection.content.json +39 -0
  199. package/dist/materials/token-sys.color.selection.floating.json +39 -0
  200. package/dist/materials/token-sys.color.shadow.floating.json +39 -0
  201. package/dist/materials/token-sys.color.surface.canvas.json +39 -0
  202. package/dist/materials/token-sys.color.surface.default.json +39 -0
  203. package/dist/materials/token-sys.color.surface.floating-translucent.json +39 -0
  204. package/dist/materials/token-sys.color.surface.floating.json +39 -0
  205. package/dist/materials/token-sys.color.surface.overlay.json +39 -0
  206. package/dist/materials/token-sys.color.surface.raised.json +39 -0
  207. package/dist/materials/token-sys.control.2xl.gap.json +34 -0
  208. package/dist/materials/token-sys.control.2xl.height.json +34 -0
  209. package/dist/materials/token-sys.control.2xl.icon-size.json +34 -0
  210. package/dist/materials/token-sys.control.2xl.line-height.json +31 -0
  211. package/dist/materials/token-sys.control.2xl.padding-inline.json +34 -0
  212. package/dist/materials/token-sys.control.2xl.text-size.json +34 -0
  213. package/dist/materials/token-sys.control.2xs.gap.json +34 -0
  214. package/dist/materials/token-sys.control.2xs.height.json +34 -0
  215. package/dist/materials/token-sys.control.2xs.icon-size.json +34 -0
  216. package/dist/materials/token-sys.control.2xs.line-height.json +31 -0
  217. package/dist/materials/token-sys.control.2xs.padding-inline.json +34 -0
  218. package/dist/materials/token-sys.control.2xs.text-size.json +34 -0
  219. package/dist/materials/token-sys.control.lg.gap.json +34 -0
  220. package/dist/materials/token-sys.control.lg.height.json +34 -0
  221. package/dist/materials/token-sys.control.lg.icon-size.json +34 -0
  222. package/dist/materials/token-sys.control.lg.line-height.json +31 -0
  223. package/dist/materials/token-sys.control.lg.padding-inline.json +34 -0
  224. package/dist/materials/token-sys.control.lg.text-size.json +34 -0
  225. package/dist/materials/token-sys.control.md.gap.json +34 -0
  226. package/dist/materials/token-sys.control.md.height.json +34 -0
  227. package/dist/materials/token-sys.control.md.icon-size.json +34 -0
  228. package/dist/materials/token-sys.control.md.line-height.json +31 -0
  229. package/dist/materials/token-sys.control.md.padding-inline.json +34 -0
  230. package/dist/materials/token-sys.control.md.text-size.json +34 -0
  231. package/dist/materials/token-sys.control.sm.gap.json +34 -0
  232. package/dist/materials/token-sys.control.sm.height.json +34 -0
  233. package/dist/materials/token-sys.control.sm.icon-size.json +34 -0
  234. package/dist/materials/token-sys.control.sm.line-height.json +31 -0
  235. package/dist/materials/token-sys.control.sm.padding-inline.json +34 -0
  236. package/dist/materials/token-sys.control.sm.text-size.json +34 -0
  237. package/dist/materials/token-sys.control.xl.gap.json +34 -0
  238. package/dist/materials/token-sys.control.xl.height.json +34 -0
  239. package/dist/materials/token-sys.control.xl.icon-size.json +34 -0
  240. package/dist/materials/token-sys.control.xl.line-height.json +31 -0
  241. package/dist/materials/token-sys.control.xl.padding-inline.json +34 -0
  242. package/dist/materials/token-sys.control.xl.text-size.json +34 -0
  243. package/dist/materials/token-sys.control.xs.gap.json +34 -0
  244. package/dist/materials/token-sys.control.xs.height.json +34 -0
  245. package/dist/materials/token-sys.control.xs.icon-size.json +34 -0
  246. package/dist/materials/token-sys.control.xs.line-height.json +31 -0
  247. package/dist/materials/token-sys.control.xs.padding-inline.json +34 -0
  248. package/dist/materials/token-sys.control.xs.text-size.json +34 -0
  249. package/dist/materials/token-sys.effect.floating.blur.json +34 -0
  250. package/dist/materials/token-sys.effect.floating.saturation.json +31 -0
  251. package/dist/materials/token-sys.effect.floating.shadow-blur.json +34 -0
  252. package/dist/materials/token-sys.effect.floating.shadow-offset.json +34 -0
  253. package/dist/materials/token-sys.focus.offset.json +34 -0
  254. package/dist/materials/token-sys.focus.width.json +34 -0
  255. package/dist/materials/token-sys.font.mono.json +36 -0
  256. package/dist/materials/token-sys.font.sans.json +35 -0
  257. package/dist/materials/token-sys.layer.base.json +31 -0
  258. package/dist/materials/token-sys.layer.modal.json +31 -0
  259. package/dist/materials/token-sys.layer.popover.json +31 -0
  260. package/dist/materials/token-sys.layer.sticky.json +31 -0
  261. package/dist/materials/token-sys.layer.toast.json +31 -0
  262. package/dist/materials/token-sys.motion.duration-fast.json +34 -0
  263. package/dist/materials/token-sys.motion.duration-normal.json +34 -0
  264. package/dist/materials/token-sys.motion.duration-reduced.json +34 -0
  265. package/dist/materials/token-sys.motion.easing.json +36 -0
  266. package/dist/materials/token-sys.radius.action.json +34 -0
  267. package/dist/materials/token-sys.radius.block.json +34 -0
  268. package/dist/materials/token-sys.radius.field.json +34 -0
  269. package/dist/materials/token-sys.radius.indicator.json +34 -0
  270. package/dist/materials/token-sys.radius.surface.json +34 -0
  271. package/dist/materials/token-sys.scrollbar.inset.json +34 -0
  272. package/dist/materials/token-sys.scrollbar.min-thumb.json +34 -0
  273. package/dist/materials/token-sys.scrollbar.size.json +34 -0
  274. package/dist/materials/token-sys.size.choice.json +34 -0
  275. package/dist/materials/token-sys.size.container.lg.json +37 -0
  276. package/dist/materials/token-sys.size.container.md.json +37 -0
  277. package/dist/materials/token-sys.size.container.sm.json +37 -0
  278. package/dist/materials/token-sys.size.grid.min-item.json +37 -0
  279. package/dist/materials/token-sys.size.indicator.lg.json +34 -0
  280. package/dist/materials/token-sys.size.indicator.md.json +34 -0
  281. package/dist/materials/token-sys.size.indicator.sm.json +34 -0
  282. package/dist/materials/token-sys.size.keycap.lg.json +34 -0
  283. package/dist/materials/token-sys.size.keycap.md.json +34 -0
  284. package/dist/materials/token-sys.size.keycap.sm.json +34 -0
  285. package/dist/materials/token-sys.size.switch-height.json +34 -0
  286. package/dist/materials/token-sys.size.switch-thumb.json +34 -0
  287. package/dist/materials/token-sys.size.switch-width.json +34 -0
  288. package/dist/materials/token-sys.size.touch.json +34 -0
  289. package/dist/materials/token-sys.space.0.json +34 -0
  290. package/dist/materials/token-sys.space.1.json +34 -0
  291. package/dist/materials/token-sys.space.12.json +34 -0
  292. package/dist/materials/token-sys.space.2.json +34 -0
  293. package/dist/materials/token-sys.space.3.json +34 -0
  294. package/dist/materials/token-sys.space.4.json +34 -0
  295. package/dist/materials/token-sys.space.6.json +34 -0
  296. package/dist/materials/token-sys.space.8.json +34 -0
  297. package/dist/materials/token-sys.stroke.width.json +34 -0
  298. package/dist/materials/token-sys.type.body.line-height.json +31 -0
  299. package/dist/materials/token-sys.type.body.size.json +34 -0
  300. package/dist/materials/token-sys.type.body.tracking.json +34 -0
  301. package/dist/materials/token-sys.type.body.weight.json +31 -0
  302. package/dist/materials/token-sys.type.compact.line-height.json +31 -0
  303. package/dist/materials/token-sys.type.compact.size.json +34 -0
  304. package/dist/materials/token-sys.type.compact.tracking.json +34 -0
  305. package/dist/materials/token-sys.type.compact.weight.json +31 -0
  306. package/dist/materials/token-sys.type.control.line-height.json +31 -0
  307. package/dist/materials/token-sys.type.control.size.json +34 -0
  308. package/dist/materials/token-sys.type.control.tracking.json +34 -0
  309. package/dist/materials/token-sys.type.control.weight.json +31 -0
  310. package/dist/materials/token-sys.type.dialog-title.line-height.json +33 -0
  311. package/dist/materials/token-sys.type.dialog-title.size.json +36 -0
  312. package/dist/materials/token-sys.type.dialog-title.tracking.json +36 -0
  313. package/dist/materials/token-sys.type.dialog-title.weight.json +33 -0
  314. package/dist/materials/token-sys.type.display.line-height.json +31 -0
  315. package/dist/materials/token-sys.type.display.size.json +34 -0
  316. package/dist/materials/token-sys.type.display.tracking.json +34 -0
  317. package/dist/materials/token-sys.type.display.weight.json +31 -0
  318. package/dist/materials/token-sys.type.field-label.line-height.json +33 -0
  319. package/dist/materials/token-sys.type.field-label.size.json +36 -0
  320. package/dist/materials/token-sys.type.field-label.tracking.json +36 -0
  321. package/dist/materials/token-sys.type.field-label.weight.json +33 -0
  322. package/dist/materials/token-sys.type.group-title.line-height.json +33 -0
  323. package/dist/materials/token-sys.type.group-title.size.json +36 -0
  324. package/dist/materials/token-sys.type.group-title.tracking.json +36 -0
  325. package/dist/materials/token-sys.type.group-title.weight.json +33 -0
  326. package/dist/materials/token-sys.type.helper.line-height.json +31 -0
  327. package/dist/materials/token-sys.type.helper.size.json +34 -0
  328. package/dist/materials/token-sys.type.helper.tracking.json +34 -0
  329. package/dist/materials/token-sys.type.helper.weight.json +31 -0
  330. package/dist/materials/token-sys.type.label.line-height.json +31 -0
  331. package/dist/materials/token-sys.type.label.size.json +34 -0
  332. package/dist/materials/token-sys.type.label.tracking.json +34 -0
  333. package/dist/materials/token-sys.type.label.weight.json +31 -0
  334. package/dist/materials/token-sys.type.large.line-height.json +31 -0
  335. package/dist/materials/token-sys.type.large.size.json +34 -0
  336. package/dist/materials/token-sys.type.large.tracking.json +34 -0
  337. package/dist/materials/token-sys.type.large.weight.json +31 -0
  338. package/dist/materials/token-sys.type.lead.line-height.json +31 -0
  339. package/dist/materials/token-sys.type.lead.size.json +34 -0
  340. package/dist/materials/token-sys.type.lead.tracking.json +34 -0
  341. package/dist/materials/token-sys.type.lead.weight.json +31 -0
  342. package/dist/materials/token-sys.type.page.line-height.json +31 -0
  343. package/dist/materials/token-sys.type.page.size.json +34 -0
  344. package/dist/materials/token-sys.type.page.tracking.json +34 -0
  345. package/dist/materials/token-sys.type.page.weight.json +31 -0
  346. package/dist/materials/token-sys.type.section.line-height.json +31 -0
  347. package/dist/materials/token-sys.type.section.size.json +34 -0
  348. package/dist/materials/token-sys.type.section.tracking.json +34 -0
  349. package/dist/materials/token-sys.type.section.weight.json +31 -0
  350. package/knowledge.json +409 -0
  351. package/lib/index.d.ts +33 -0
  352. package/lib/index.mjs +144 -0
  353. package/lib/inspect.d.ts +12 -0
  354. package/lib/inspect.mjs +187 -0
  355. package/manifest.json +41 -1
  356. package/package.json +7 -1
  357. package/references/flood-composition/SKILL.md +30 -0
  358. package/references/flood-data-display/SKILL.md +32 -0
  359. package/references/flood-feedback/SKILL.md +24 -3
  360. package/references/flood-forms/SKILL.md +51 -2
  361. package/references/flood-foundations/SKILL.md +7 -0
  362. package/references/flood-hierarchy/SKILL.md +87 -0
  363. package/references/flood-interface-content/SKILL.md +142 -0
  364. package/references/flood-overlays/SKILL.md +7 -0
  365. package/references/flood-records/SKILL.md +108 -0
  366. package/references/flood-spacing/SKILL.md +16 -0
  367. package/references/flood-verification/SKILL.md +52 -0
  368. package/references/interface-content-examples.md +47 -0
  369. package/references/knowledge.md +49 -0
  370. package/references/record-decisions.md +25 -0
  371. package/references/rendered-review.md +97 -0
  372. package/references/routing.md +1 -0
  373. package/rules.json +152 -2
  374. package/workflows.json +146 -10
@@ -0,0 +1,25 @@
1
+ # Record metadata decisions
2
+
3
+ Use with the records workflow. These cases demonstrate different outcomes for
4
+ similar fields; they are not templates or a forbidden-word list.
5
+
6
+ | Situation | Decision | Reason |
7
+ | --- | --- | --- |
8
+ | Browsing suggestions; title/summary identify the item, status guides opening | Keep identity/summary together; a stable trailing state is useful; consider category/date near the copy | Four unrelated trailing values should not dictate the summary width |
9
+ | A support queue is triaged by state, priority, assignee and due time | Keep those attributes in named comparison columns | Moving priority into details would obstruct the actual task |
10
+ | A suggestion's category is Error but its state is In progress | Use category treatment and lifecycle StatusIndicator; name category in ambiguous details | Classification is not a failed save or error announcement |
11
+ | A low-priority item and high-priority item have the same state | Preserve priority if comparing urgency matters; accent only the meaningful distinction | Urgency and lifecycle are separate dimensions, not competing dots |
12
+ | A file list must compare format, size and transfer progress | Reuse FileMeta, StatusIndicator and Progress within the file owners | Generic text or a row of handmade chips would duplicate existing primitives |
13
+ | An invoice register is used to compare due amounts and payment states | Use named columns, retain units and relevant dates | These fields are core comparisons rather than optional decoration |
14
+ | Created and updated render the same day in a casual browsing detail | Consider one date if the second event adds no decision value | A short screen need not repeat equivalent visible information |
15
+ | An audit detail needs exact creation and modification times on the same day | Keep both named events with sufficient precision/timezone context | Equal formatted dates do not establish identical events |
16
+ | A first-use collection has an empty-state title and a visible create action | Omit a redundant zero counter unless another task needs it | Repeating emptiness does not help the next action |
17
+ | Filters reduce an existing collection to zero | Show the no-results state and a relevant reset; preserve needed result announcements | This is a recoverable query state, not first-use onboarding |
18
+ | Several short records align in an example but long statuses shift other values | Establish shared columns or change the record composition | Equal Inline gaps do not create common scan positions |
19
+ | An inspector flags a priority/date as unowned supporting copy | Evaluate its selection, triage or history purpose | Neither automatic removal nor semantic wrappers prove useful content |
20
+
21
+ A compact browsing row might place category and recency with its copy and keep
22
+ one state at the trailing edge. A comparison table may need several such attributes
23
+ visible together. Decide from the task before choosing presentation. Do not fix
24
+ crowding by hiding a required field, replacing Flood components or modifying user
25
+ record content. Record these choices in development notes, not as extra UI captions.
@@ -0,0 +1,97 @@
1
+ # Review the rendered interface
2
+
3
+ The optional `@flood-md/agent/inspect` export provides a self-contained, read-only
4
+ DOM observer for local browser tooling. It is separate from the Node knowledge
5
+ reader and is not an application dependency or an automatic policy engine.
6
+
7
+ With Playwright running against your local host:
8
+
9
+ ```js
10
+ import {inspectRenderedUI} from '@flood-md/agent/inspect';
11
+ await page.evaluate(() => document.fonts.ready);
12
+ const observations = await page.evaluate(inspectRenderedUI, {});
13
+ ```
14
+
15
+ Before accepting owner selection, also review host-owned source with
16
+ `inspectSourceUI` from the same entry:
17
+
18
+ ```js
19
+ import {inspectSourceUI} from '@flood-md/agent/inspect';
20
+ const jsxReview = inspectSourceUI(jsxText);
21
+ const cssReview = inspectSourceUI(cssText, {format: 'css'});
22
+ ```
23
+
24
+ The caller supplies local text; the function performs no file access, execution
25
+ or network requests. It points at native dialog calls, selected raw JSX controls
26
+ and custom grid/flex layout declarations for owner review. Read each source
27
+ location: comments, strings, examples and legitimate shell CSS can match, while
28
+ aliases, dynamic types and indirect calls can be missed. This is not an AST,
29
+ import audit or automatic ban. Use it on host source, not the implementation of
30
+ Flood itself. Inputs are limited to 500000 UTF-16 units and maxFindings defaults
31
+ to 50 (maximum 500); split larger files deliberately. Retain contextual decisions
32
+ outside the product. An empty result does not establish component reuse.
33
+ Rem-based min-width/min-inline-size declarations are also surfaced for review:
34
+ a local dense table can need one, while a whole-page floor can defeat enlarged
35
+ text. Confirm the selector and actual 24px-root desktop geometry.
36
+
37
+ Inspect representative pages and actual interaction states, including a populated
38
+ editable row and an open date/selection popup. Set rootSelector only when that
39
+ scope is intended; a popup portalled elsewhere will then be excluded. The function
40
+ does not open controls or wait for layout on your behalf. It traverses the current
41
+ document, not iframes or shadow roots. It performs no network requests or writes.
42
+ Keep reports local: labels and copy inventories may contain the host's user data.
43
+
44
+ Observations include likely text glyphs used as button icons, unslotted SVGs,
45
+ passive cells offset from neighbouring input centres and complete cell blocks in
46
+ record/action rows, supporting copy echoing a visible action label, a copy inventory
47
+ and field/group rectangles. They are review findings with selectors/labels and
48
+ measured offsets, not proof of a defect in every context. Arithmetic labels or
49
+ custom artwork can be intentional; explain exceptions rather than deleting data
50
+ to obtain an empty report. maxElements bounds each selected category (default 500,
51
+ maximum 2000) and the total findings list; truncated means coverage is incomplete.
52
+
53
+ forms.track-drift compares stacked multi-column form grids with the same outer
54
+ frame. Different gutters or track counts need review against the grouping plan;
55
+ some different contexts can legitimately use different tracks. Tables and nested
56
+ ancestor/descendant grids are excluded. It is an observable geometry check, not
57
+ an automatic judgement of semantic hierarchy.
58
+
59
+ forms.content-track-drift compares actual Flood field-owner rectangles across
60
+ stacked grids in the same form, even when nested Surface padding makes their
61
+ outer Grid frames differ. It requires matching overall content edges and one
62
+ consistent field width per track. Tables, ancestor/descendant grids and ambiguous
63
+ spanning arrangements are excluded; this is selected coverage, not proof that
64
+ all form alignment is correct. Review the reported offset in context.
65
+
66
+ copy.unowned-support asks for review of supporting text outside a field, actual
67
+ operation state, navigation or structured document. This intentionally includes
68
+ free-standing implementation captions. Potential usefulness is not a reason to
69
+ keep one: name the user's current decision or recovery need. Actual storage errors
70
+ and deletion confirmations are different contexts from a static storage footer.
71
+ Contextual exceptions are possible. Never change font size, ARIA roles or wrapper
72
+ markup just to hide a finding; review the information itself.
73
+
74
+ table.word-fragment uses Intl.Segmenter and rendered text ranges to identify
75
+ words split across table lines. It is bounded by maxElements word segments,
76
+ skips words longer than 200 UTF-16 units, code/pre and cells explicitly marked
77
+ data-wrap="anywhere". If Intl.Segmenter is unavailable, that coverage is reported
78
+ as absent. Localized line-breaking conventions can justify an exception. Preserve
79
+ meaningful intrinsic column widths and use local scrolling before accepting
80
+ single-letter fragments in statuses or dates.
81
+
82
+ For icon actions use real artwork in IconSlot and an accessible name on the
83
+ action. Table now centres cells by default; use cellVerticalAlign="top" only for
84
+ a deliberate prose-table layout. Action-echo findings need contextual review:
85
+ a necessary instruction can legitimately repeat a button label.
86
+
87
+ An empty issues array does not pass the interface. Separately review necessary
88
+ copy using the interface-content workflow and coherent grouping using the forms
89
+ workflow. Inspect copy in screen order and field edges against common layout
90
+ tracks. Check populated, empty, error and changed-content states in task scope.
91
+ Record actual decisions and remaining limits; a successful screenshot capture
92
+ does not mean its contents were reviewed successfully.
93
+
94
+ layout.page-overflow reports document scroll width beyond the viewport during
95
+ a whole-document inspection. It does not run for a selected rootSelector or
96
+ report correctly contained local scrolling. Review the actual cause and task
97
+ context rather than hiding overflow to silence the finding.
@@ -6,6 +6,7 @@ override user authority or grant permission for unrelated operations.
6
6
 
7
7
  | Question / when | Audience | Prerequisite | Source of truth | Verify with |
8
8
  | --- | --- | --- | --- | --- |
9
+ | What needs saying? New or edited interface copy and reference adaptation | Designer / developer / agent | User task, product vocabulary and actual capabilities | flood-interface-content/SKILL.md | Contextual keep/rewrite/move/remove decisions; meaningful hierarchy; preserved recovery and accessible names |
9
10
  | Which primitive owns this role? Component/composite UI work | Developer / agent / reviewer | Matching catalog and component anatomy | flood-composition/SKILL.md | Reuse existing primitives; extend small capabilities first |
10
11
  | Which API can I import? Every component edit | Developer / agent | Installed exact versions | Installed @flood-md/react declarations; flood.json | Type-check host imports; CLI doctor for alignment |
11
12
  | What does this release mean? Setup / upgrade | Developer / agent | Matching guide | flood/DESIGN.md, package changelog | Compare version and declarations; preserve host edits |
package/rules.json CHANGED
@@ -39,7 +39,9 @@
39
39
  "Intrinsic actions and responsive form parent",
40
40
  "Close choice label and independent group spacing",
41
41
  "Reuse shared atoms while preserving specialized native semantics",
42
- "Container/grid/media geometry at320px and enlarged RTL text",
42
+ "Selected role owners and their installed contracts recorded before JSX",
43
+ "Actual date/selection popup checked against the selected component",
44
+ "Container/grid/media geometry at the host's declared viewport and text targets",
43
45
  "No invisible focusable content without reveal behavior"
44
46
  ]
45
47
  },
@@ -179,7 +181,8 @@
179
181
  "Measure visible gaps and row pitch, including padding and minimum height",
180
182
  "Check wrapping and enlarged text",
181
183
  "Check fine/coarse pointers and nonoverlapping interactive targets",
182
- "Preserve keyboard focus and label activation"
184
+ "Preserve keyboard focus and label activation",
185
+ "Peer form grids sharing an outer frame use coherent tracks and gutters, or have an explicit contextual reason"
183
186
  ]
184
187
  },
185
188
  {
@@ -505,6 +508,153 @@
505
508
  "Existing coverage distinguished from checks run for this revision",
506
509
  "Failures, source/host ownership and remaining limits recorded"
507
510
  ]
511
+ },
512
+ {
513
+ "id": "knowledge.versioned",
514
+ "when": "Discovering or extending Flood knowledge",
515
+ "for": [
516
+ "developer",
517
+ "agent"
518
+ ],
519
+ "requires": [
520
+ "Matching package/configuration/guide versions",
521
+ "Host instructions"
522
+ ],
523
+ "sourceOfTruth": "Installed catalog and selected canonical or customized material",
524
+ "guide": "references/knowledge.md",
525
+ "verify": [
526
+ "Read scope and version before selecting material",
527
+ "Finish selected instruction pages",
528
+ "Run growth and clean-consumer checks for source changes"
529
+ ]
530
+ },
531
+ {
532
+ "id": "content.necessary",
533
+ "when": "Introducing or editing visible interface copy and hierarchy",
534
+ "for": [
535
+ "designer",
536
+ "developer",
537
+ "agent"
538
+ ],
539
+ "requires": [
540
+ "User task and scope",
541
+ "Existing product vocabulary"
542
+ ],
543
+ "sourceOfTruth": "Actual user decisions and current interface context",
544
+ "guide": "references/flood-interface-content/SKILL.md",
545
+ "verify": [
546
+ "Changed copy has a necessary role or is removed",
547
+ "Titles, subtitles and hints do not repeat obvious context",
548
+ "Accessible names, needed constraints and recovery remain available",
549
+ "Each supporting sentence serves a specific decision or recovery need in the current state, not a hypothetical future risk",
550
+ "No standing implementation/storage caption merely because the data has a retention limitation",
551
+ "Prototype provenance stays in README/test handoff unless it changes a current record/choice/action; no automatic permanent environment badge"
552
+ ]
553
+ },
554
+ {
555
+ "id": "content.accurate",
556
+ "when": "Writing state, export, storage or completion messages",
557
+ "for": [
558
+ "designer",
559
+ "developer",
560
+ "agent"
561
+ ],
562
+ "requires": [
563
+ "Actual operation and completed outcome"
564
+ ],
565
+ "sourceOfTruth": "Host behavior and confirmed product facts",
566
+ "guide": "references/flood-interface-content/SKILL.md",
567
+ "verify": [
568
+ "No invented capabilities, expert verification or delivery claims",
569
+ "Error explains the applicable failure and supported recovery",
570
+ "Technical details appear only when they affect a user decision"
571
+ ]
572
+ },
573
+ {
574
+ "id": "content.reference",
575
+ "when": "Adapting content from another product or reference",
576
+ "for": [
577
+ "designer",
578
+ "developer",
579
+ "agent"
580
+ ],
581
+ "requires": [
582
+ "Reference purpose",
583
+ "Host objects, actions and states"
584
+ ],
585
+ "sourceOfTruth": "Host capability and user vocabulary",
586
+ "guide": "references/flood-interface-content/SKILL.md",
587
+ "verify": [
588
+ "Reference pattern is mapped to the host question it answers",
589
+ "Competitor workflows, promises and marketing language are not transplanted without matching behavior"
590
+ ]
591
+ },
592
+ {
593
+ "id": "layout.hierarchy",
594
+ "when": "Composing or reviewing task titles, group legends, named fields and shared form tracks",
595
+ "for": [
596
+ "designer",
597
+ "developer",
598
+ "agent",
599
+ "reviewer"
600
+ ],
601
+ "requires": [
602
+ "Installed component and token contracts",
603
+ "Task reading order and actual rendered host"
604
+ ],
605
+ "sourceOfTruth": "Installed hierarchy recipes and host content requirements",
606
+ "guide": "references/flood-hierarchy/SKILL.md",
607
+ "verify": [
608
+ "Task, group and field roles are distinguishable without redundant headings",
609
+ "Label is closer to its control than independent fields/groups",
610
+ "Related rows share measured control edges; width exceptions have a content reason",
611
+ "Dialog title/body inset is owned once; actions remain reachable at enlarged text",
612
+ "Calendar content remains readable inside viewport collision limits"
613
+ ]
614
+ },
615
+ {
616
+ "id": "records.scan",
617
+ "when": "Composing record lists, detail views or several row metadata values",
618
+ "for": [
619
+ "designer",
620
+ "developer",
621
+ "agent",
622
+ "reviewer"
623
+ ],
624
+ "requires": [
625
+ "Current recognition/comparison/action task",
626
+ "Installed record component contracts",
627
+ "Rendered sibling records with varied content"
628
+ ],
629
+ "sourceOfTruth": "Task information needs and installed record contracts",
630
+ "guide": "references/flood-records/SKILL.md",
631
+ "verify": [
632
+ "Field to decision and list/detail placement choices recorded outside UI",
633
+ "Identity and summary remain readable with long and missing metadata",
634
+ "Stable scan positions or real named comparison columns, not drifting pseudo-columns",
635
+ "List, details, first-use and filtered empty states reviewed separately"
636
+ ]
637
+ },
638
+ {
639
+ "id": "records.meaning",
640
+ "when": "Presenting category, lifecycle status, priority, timestamps or collection counts",
641
+ "for": [
642
+ "designer",
643
+ "developer",
644
+ "agent",
645
+ "reviewer"
646
+ ],
647
+ "requires": [
648
+ "Actual field semantics and current user decision"
649
+ ],
650
+ "sourceOfTruth": "Host data meanings and corresponding Flood primitive contract",
651
+ "guide": "references/flood-records/SKILL.md",
652
+ "verify": [
653
+ "Category/state/urgency distinguished with names where needed, not color alone",
654
+ "Essential triage/comparison fields retained; optional attributes do not compete equally",
655
+ "Dates identify useful events with suitable precision; formatted equality is not event equality",
656
+ "Counts and supporting text add current value; necessary announcements remain"
657
+ ]
508
658
  }
509
659
  ],
510
660
  "guideResolution": "Match guide to source in manifest.files; use its target relative to the host project root."
package/workflows.json CHANGED
@@ -2,15 +2,151 @@
2
2
  "schemaVersion": 1,
3
3
  "scope": "Task routing for the existing Flood dark base; applicability is not test evidence",
4
4
  "workflows": [
5
- { "id": "composition", "guide": "references/flood-composition/SKILL.md", "all": true },
6
- { "id": "spacing", "guide": "references/flood-spacing/SKILL.md", "all": true },
7
- { "id": "foundations", "guide": "references/flood-foundations/SKILL.md", "all": true },
8
- { "id": "accessibility", "guide": "references/flood-accessibility/SKILL.md", "all": true },
9
- { "id": "forms", "guide": "references/flood-forms/SKILL.md", "groups": ["forms"], "components": ["Button", "Label", "Fieldset", "ErrorSummary"] },
10
- { "id": "overlays", "guide": "references/flood-overlays/SKILL.md", "groups": ["overlays"], "components": ["Select", "Combobox", "MultiSelect", "TreeSelect", "DatePicker", "DateRangePicker", "TimePicker", "DateTimePicker", "DateTimeRangePicker"] },
11
- { "id": "navigation", "guide": "references/flood-navigation/SKILL.md", "groups": ["navigation"], "components": ["Tree", "TreeSelect", "Toolbar", "CommandList", "ListBox", "ToggleGroup", "SegmentedControl", "Accordion", "Collapsible"] },
12
- { "id": "data-display", "guide": "references/flood-data-display/SKILL.md", "groups": ["content"], "components": ["UploadItem", "UploadList", "EmptyState", "ScrollArea"] },
13
- { "id": "feedback", "guide": "references/flood-feedback/SKILL.md", "groups": ["feedback"], "components": ["Field", "Fieldset", "Input", "Textarea", "Select", "ListBox", "CopyButton", "Badge", "UploadItem", "UploadList"] },
14
- { "id": "verification", "guide": "references/flood-verification/SKILL.md", "all": true }
5
+ {
6
+ "id": "composition",
7
+ "guide": "references/flood-composition/SKILL.md",
8
+ "all": true
9
+ },
10
+ {
11
+ "id": "interface-content",
12
+ "guide": "references/flood-interface-content/SKILL.md",
13
+ "all": true
14
+ },
15
+ {
16
+ "id": "hierarchy",
17
+ "guide": "references/flood-hierarchy/SKILL.md",
18
+ "groups": [
19
+ "forms",
20
+ "overlays",
21
+ "layout",
22
+ "typography"
23
+ ],
24
+ "components": [
25
+ "Card",
26
+ "Section",
27
+ "EmptyState"
28
+ ]
29
+ },
30
+ {
31
+ "id": "spacing",
32
+ "guide": "references/flood-spacing/SKILL.md",
33
+ "all": true
34
+ },
35
+ {
36
+ "id": "foundations",
37
+ "guide": "references/flood-foundations/SKILL.md",
38
+ "all": true
39
+ },
40
+ {
41
+ "id": "accessibility",
42
+ "guide": "references/flood-accessibility/SKILL.md",
43
+ "all": true
44
+ },
45
+ {
46
+ "id": "forms",
47
+ "guide": "references/flood-forms/SKILL.md",
48
+ "groups": [
49
+ "forms"
50
+ ],
51
+ "components": [
52
+ "Button",
53
+ "Label",
54
+ "Fieldset",
55
+ "ErrorSummary"
56
+ ]
57
+ },
58
+ {
59
+ "id": "overlays",
60
+ "guide": "references/flood-overlays/SKILL.md",
61
+ "groups": [
62
+ "overlays"
63
+ ],
64
+ "components": [
65
+ "Select",
66
+ "Combobox",
67
+ "MultiSelect",
68
+ "TreeSelect",
69
+ "DatePicker",
70
+ "DateRangePicker",
71
+ "TimePicker",
72
+ "DateTimePicker",
73
+ "DateTimeRangePicker"
74
+ ]
75
+ },
76
+ {
77
+ "id": "navigation",
78
+ "guide": "references/flood-navigation/SKILL.md",
79
+ "groups": [
80
+ "navigation"
81
+ ],
82
+ "components": [
83
+ "Tree",
84
+ "TreeSelect",
85
+ "Toolbar",
86
+ "CommandList",
87
+ "ListBox",
88
+ "ToggleGroup",
89
+ "SegmentedControl",
90
+ "Accordion",
91
+ "Collapsible"
92
+ ]
93
+ },
94
+ {
95
+ "id": "data-display",
96
+ "guide": "references/flood-data-display/SKILL.md",
97
+ "groups": [
98
+ "content"
99
+ ],
100
+ "components": [
101
+ "UploadItem",
102
+ "UploadList",
103
+ "EmptyState",
104
+ "ScrollArea"
105
+ ]
106
+ },
107
+ {
108
+ "id": "records",
109
+ "guide": "references/flood-records/SKILL.md",
110
+ "components": [
111
+ "DataList",
112
+ "DataListItem",
113
+ "Table",
114
+ "DataTable",
115
+ "DescriptionList",
116
+ "Card",
117
+ "Section",
118
+ "StatusIndicator",
119
+ "Badge",
120
+ "FileItem",
121
+ "FileList",
122
+ "UploadItem",
123
+ "UploadList",
124
+ "EmptyState"
125
+ ]
126
+ },
127
+ {
128
+ "id": "feedback",
129
+ "guide": "references/flood-feedback/SKILL.md",
130
+ "groups": [
131
+ "feedback"
132
+ ],
133
+ "components": [
134
+ "Field",
135
+ "Fieldset",
136
+ "Input",
137
+ "Textarea",
138
+ "Select",
139
+ "ListBox",
140
+ "CopyButton",
141
+ "Badge",
142
+ "UploadItem",
143
+ "UploadList"
144
+ ]
145
+ },
146
+ {
147
+ "id": "verification",
148
+ "guide": "references/flood-verification/SKILL.md",
149
+ "all": true
150
+ }
15
151
  ]
16
152
  }