opencode-skills-collection 3.1.0 → 3.1.2

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 (291) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +84 -1
  2. package/bundled-skills/2slides-ppt-generator/SKILL.md +8 -7
  3. package/bundled-skills/android-cli/SKILL.md +19 -7
  4. package/bundled-skills/android-ui-journey-testing/SKILL.md +191 -0
  5. package/bundled-skills/apple-notes-search/SKILL.md +12 -2
  6. package/bundled-skills/ask-matt/SKILL.md +92 -0
  7. package/bundled-skills/atlas-ledger/SKILL.md +8 -0
  8. package/bundled-skills/bugs-are-annoying/SKILL.md +137 -0
  9. package/bundled-skills/codebase-design/DEEPENING.md +37 -0
  10. package/bundled-skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  11. package/bundled-skills/codebase-design/SKILL.md +145 -0
  12. package/bundled-skills/codex-fable5/SKILL.md +10 -2
  13. package/bundled-skills/competitor-analysis/LICENSE.txt +21 -0
  14. package/bundled-skills/competitor-analysis/SKILL.md +434 -0
  15. package/bundled-skills/competitor-analysis/references/battle-card-subagent.md +127 -0
  16. package/bundled-skills/competitor-analysis/references/battle-card.md +91 -0
  17. package/bundled-skills/competitor-analysis/references/example-research.md +130 -0
  18. package/bundled-skills/competitor-analysis/references/report-template.html +127 -0
  19. package/bundled-skills/competitor-analysis/references/research-patterns.md +217 -0
  20. package/bundled-skills/competitor-analysis/references/workflow.md +434 -0
  21. package/bundled-skills/competitor-analysis/scripts/capture_screenshots.mjs +142 -0
  22. package/bundled-skills/competitor-analysis/scripts/compile_report.mjs +929 -0
  23. package/bundled-skills/competitor-analysis/scripts/extract_vs_names.mjs +140 -0
  24. package/bundled-skills/competitor-analysis/scripts/gate_candidates.mjs +224 -0
  25. package/bundled-skills/competitor-analysis/scripts/list_urls.mjs +90 -0
  26. package/bundled-skills/competitor-analysis/scripts/md_utils.mjs +50 -0
  27. package/bundled-skills/competitor-analysis/scripts/merge_partials.mjs +291 -0
  28. package/bundled-skills/competitor-analysis/scripts/package.json +6 -0
  29. package/bundled-skills/design-it/3d-ui/SKILL.md +259 -0
  30. package/bundled-skills/design-it/SKILL.md +170 -0
  31. package/bundled-skills/design-it/ai-native-ui/SKILL.md +295 -0
  32. package/bundled-skills/design-it/aurora-ui/SKILL.md +307 -0
  33. package/bundled-skills/design-it/bento-ui/SKILL.md +314 -0
  34. package/bundled-skills/design-it/brutalism/SKILL.md +270 -0
  35. package/bundled-skills/design-it/brutalist-typography/SKILL.md +287 -0
  36. package/bundled-skills/design-it/card-based-design/SKILL.md +262 -0
  37. package/bundled-skills/design-it/claymorphism/SKILL.md +287 -0
  38. package/bundled-skills/design-it/color-blocking/SKILL.md +278 -0
  39. package/bundled-skills/design-it/command-center-ui/SKILL.md +345 -0
  40. package/bundled-skills/design-it/cyber-y2k/SKILL.md +312 -0
  41. package/bundled-skills/design-it/cyberpunk-ui/SKILL.md +262 -0
  42. package/bundled-skills/design-it/dark-mode/SKILL.md +289 -0
  43. package/bundled-skills/design-it/dashboard-design/SKILL.md +331 -0
  44. package/bundled-skills/design-it/data-dense-design/SKILL.md +322 -0
  45. package/bundled-skills/design-it/duotone-design/SKILL.md +248 -0
  46. package/bundled-skills/design-it/editorial-design/SKILL.md +328 -0
  47. package/bundled-skills/design-it/flat-design/SKILL.md +221 -0
  48. package/bundled-skills/design-it/flat-design-2/SKILL.md +240 -0
  49. package/bundled-skills/design-it/floating-ui/SKILL.md +299 -0
  50. package/bundled-skills/design-it/frutiger-aero/SKILL.md +274 -0
  51. package/bundled-skills/design-it/glassmorphism/SKILL.md +272 -0
  52. package/bundled-skills/design-it/gradient-design/SKILL.md +309 -0
  53. package/bundled-skills/design-it/high-contrast/SKILL.md +288 -0
  54. package/bundled-skills/design-it/holographic-ui/SKILL.md +310 -0
  55. package/bundled-skills/design-it/isometric-design/SKILL.md +228 -0
  56. package/bundled-skills/design-it/layered-design/SKILL.md +247 -0
  57. package/bundled-skills/design-it/material-design/SKILL.md +275 -0
  58. package/bundled-skills/design-it/maximalism/SKILL.md +297 -0
  59. package/bundled-skills/design-it/minimalism/SKILL.md +267 -0
  60. package/bundled-skills/design-it/monochromatic-ui/SKILL.md +296 -0
  61. package/bundled-skills/design-it/neo-brutalism/SKILL.md +270 -0
  62. package/bundled-skills/design-it/neumorphism/SKILL.md +248 -0
  63. package/bundled-skills/design-it/retro-design/SKILL.md +283 -0
  64. package/bundled-skills/design-it/retro-futurism/SKILL.md +259 -0
  65. package/bundled-skills/design-it/sci-fi-interface/SKILL.md +309 -0
  66. package/bundled-skills/design-it/skeuomorphism/SKILL.md +280 -0
  67. package/bundled-skills/design-it/soft-pastel/SKILL.md +307 -0
  68. package/bundled-skills/design-it/spatial-computing-ui/SKILL.md +300 -0
  69. package/bundled-skills/design-it/spatial-design/SKILL.md +268 -0
  70. package/bundled-skills/design-it/swiss-design/SKILL.md +293 -0
  71. package/bundled-skills/design-it/synthwave/SKILL.md +257 -0
  72. package/bundled-skills/design-it/tile-design/SKILL.md +297 -0
  73. package/bundled-skills/design-it/typography-first/SKILL.md +247 -0
  74. package/bundled-skills/design-it/vaporwave/SKILL.md +331 -0
  75. package/bundled-skills/design-it/vibrant-maximalism/SKILL.md +291 -0
  76. package/bundled-skills/design-it/widget-based-design/SKILL.md +274 -0
  77. package/bundled-skills/design-it/y2k-design/SKILL.md +268 -0
  78. package/bundled-skills/diagnosing-bugs/SKILL.md +165 -0
  79. package/bundled-skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  80. package/bundled-skills/docs/contributors/skill-scoring.md +235 -0
  81. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  82. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  83. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  84. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  85. package/bundled-skills/docs/users/bundles.md +145 -1
  86. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  87. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  88. package/bundled-skills/docs/users/getting-started.md +1 -1
  89. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  90. package/bundled-skills/docs/users/specialized-plugin-roadmap.md +11 -4
  91. package/bundled-skills/docs/users/usage.md +4 -4
  92. package/bundled-skills/docs/users/visual-guide.md +4 -4
  93. package/bundled-skills/domain-modeling/ADR-FORMAT.md +47 -0
  94. package/bundled-skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  95. package/bundled-skills/domain-modeling/SKILL.md +105 -0
  96. package/bundled-skills/dos-verify-done-claims/SKILL.md +16 -4
  97. package/bundled-skills/ecl-harness-engineer/agents/creator-config.md +1 -1
  98. package/bundled-skills/ecl-harness-engineer/references/environment-config-guide.md +2 -2
  99. package/bundled-skills/ecl-harness-engineer/references/environment-detection-guide.md +4 -4
  100. package/bundled-skills/event-staffing-ordering/SKILL.md +4 -0
  101. package/bundled-skills/grill-me/SKILL.md +36 -0
  102. package/bundled-skills/grill-with-docs/SKILL.md +36 -0
  103. package/bundled-skills/grilling/SKILL.md +39 -0
  104. package/bundled-skills/handoff/SKILL.md +45 -0
  105. package/bundled-skills/image-generator/.env.example +7 -0
  106. package/bundled-skills/image-generator/SKILL.md +509 -0
  107. package/bundled-skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
  108. package/bundled-skills/improve-codebase-architecture/SKILL.md +97 -0
  109. package/bundled-skills/learn/SKILL.md +156 -0
  110. package/bundled-skills/lesson-generator/SKILL.md +90 -0
  111. package/bundled-skills/llm-council/.env.example +7 -0
  112. package/bundled-skills/llm-council/SKILL.md +602 -0
  113. package/bundled-skills/loop-library/SKILL.md +208 -0
  114. package/bundled-skills/loop-library/agents/openai.yaml +4 -0
  115. package/bundled-skills/loop-library/references/catalog.md +270 -0
  116. package/bundled-skills/lovable-cleanup/SKILL.md +9 -7
  117. package/bundled-skills/macos-screen-recorder/SKILL.md +9 -1
  118. package/bundled-skills/mailtrap-managing-contacts/SKILL.md +112 -0
  119. package/bundled-skills/mailtrap-sending-emails/SKILL.md +167 -0
  120. package/bundled-skills/mailtrap-setting-up-sending-domain/SKILL.md +77 -0
  121. package/bundled-skills/mailtrap-testing-with-sandbox/SKILL.md +110 -0
  122. package/bundled-skills/prototype/LOGIC.md +79 -0
  123. package/bundled-skills/prototype/SKILL.md +62 -0
  124. package/bundled-skills/prototype/UI.md +112 -0
  125. package/bundled-skills/screenstudio-alt/SKILL.md +9 -1
  126. package/bundled-skills/setup-matt-pocock-skills/SKILL.md +158 -0
  127. package/bundled-skills/setup-matt-pocock-skills/domain.md +51 -0
  128. package/bundled-skills/setup-matt-pocock-skills/issue-tracker-github.md +34 -0
  129. package/bundled-skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +35 -0
  130. package/bundled-skills/setup-matt-pocock-skills/issue-tracker-local.md +19 -0
  131. package/bundled-skills/setup-matt-pocock-skills/triage-labels.md +15 -0
  132. package/bundled-skills/survey-generator/LICENSE +21 -0
  133. package/bundled-skills/survey-generator/SKILL.md +143 -0
  134. package/bundled-skills/survey-generator/build_artifact.py +208 -0
  135. package/bundled-skills/survey-generator/examples/agentic-engineering/research_bundle.json +1196 -0
  136. package/bundled-skills/survey-generator/examples/agentic-engineering/survey.html +706 -0
  137. package/bundled-skills/survey-generator/style_spec.json +85 -0
  138. package/bundled-skills/survey-generator/templates/research_bundle_template.json +69 -0
  139. package/bundled-skills/tdd/SKILL.md +139 -0
  140. package/bundled-skills/tdd/mocking.md +59 -0
  141. package/bundled-skills/tdd/refactoring.md +10 -0
  142. package/bundled-skills/tdd/tests.md +61 -0
  143. package/bundled-skills/teach/GLOSSARY-FORMAT.md +35 -0
  144. package/bundled-skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  145. package/bundled-skills/teach/MISSION-FORMAT.md +31 -0
  146. package/bundled-skills/teach/RESOURCES-FORMAT.md +32 -0
  147. package/bundled-skills/teach/SKILL.md +169 -0
  148. package/bundled-skills/to-issues/SKILL.md +115 -0
  149. package/bundled-skills/to-prd/SKILL.md +104 -0
  150. package/bundled-skills/tools-page-seo-optimizer/SKILL.md +616 -0
  151. package/bundled-skills/triage/AGENT-BRIEF.md +207 -0
  152. package/bundled-skills/triage/OUT-OF-SCOPE.md +105 -0
  153. package/bundled-skills/triage/SKILL.md +143 -0
  154. package/bundled-skills/vibecode-production-qa-validator/SKILL.md +371 -141
  155. package/bundled-skills/wiki-builder/SKILL.md +157 -0
  156. package/bundled-skills/wiki-builder/agents/openai.yaml +5 -0
  157. package/bundled-skills/wiki-builder/references/wiki-flavors.md +98 -0
  158. package/bundled-skills/wiki-builder/scripts/init_wiki.sh +105 -0
  159. package/bundled-skills/wiki-builder/templates/index.md +20 -0
  160. package/bundled-skills/wiki-builder/templates/maintenance-log.md +7 -0
  161. package/bundled-skills/wiki-builder/templates/prompts/compile-concept-page.md +12 -0
  162. package/bundled-skills/wiki-builder/templates/prompts/compile-index.md +11 -0
  163. package/bundled-skills/wiki-builder/templates/prompts/compile-source-page.md +12 -0
  164. package/bundled-skills/wiki-builder/templates/prompts/lint-wiki.md +10 -0
  165. package/bundled-skills/wiki-builder/templates/prompts/query-and-file.md +11 -0
  166. package/bundled-skills/wiki-builder/templates/sources.md +9 -0
  167. package/bundled-skills/wiki-builder/templates/wiki.config.md +53 -0
  168. package/bundled-skills/writing-great-skills/GLOSSARY.md +181 -0
  169. package/bundled-skills/writing-great-skills/SKILL.md +111 -0
  170. package/bundled-skills/yao-meta-skill/SKILL.md +86 -0
  171. package/bundled-skills/yao-meta-skill/agents/interface.yaml +26 -0
  172. package/bundled-skills/yao-meta-skill/manifest.json +24 -0
  173. package/bundled-skills/yao-meta-skill/references/artifact-design-doctrine.md +49 -0
  174. package/bundled-skills/yao-meta-skill/references/authoring-discipline.md +78 -0
  175. package/bundled-skills/yao-meta-skill/references/autonomous-adaptation.md +65 -0
  176. package/bundled-skills/yao-meta-skill/references/distribution-registry-method.md +60 -0
  177. package/bundled-skills/yao-meta-skill/references/eval-playbook.md +69 -0
  178. package/bundled-skills/yao-meta-skill/references/gate-selection.md +68 -0
  179. package/bundled-skills/yao-meta-skill/references/governance.md +134 -0
  180. package/bundled-skills/yao-meta-skill/references/human-review-template.md +54 -0
  181. package/bundled-skills/yao-meta-skill/references/intent-dialogue.md +138 -0
  182. package/bundled-skills/yao-meta-skill/references/iteration-philosophy.md +30 -0
  183. package/bundled-skills/yao-meta-skill/references/non-skill-decision-tree.md +39 -0
  184. package/bundled-skills/yao-meta-skill/references/operating-modes.md +107 -0
  185. package/bundled-skills/yao-meta-skill/references/output-eval-method.md +113 -0
  186. package/bundled-skills/yao-meta-skill/references/output-quality-risk.md +41 -0
  187. package/bundled-skills/yao-meta-skill/references/output-visual-quality.md +53 -0
  188. package/bundled-skills/yao-meta-skill/references/packaging-contracts.md +70 -0
  189. package/bundled-skills/yao-meta-skill/references/pattern-extraction-doctrine.md +76 -0
  190. package/bundled-skills/yao-meta-skill/references/platform-capability-matrix.md +49 -0
  191. package/bundled-skills/yao-meta-skill/references/prompt-engineering-doctrine.md +76 -0
  192. package/bundled-skills/yao-meta-skill/references/qa-ladder.md +57 -0
  193. package/bundled-skills/yao-meta-skill/references/reference-scan.md +126 -0
  194. package/bundled-skills/yao-meta-skill/references/regression-cause-taxonomy.md +80 -0
  195. package/bundled-skills/yao-meta-skill/references/resource-boundaries.md +120 -0
  196. package/bundled-skills/yao-meta-skill/references/review-studio-method.md +87 -0
  197. package/bundled-skills/yao-meta-skill/references/review-waiver-method.md +76 -0
  198. package/bundled-skills/yao-meta-skill/references/runtime-conformance-method.md +21 -0
  199. package/bundled-skills/yao-meta-skill/references/skill-archetypes.md +86 -0
  200. package/bundled-skills/yao-meta-skill/references/skill-atlas-method.md +35 -0
  201. package/bundled-skills/yao-meta-skill/references/skill-engineering-method.md +210 -0
  202. package/bundled-skills/yao-meta-skill/references/skill-ir-method.md +41 -0
  203. package/bundled-skills/yao-meta-skill/references/skillops-decision-policy.md +53 -0
  204. package/bundled-skills/yao-meta-skill/references/systems-thinking-doctrine.md +75 -0
  205. package/bundled-skills/yao-meta-skill/references/telemetry-drift-method.md +182 -0
  206. package/bundled-skills/yao-meta-skill/references/trust-security-method.md +79 -0
  207. package/bundled-skills/yao-meta-skill/references/user-memory-policy.md +35 -0
  208. package/bundled-skills/youtube-notetaker/SKILL.md +209 -0
  209. package/bundled-skills/youtube-notetaker/reference/artifact.html +269 -0
  210. package/bundled-skills/youtube-notetaker/scripts/contact_sheet.py +53 -0
  211. package/bundled-skills/youtube-notetaker/scripts/detect_slides.sh +19 -0
  212. package/bundled-skills/youtube-notetaker/scripts/download.sh +24 -0
  213. package/bundled-skills/youtube-notetaker/scripts/extract_slides.py +43 -0
  214. package/bundled-skills/youtube-notetaker/scripts/serve.py +222 -0
  215. package/bundled-skills/youtube-notetaker/scripts/setup.sh +27 -0
  216. package/bundled-skills/youtube-notetaker/scripts/verify.sh +31 -0
  217. package/bundled-skills/youtube-notetaker/scripts/vtt_to_transcript.py +59 -0
  218. package/bundled-skills/youtube-notetaker/scripts/write_library_item.py +69 -0
  219. package/package.json +1 -1
  220. package/skills_index.json +2013 -330
  221. package/bundled-skills/ai-md/SKILL.md +0 -523
  222. package/bundled-skills/atlas-contract/SKILL.md +0 -650
  223. package/bundled-skills/busybox-on-windows/SKILL.md +0 -40
  224. package/bundled-skills/monte-carlo-prevent/SKILL.md +0 -257
  225. package/bundled-skills/monte-carlo-prevent/references/TROUBLESHOOTING.md +0 -23
  226. package/bundled-skills/monte-carlo-prevent/references/parameters.md +0 -32
  227. package/bundled-skills/monte-carlo-prevent/references/workflows.md +0 -478
  228. package/bundled-skills/monte-carlo-push-ingestion/SKILL.md +0 -372
  229. package/bundled-skills/monte-carlo-push-ingestion/references/anomaly-detection.md +0 -87
  230. package/bundled-skills/monte-carlo-push-ingestion/references/custom-lineage.md +0 -203
  231. package/bundled-skills/monte-carlo-push-ingestion/references/direct-http-api.md +0 -207
  232. package/bundled-skills/monte-carlo-push-ingestion/references/prerequisites.md +0 -150
  233. package/bundled-skills/monte-carlo-push-ingestion/references/push-lineage.md +0 -160
  234. package/bundled-skills/monte-carlo-push-ingestion/references/push-metadata.md +0 -158
  235. package/bundled-skills/monte-carlo-push-ingestion/references/push-query-logs.md +0 -219
  236. package/bundled-skills/monte-carlo-push-ingestion/references/validation.md +0 -257
  237. package/bundled-skills/monte-carlo-push-ingestion/scripts/sample_verify.py +0 -357
  238. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_and_push_lineage.py +0 -70
  239. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_and_push_metadata.py +0 -65
  240. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_and_push_query_logs.py +0 -70
  241. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_lineage.py +0 -214
  242. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_metadata.py +0 -160
  243. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_query_logs.py +0 -164
  244. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/push_lineage.py +0 -198
  245. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/push_metadata.py +0 -193
  246. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/push_query_logs.py +0 -207
  247. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_and_push_metadata.py +0 -71
  248. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_and_push_query_logs.py +0 -64
  249. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_metadata.py +0 -253
  250. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_query_logs.py +0 -149
  251. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/push_metadata.py +0 -190
  252. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/push_query_logs.py +0 -208
  253. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_and_push_lineage.py +0 -83
  254. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_and_push_metadata.py +0 -77
  255. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_and_push_query_logs.py +0 -83
  256. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_lineage.py +0 -240
  257. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_metadata.py +0 -212
  258. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_query_logs.py +0 -204
  259. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/push_lineage.py +0 -192
  260. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/push_metadata.py +0 -178
  261. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/push_query_logs.py +0 -200
  262. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_and_push_lineage.py +0 -119
  263. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_and_push_metadata.py +0 -119
  264. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_and_push_query_logs.py +0 -117
  265. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_lineage.py +0 -265
  266. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_metadata.py +0 -313
  267. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_query_logs.py +0 -284
  268. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/push_lineage.py +0 -309
  269. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/push_metadata.py +0 -245
  270. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/push_query_logs.py +0 -255
  271. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_and_push_lineage.py +0 -78
  272. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_and_push_metadata.py +0 -80
  273. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_and_push_query_logs.py +0 -88
  274. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_lineage.py +0 -235
  275. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_metadata.py +0 -219
  276. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_query_logs.py +0 -239
  277. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/push_lineage.py +0 -178
  278. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/push_metadata.py +0 -178
  279. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/push_query_logs.py +0 -196
  280. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_and_push_lineage.py +0 -154
  281. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_and_push_metadata.py +0 -137
  282. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_and_push_query_logs.py +0 -137
  283. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_lineage.py +0 -349
  284. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_metadata.py +0 -329
  285. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_query_logs.py +0 -254
  286. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/push_lineage.py +0 -307
  287. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/push_metadata.py +0 -228
  288. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/push_query_logs.py +0 -248
  289. package/bundled-skills/monte-carlo-push-ingestion/scripts/test_template_sdk_usage.py +0 -340
  290. package/bundled-skills/skill-optimizer/SKILL.md +0 -271
  291. package/bundled-skills/using-superpowers/SKILL.md +0 -98
@@ -0,0 +1,262 @@
1
+ ---
2
+ name: card-based-design
3
+ description: Web and App implementation guide for Card-Based Design. Trigger when user wants information cards, Pinterest-style layouts, and bite-sized content containers.
4
+ date_added: "2026-06-17"
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ ---
9
+
10
+ # Card-Based Design
11
+
12
+ > "Bite-sized consumption. Encapsulating discrete pieces of information into distinct visual containers."
13
+
14
+
15
+ ## When to Use
16
+ Use this sub-style when the user's request matches the aesthetic described above. This is a child reference of the `design-it` skill and is not meant to be triggered directly.
17
+
18
+ ## Core Principles
19
+ 1. **Encapsulation**: Every card is self-contained. It has an image, a title, a short description, and usually an action (like a button or a 'like' icon).
20
+ 2. **Responsive Flow**: Cards easily reflow on different screen sizes (from a 4-column grid on desktop to a single column on mobile).
21
+ 3. **Clear Boundaries**: Cards must visually pop off the background.
22
+
23
+ ## Visual DNA
24
+ - **Colors**: Very flexible. The background should be slightly darker or distinct from the card color. **Sophisticated Neutral** works well for a premium feel.
25
+ - **Typography**: Clear hierarchy within the card (Header, Subheader, Body).
26
+ - **Styling**: Standard `border-radius: 8px` and a medium drop shadow.
27
+
28
+ ## Web Implementation
29
+ - CSS Grid with `auto-fit` or a Masonry layout.
30
+ - **CSS Example**:
31
+ ```css
32
+ body {
33
+ background-color: #f0f2f5; /* Standard app background */
34
+ padding: 40px;
35
+ }
36
+
37
+ .card-grid {
38
+ display: grid;
39
+ /* Auto-responsive magic */
40
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
41
+ gap: 24px;
42
+ }
43
+
44
+ .card {
45
+ background: #ffffff;
46
+ border-radius: 12px;
47
+ overflow: hidden; /* Keep images inside the rounded corners */
48
+ box-shadow: 0 4px 12px rgba(0,0,0,0.08);
49
+ transition: transform 0.2s, box-shadow 0.2s;
50
+ display: flex;
51
+ flex-direction: column;
52
+ }
53
+
54
+ .card:hover {
55
+ transform: translateY(-4px);
56
+ box-shadow: 0 8px 24px rgba(0,0,0,0.12);
57
+ }
58
+
59
+ .card-image {
60
+ width: 100%;
61
+ height: 200px;
62
+ object-fit: cover;
63
+ border-bottom: 1px solid #eee;
64
+ }
65
+
66
+ .card-content {
67
+ padding: 20px;
68
+ flex-grow: 1; /* Pushes footer to the bottom */
69
+ }
70
+
71
+ .card-footer {
72
+ padding: 16px 20px;
73
+ border-top: 1px solid #eee;
74
+ display: flex;
75
+ justify-content: space-between;
76
+ }
77
+ ```
78
+
79
+ ## App Implementation
80
+
81
+ ### SwiftUI
82
+ ```swift
83
+ struct ContentCard: View {
84
+ var body: some View {
85
+ VStack(alignment: .leading, spacing: 0) {
86
+ // Image Area
87
+ Rectangle()
88
+ .fill(Color.gray.opacity(0.2))
89
+ .frame(height: 160)
90
+
91
+ // Content Area
92
+ VStack(alignment: .leading, spacing: 8) {
93
+ Text("Card Title")
94
+ .font(.headline)
95
+ Text("A brief description of the content inside this discrete card container.")
96
+ .font(.subheadline)
97
+ .foregroundColor(.secondary)
98
+ .lineLimit(2)
99
+ }
100
+ .padding(16)
101
+ }
102
+ .background(Color.white)
103
+ .cornerRadius(12)
104
+ // Clean, subtle drop shadow
105
+ .shadow(color: Color.black.opacity(0.08), radius: 12, x: 0, y: 4)
106
+ }
107
+ }
108
+
109
+ // In your view:
110
+ // LazyVGrid(columns: [GridItem(.adaptive(minimum: 160), spacing: 16)]) { ... }
111
+ ```
112
+ - `VStack` inside a background with `.cornerRadius` and `.shadow` is the standard.
113
+ - Use `LazyVGrid` with `.adaptive(minimum: 160)` to automatically create a multi-column card grid that flows perfectly on iPad or iPhone.
114
+
115
+ ### Flutter
116
+ ```dart
117
+ class ContentCard extends StatelessWidget {
118
+ @override
119
+ Widget build(BuildContext context) {
120
+ return Card(
121
+ elevation: 4, // Handles shadow natively
122
+ shadowColor: Colors.black.withOpacity(0.4),
123
+ shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
124
+ clipBehavior: Clip.antiAlias, // Critical: stops images from bleeding over corners
125
+ child: Column(
126
+ crossAxisAlignment: CrossAxisAlignment.start,
127
+ mainAxisSize: MainAxisSize.min,
128
+ children: [
129
+ // Image Area
130
+ Container(
131
+ height: 160,
132
+ color: Colors.grey[300],
133
+ width: double.infinity,
134
+ ),
135
+ // Content Area
136
+ Padding(
137
+ padding: const EdgeInsets.all(16.0),
138
+ child: Column(
139
+ crossAxisAlignment: CrossAxisAlignment.start,
140
+ children: const [
141
+ Text('Card Title', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18)),
142
+ SizedBox(height: 8),
143
+ Text(
144
+ 'A brief description of the content inside this discrete card container.',
145
+ style: TextStyle(color: Colors.black54),
146
+ maxLines: 2,
147
+ overflow: TextOverflow.ellipsis,
148
+ ),
149
+ ],
150
+ ),
151
+ ),
152
+ ],
153
+ ),
154
+ );
155
+ }
156
+ }
157
+ // In your view: Use GridView.builder for the layout
158
+ ```
159
+ - The native `Card` widget does almost all the heavy lifting.
160
+ - **Critical fix**: You must set `clipBehavior: Clip.antiAlias` on the `Card`, otherwise the top corners of your images will peek outside the border radius.
161
+
162
+ ### React Native
163
+ ```jsx
164
+ const ContentCard = () => {
165
+ return (
166
+ <View style={styles.card}>
167
+ <View style={styles.imageArea} />
168
+ <View style={styles.contentArea}>
169
+ <Text style={styles.title}>Card Title</Text>
170
+ <Text style={styles.description} numberOfLines={2}>
171
+ A brief description of the content inside this discrete card container.
172
+ </Text>
173
+ </View>
174
+ </View>
175
+ );
176
+ };
177
+
178
+ const styles = StyleSheet.create({
179
+ card: {
180
+ backgroundColor: '#FFF',
181
+ borderRadius: 12,
182
+ shadowColor: '#000',
183
+ shadowOffset: { width: 0, height: 4 },
184
+ shadowOpacity: 0.08,
185
+ shadowRadius: 12,
186
+ elevation: 4,
187
+ margin: 8,
188
+ overflow: 'hidden', // Keeps image inside borders
189
+ },
190
+ imageArea: {
191
+ height: 160,
192
+ backgroundColor: '#E0E0E0',
193
+ },
194
+ contentArea: {
195
+ padding: 16,
196
+ },
197
+ title: {
198
+ fontSize: 18,
199
+ fontWeight: '600',
200
+ marginBottom: 8,
201
+ },
202
+ description: {
203
+ color: '#666',
204
+ }
205
+ });
206
+ // In your view: <FlatList numColumns={2} data={data} renderItem={...} />
207
+ ```
208
+ - Wrap everything in a View with `borderRadius` and `overflow: 'hidden'`.
209
+ - `elevation: 4` provides the drop shadow on Android, while the `shadow*` props handle iOS.
210
+ - For a Pinterest/Masonry style (columns of different heights), you must use a third-party library like `react-native-masonry-list`, as `FlatList` cannot do varying row heights in columns.
211
+
212
+ ### Jetpack Compose
213
+ ```kotlin
214
+ @Composable
215
+ fun ContentCard() {
216
+ // ElevatedCard provides the shadow and shape natively
217
+ ElevatedCard(
218
+ elevation = CardDefaults.elevatedCardElevation(defaultElevation = 4.dp),
219
+ shape = RoundedCornerShape(12.dp),
220
+ colors = CardDefaults.elevatedCardColors(containerColor = Color.White),
221
+ modifier = Modifier.fillMaxWidth().padding(8.dp)
222
+ ) {
223
+ Column {
224
+ // Image Area
225
+ Box(
226
+ modifier = Modifier
227
+ .fillMaxWidth()
228
+ .height(160.dp)
229
+ .background(Color.LightGray)
230
+ )
231
+
232
+ // Content Area
233
+ Column(modifier = Modifier.padding(16.dp)) {
234
+ Text(
235
+ text = "Card Title",
236
+ style = MaterialTheme.typography.titleMedium,
237
+ fontWeight = FontWeight.Bold
238
+ )
239
+ Spacer(Modifier.height(8.dp))
240
+ Text(
241
+ text = "A brief description of the content inside this discrete card container.",
242
+ style = MaterialTheme.typography.bodyMedium,
243
+ color = Color.Gray,
244
+ maxLines = 2,
245
+ overflow = TextOverflow.Ellipsis
246
+ )
247
+ }
248
+ }
249
+ }
250
+ }
251
+ // In your view: LazyVerticalGrid(columns = GridCells.Adaptive(minSize = 160.dp)) { ... }
252
+ ```
253
+ - `ElevatedCard` is the perfect Material 3 component for this. It handles clipping and shadows automatically.
254
+ - Use `GridCells.Adaptive(minSize = 160.dp)` in a `LazyVerticalGrid` to achieve an auto-flowing grid identical to CSS Grid `auto-fit`.
255
+
256
+ ## Do's and Don'ts
257
+ - **DO**: Make the entire card clickable, not just the title or image.
258
+ - **DON'T**: Put too much text in a card. If the user has to scroll *within* a card, the card is too big.
259
+
260
+ ## Limitations
261
+ - This is a styling reference and does not replace environment-specific validation, accessibility testing, or expert review.
262
+ - Ensure appropriate contrast ratios and responsive behaviors are verified separately.
@@ -0,0 +1,287 @@
1
+ ---
2
+ name: claymorphism
3
+ description: Web and App implementation guide for Claymorphism. Trigger when user wants soft 3D elements, rounded shapes, and a playful, tactile appearance.
4
+ date_added: "2026-06-17"
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ ---
9
+
10
+ # Claymorphism
11
+
12
+ > "Like interacting with a pristine, digital claymation set. Soft, bubbly, and incredibly approachable."
13
+
14
+
15
+ ## When to Use
16
+ Use this sub-style when the user's request matches the aesthetic described above. This is a child reference of the `design-it` skill and is not meant to be triggered directly.
17
+
18
+ ## Core Principles
19
+ 1. **Fluffy 3D Volume**: Elements look like inflated balloons or soft clay blocks.
20
+ 2. **Double Inner Shadows**: The signature of claymorphism is an inset light shadow on the top-left and an inset dark shadow on the bottom-right, giving 3D volume to a solid shape.
21
+ 3. **Continuous Curves**: Maximum border-radius. No sharp edges exist in this universe.
22
+
23
+ ## Visual DNA
24
+ - **Colors**: Thrives on pastels and bright, friendly hues. **Desert Mirage**, **Earth-Grounded Elegance**, or custom pastel palettes work best.
25
+ - **Typography**: Playful, thick, rounded fonts (e.g., `Sniglet`, `Fredoka One`, `Nunito`).
26
+ - **Shapes**: 'Squicles' (squares with heavily rounded, continuous corners) and perfect circles.
27
+
28
+ ## Web Implementation
29
+ - Distinct from Neumorphism: Claymorphism elements detach from the background (they have drop shadows) and use inner shadows to create volume, often using colors that contrast with the background.
30
+ - **CSS Example**:
31
+ ```css
32
+ .clay-card {
33
+ background-color: #F8B4A6; /* Soft coral */
34
+ border-radius: 32px;
35
+ padding: 40px;
36
+
37
+ /*
38
+ 1. Outer drop shadow (detaches from background)
39
+ 2. Inner top-left highlight (volume)
40
+ 3. Inner bottom-right shadow (volume)
41
+ */
42
+ box-shadow:
43
+ 8px 8px 24px rgba(0, 0, 0, 0.15), /* Outer */
44
+ inset -8px -8px 16px rgba(0, 0, 0, 0.1), /* Inner dark */
45
+ inset 8px 8px 16px rgba(255, 255, 255, 0.4); /* Inner light */
46
+
47
+ transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1); /* Bouncy */
48
+ }
49
+
50
+ .clay-card:hover {
51
+ transform: translateY(-5px) scale(1.02);
52
+ }
53
+ ```
54
+
55
+ ## App Implementation
56
+
57
+ ### SwiftUI
58
+ ```swift
59
+ struct ClayCard: View {
60
+ @State private var isPressed = false
61
+
62
+ var body: some View {
63
+ VStack(spacing: 16) {
64
+ Image(systemName: "cloud.sun.fill")
65
+ .font(.system(size: 48))
66
+ .foregroundColor(.white)
67
+ Text("Claymorphic Card")
68
+ .font(.system(size: 20, weight: .bold, design: .rounded))
69
+ .foregroundColor(.white)
70
+ }
71
+ .padding(40)
72
+ .background(Color(red: 0.97, green: 0.71, blue: 0.65)) // Soft coral
73
+ .cornerRadius(32)
74
+ // Outer shadow — detaches from background
75
+ .shadow(color: .black.opacity(0.15), radius: 12, x: 8, y: 8)
76
+ // Inner highlight (top-left) — faked with overlay
77
+ .overlay(
78
+ RoundedRectangle(cornerRadius: 32)
79
+ .stroke(
80
+ LinearGradient(
81
+ colors: [.white.opacity(0.5), .clear, .black.opacity(0.1)],
82
+ startPoint: .topLeading,
83
+ endPoint: .bottomTrailing
84
+ ),
85
+ lineWidth: 3
86
+ )
87
+ )
88
+ // Bouncy spring animation on tap
89
+ .scaleEffect(isPressed ? 0.95 : 1.0)
90
+ .animation(.interpolatingSpring(stiffness: 300, damping: 10), value: isPressed)
91
+ .onTapGesture { }
92
+ .simultaneousGesture(
93
+ DragGesture(minimumDistance: 0)
94
+ .onChanged { _ in isPressed = true }
95
+ .onEnded { _ in isPressed = false }
96
+ )
97
+ }
98
+ }
99
+ ```
100
+ - The "clay" volume comes from a gradient stroke overlay: white on top-left, dark on bottom-right.
101
+ - Use `.interpolatingSpring(stiffness: 300, damping: 10)` for the bouncy feel — critical for clay aesthetics.
102
+ - Background color should be pastel/bright but NOT the same as the parent (unlike neumorphism).
103
+
104
+ ### Flutter
105
+ ```dart
106
+ class ClayCard extends StatefulWidget {
107
+ @override
108
+ State<ClayCard> createState() => _ClayCardState();
109
+ }
110
+
111
+ class _ClayCardState extends State<ClayCard> with SingleTickerProviderStateMixin {
112
+ double _scale = 1.0;
113
+
114
+ @override
115
+ Widget build(BuildContext context) {
116
+ return GestureDetector(
117
+ onTapDown: (_) => setState(() => _scale = 0.95),
118
+ onTapUp: (_) => setState(() => _scale = 1.0),
119
+ onTapCancel: () => setState(() => _scale = 1.0),
120
+ child: AnimatedScale(
121
+ scale: _scale,
122
+ duration: const Duration(milliseconds: 200),
123
+ curve: Curves.elasticOut, // Bouncy clay feel
124
+ child: Container(
125
+ padding: const EdgeInsets.all(40),
126
+ decoration: BoxDecoration(
127
+ color: const Color(0xFFF8B4A6), // Soft coral
128
+ borderRadius: BorderRadius.circular(32),
129
+ boxShadow: [
130
+ // Outer shadow
131
+ BoxShadow(
132
+ color: Colors.black.withOpacity(0.15),
133
+ offset: const Offset(8, 8),
134
+ blurRadius: 24,
135
+ ),
136
+ ],
137
+ // Gradient border for the clay volume effect
138
+ border: GradientBorder(
139
+ gradient: LinearGradient(
140
+ colors: [
141
+ Colors.white.withOpacity(0.5),
142
+ Colors.transparent,
143
+ Colors.black.withOpacity(0.1),
144
+ ],
145
+ begin: Alignment.topLeft,
146
+ end: Alignment.bottomRight,
147
+ ),
148
+ width: 3,
149
+ ),
150
+ ),
151
+ child: Column(
152
+ mainAxisSize: MainAxisSize.min,
153
+ children: [
154
+ const Icon(Icons.wb_sunny, size: 48, color: Colors.white),
155
+ const SizedBox(height: 16),
156
+ const Text('Claymorphic Card',
157
+ style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold,
158
+ color: Colors.white)),
159
+ ],
160
+ ),
161
+ ),
162
+ ),
163
+ );
164
+ }
165
+ }
166
+ ```
167
+ - Use `Curves.elasticOut` or `Curves.bounceOut` for the spring animation — essential for the clay feeling.
168
+ - Gradient borders require a custom `ShapeDecoration` or a `Stack` with a gradient container behind the main container.
169
+ - Alternative for inner shadow: use `flutter_inset_box_shadow` package with light top-left and dark bottom-right insets.
170
+
171
+ ### React Native
172
+ ```jsx
173
+ const ClayCard = () => {
174
+ const scale = useRef(new Animated.Value(1)).current;
175
+
176
+ const pressIn = () => {
177
+ Animated.spring(scale, {
178
+ toValue: 0.95,
179
+ friction: 3, // Low friction = bouncy
180
+ tension: 100,
181
+ useNativeDriver: true,
182
+ }).start();
183
+ };
184
+
185
+ const pressOut = () => {
186
+ Animated.spring(scale, {
187
+ toValue: 1,
188
+ friction: 3,
189
+ tension: 100,
190
+ useNativeDriver: true,
191
+ }).start();
192
+ };
193
+
194
+ return (
195
+ <Pressable onPressIn={pressIn} onPressOut={pressOut}>
196
+ <Animated.View style={{
197
+ transform: [{ scale }],
198
+ padding: 40,
199
+ backgroundColor: '#F8B4A6',
200
+ borderRadius: 32,
201
+ alignItems: 'center',
202
+ // Outer shadow
203
+ shadowColor: '#000',
204
+ shadowOffset: { width: 8, height: 8 },
205
+ shadowOpacity: 0.15,
206
+ shadowRadius: 12,
207
+ elevation: 8,
208
+ // Gradient border must be faked with a wrapper or SVG
209
+ borderWidth: 3,
210
+ borderColor: 'rgba(255,255,255,0.3)', // Simplified — top highlight
211
+ }}>
212
+ <Text style={{ fontSize: 48 }}>☀️</Text>
213
+ <Text style={{
214
+ fontSize: 20, fontWeight: '700', color: '#FFF', marginTop: 16,
215
+ }}>
216
+ Claymorphic Card
217
+ </Text>
218
+ </Animated.View>
219
+ </Pressable>
220
+ );
221
+ };
222
+ ```
223
+ - Use `Animated.spring` with low `friction` (3-5) for the signature bouncy clay behavior.
224
+ - Gradient borders aren't possible natively — use a solid white-tinted border as a simplified approximation, or wrap in an `expo-linear-gradient` View.
225
+
226
+ ### Jetpack Compose
227
+ ```kotlin
228
+ @Composable
229
+ fun ClayCard() {
230
+ var isPressed by remember { mutableStateOf(false) }
231
+ val scale by animateFloatAsState(
232
+ targetValue = if (isPressed) 0.95f else 1f,
233
+ animationSpec = spring(dampingRatio = 0.3f, stiffness = 300f),
234
+ )
235
+
236
+ Box(
237
+ modifier = Modifier
238
+ .graphicsLayer { scaleX = scale; scaleY = scale }
239
+ .shadow(8.dp, RoundedCornerShape(32.dp))
240
+ .clip(RoundedCornerShape(32.dp))
241
+ .background(Color(0xFFF8B4A6))
242
+ .border(
243
+ 3.dp,
244
+ Brush.linearGradient(
245
+ colors = listOf(
246
+ Color.White.copy(alpha = 0.5f),
247
+ Color.Transparent,
248
+ Color.Black.copy(alpha = 0.1f),
249
+ ),
250
+ start = Offset.Zero,
251
+ end = Offset.Infinite,
252
+ ),
253
+ RoundedCornerShape(32.dp),
254
+ )
255
+ .padding(40.dp)
256
+ .pointerInput(Unit) {
257
+ detectTapGestures(
258
+ onPress = {
259
+ isPressed = true
260
+ tryAwaitRelease()
261
+ isPressed = false
262
+ },
263
+ )
264
+ },
265
+ contentAlignment = Alignment.Center,
266
+ ) {
267
+ Column(horizontalAlignment = Alignment.CenterHorizontally) {
268
+ Icon(Icons.Default.WbSunny, tint = Color.White,
269
+ modifier = Modifier.size(48.dp))
270
+ Spacer(Modifier.height(16.dp))
271
+ Text("Claymorphic Card",
272
+ fontSize = 20.sp, fontWeight = FontWeight.Bold, color = Color.White)
273
+ }
274
+ }
275
+ }
276
+ ```
277
+ - Use `spring(dampingRatio = 0.3f)` — low damping = bouncy. This is the core of the clay feeling.
278
+ - Gradient borders work natively in Compose via `Modifier.border(width, Brush.linearGradient(...), shape)`.
279
+ - Use `Modifier.clip()` before `.background()` to ensure the rounded corners clip content properly.
280
+
281
+ ## Do's and Don'ts
282
+ - **DO**: Use highly bouncy, spring-based animations to reinforce the soft, physical nature of the "clay."
283
+ - **DON'T**: Use thin, delicate fonts. They will get lost against the heavy, voluminous UI elements.
284
+
285
+ ## Limitations
286
+ - This is a styling reference and does not replace environment-specific validation, accessibility testing, or expert review.
287
+ - Ensure appropriate contrast ratios and responsive behaviors are verified separately.