opencode-skills-collection 3.0.51 → 3.1.1

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 (287) hide show
  1. package/README.md +44 -12
  2. package/bundled-skills/.antigravity-install-manifest.json +84 -1
  3. package/bundled-skills/android-ui-journey-testing/SKILL.md +191 -0
  4. package/bundled-skills/ask-matt/SKILL.md +92 -0
  5. package/bundled-skills/bugs-are-annoying/SKILL.md +137 -0
  6. package/bundled-skills/codebase-design/DEEPENING.md +37 -0
  7. package/bundled-skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  8. package/bundled-skills/codebase-design/SKILL.md +145 -0
  9. package/bundled-skills/competitor-analysis/LICENSE.txt +21 -0
  10. package/bundled-skills/competitor-analysis/SKILL.md +434 -0
  11. package/bundled-skills/competitor-analysis/references/battle-card-subagent.md +127 -0
  12. package/bundled-skills/competitor-analysis/references/battle-card.md +91 -0
  13. package/bundled-skills/competitor-analysis/references/example-research.md +130 -0
  14. package/bundled-skills/competitor-analysis/references/report-template.html +127 -0
  15. package/bundled-skills/competitor-analysis/references/research-patterns.md +217 -0
  16. package/bundled-skills/competitor-analysis/references/workflow.md +434 -0
  17. package/bundled-skills/competitor-analysis/scripts/capture_screenshots.mjs +142 -0
  18. package/bundled-skills/competitor-analysis/scripts/compile_report.mjs +929 -0
  19. package/bundled-skills/competitor-analysis/scripts/extract_vs_names.mjs +140 -0
  20. package/bundled-skills/competitor-analysis/scripts/gate_candidates.mjs +194 -0
  21. package/bundled-skills/competitor-analysis/scripts/list_urls.mjs +90 -0
  22. package/bundled-skills/competitor-analysis/scripts/md_utils.mjs +50 -0
  23. package/bundled-skills/competitor-analysis/scripts/merge_partials.mjs +291 -0
  24. package/bundled-skills/competitor-analysis/scripts/package.json +6 -0
  25. package/bundled-skills/design-it/3d-ui/SKILL.md +259 -0
  26. package/bundled-skills/design-it/SKILL.md +170 -0
  27. package/bundled-skills/design-it/ai-native-ui/SKILL.md +295 -0
  28. package/bundled-skills/design-it/aurora-ui/SKILL.md +307 -0
  29. package/bundled-skills/design-it/bento-ui/SKILL.md +314 -0
  30. package/bundled-skills/design-it/brutalism/SKILL.md +270 -0
  31. package/bundled-skills/design-it/brutalist-typography/SKILL.md +287 -0
  32. package/bundled-skills/design-it/card-based-design/SKILL.md +262 -0
  33. package/bundled-skills/design-it/claymorphism/SKILL.md +287 -0
  34. package/bundled-skills/design-it/color-blocking/SKILL.md +278 -0
  35. package/bundled-skills/design-it/command-center-ui/SKILL.md +345 -0
  36. package/bundled-skills/design-it/cyber-y2k/SKILL.md +312 -0
  37. package/bundled-skills/design-it/cyberpunk-ui/SKILL.md +262 -0
  38. package/bundled-skills/design-it/dark-mode/SKILL.md +289 -0
  39. package/bundled-skills/design-it/dashboard-design/SKILL.md +331 -0
  40. package/bundled-skills/design-it/data-dense-design/SKILL.md +322 -0
  41. package/bundled-skills/design-it/duotone-design/SKILL.md +248 -0
  42. package/bundled-skills/design-it/editorial-design/SKILL.md +328 -0
  43. package/bundled-skills/design-it/flat-design/SKILL.md +221 -0
  44. package/bundled-skills/design-it/flat-design-2/SKILL.md +240 -0
  45. package/bundled-skills/design-it/floating-ui/SKILL.md +299 -0
  46. package/bundled-skills/design-it/frutiger-aero/SKILL.md +274 -0
  47. package/bundled-skills/design-it/glassmorphism/SKILL.md +272 -0
  48. package/bundled-skills/design-it/gradient-design/SKILL.md +309 -0
  49. package/bundled-skills/design-it/high-contrast/SKILL.md +288 -0
  50. package/bundled-skills/design-it/holographic-ui/SKILL.md +310 -0
  51. package/bundled-skills/design-it/isometric-design/SKILL.md +228 -0
  52. package/bundled-skills/design-it/layered-design/SKILL.md +247 -0
  53. package/bundled-skills/design-it/material-design/SKILL.md +275 -0
  54. package/bundled-skills/design-it/maximalism/SKILL.md +297 -0
  55. package/bundled-skills/design-it/minimalism/SKILL.md +267 -0
  56. package/bundled-skills/design-it/monochromatic-ui/SKILL.md +296 -0
  57. package/bundled-skills/design-it/neo-brutalism/SKILL.md +270 -0
  58. package/bundled-skills/design-it/neumorphism/SKILL.md +248 -0
  59. package/bundled-skills/design-it/retro-design/SKILL.md +283 -0
  60. package/bundled-skills/design-it/retro-futurism/SKILL.md +259 -0
  61. package/bundled-skills/design-it/sci-fi-interface/SKILL.md +309 -0
  62. package/bundled-skills/design-it/skeuomorphism/SKILL.md +280 -0
  63. package/bundled-skills/design-it/soft-pastel/SKILL.md +307 -0
  64. package/bundled-skills/design-it/spatial-computing-ui/SKILL.md +300 -0
  65. package/bundled-skills/design-it/spatial-design/SKILL.md +268 -0
  66. package/bundled-skills/design-it/swiss-design/SKILL.md +293 -0
  67. package/bundled-skills/design-it/synthwave/SKILL.md +257 -0
  68. package/bundled-skills/design-it/tile-design/SKILL.md +297 -0
  69. package/bundled-skills/design-it/typography-first/SKILL.md +247 -0
  70. package/bundled-skills/design-it/vaporwave/SKILL.md +331 -0
  71. package/bundled-skills/design-it/vibrant-maximalism/SKILL.md +291 -0
  72. package/bundled-skills/design-it/widget-based-design/SKILL.md +274 -0
  73. package/bundled-skills/design-it/y2k-design/SKILL.md +268 -0
  74. package/bundled-skills/diagnosing-bugs/SKILL.md +165 -0
  75. package/bundled-skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  76. package/bundled-skills/docs/contributors/skill-scoring.md +235 -0
  77. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  78. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  79. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  80. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  81. package/bundled-skills/docs/users/bundles.md +1 -1
  82. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  83. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  84. package/bundled-skills/docs/users/getting-started.md +1 -1
  85. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  86. package/bundled-skills/docs/users/usage.md +4 -4
  87. package/bundled-skills/docs/users/visual-guide.md +4 -4
  88. package/bundled-skills/domain-modeling/ADR-FORMAT.md +47 -0
  89. package/bundled-skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  90. package/bundled-skills/domain-modeling/SKILL.md +105 -0
  91. package/bundled-skills/grill-me/SKILL.md +36 -0
  92. package/bundled-skills/grill-with-docs/SKILL.md +36 -0
  93. package/bundled-skills/grilling/SKILL.md +39 -0
  94. package/bundled-skills/handoff/SKILL.md +45 -0
  95. package/bundled-skills/image-generator/.env.example +7 -0
  96. package/bundled-skills/image-generator/SKILL.md +509 -0
  97. package/bundled-skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
  98. package/bundled-skills/improve-codebase-architecture/SKILL.md +97 -0
  99. package/bundled-skills/learn/SKILL.md +156 -0
  100. package/bundled-skills/lesson-generator/SKILL.md +90 -0
  101. package/bundled-skills/llm-council/.env.example +7 -0
  102. package/bundled-skills/llm-council/SKILL.md +602 -0
  103. package/bundled-skills/loop-library/SKILL.md +205 -0
  104. package/bundled-skills/loop-library/agents/openai.yaml +4 -0
  105. package/bundled-skills/loop-library/references/catalog.md +270 -0
  106. package/bundled-skills/mailtrap-managing-contacts/SKILL.md +112 -0
  107. package/bundled-skills/mailtrap-sending-emails/SKILL.md +167 -0
  108. package/bundled-skills/mailtrap-setting-up-sending-domain/SKILL.md +77 -0
  109. package/bundled-skills/mailtrap-testing-with-sandbox/SKILL.md +110 -0
  110. package/bundled-skills/prototype/LOGIC.md +79 -0
  111. package/bundled-skills/prototype/SKILL.md +62 -0
  112. package/bundled-skills/prototype/UI.md +112 -0
  113. package/bundled-skills/setup-matt-pocock-skills/SKILL.md +158 -0
  114. package/bundled-skills/setup-matt-pocock-skills/domain.md +51 -0
  115. package/bundled-skills/setup-matt-pocock-skills/issue-tracker-github.md +34 -0
  116. package/bundled-skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +35 -0
  117. package/bundled-skills/setup-matt-pocock-skills/issue-tracker-local.md +19 -0
  118. package/bundled-skills/setup-matt-pocock-skills/triage-labels.md +15 -0
  119. package/bundled-skills/survey-generator/LICENSE +21 -0
  120. package/bundled-skills/survey-generator/SKILL.md +143 -0
  121. package/bundled-skills/survey-generator/build_artifact.py +208 -0
  122. package/bundled-skills/survey-generator/examples/agentic-engineering/research_bundle.json +1196 -0
  123. package/bundled-skills/survey-generator/examples/agentic-engineering/survey.html +706 -0
  124. package/bundled-skills/survey-generator/style_spec.json +85 -0
  125. package/bundled-skills/survey-generator/templates/research_bundle_template.json +69 -0
  126. package/bundled-skills/tdd/SKILL.md +139 -0
  127. package/bundled-skills/tdd/mocking.md +59 -0
  128. package/bundled-skills/tdd/refactoring.md +10 -0
  129. package/bundled-skills/tdd/tests.md +61 -0
  130. package/bundled-skills/teach/GLOSSARY-FORMAT.md +35 -0
  131. package/bundled-skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  132. package/bundled-skills/teach/MISSION-FORMAT.md +31 -0
  133. package/bundled-skills/teach/RESOURCES-FORMAT.md +32 -0
  134. package/bundled-skills/teach/SKILL.md +169 -0
  135. package/bundled-skills/to-issues/SKILL.md +115 -0
  136. package/bundled-skills/to-prd/SKILL.md +104 -0
  137. package/bundled-skills/tools-page-seo-optimizer/SKILL.md +616 -0
  138. package/bundled-skills/triage/AGENT-BRIEF.md +207 -0
  139. package/bundled-skills/triage/OUT-OF-SCOPE.md +105 -0
  140. package/bundled-skills/triage/SKILL.md +143 -0
  141. package/bundled-skills/vibecode-production-qa-validator/SKILL.md +371 -141
  142. package/bundled-skills/wiki-builder/SKILL.md +157 -0
  143. package/bundled-skills/wiki-builder/agents/openai.yaml +5 -0
  144. package/bundled-skills/wiki-builder/references/wiki-flavors.md +98 -0
  145. package/bundled-skills/wiki-builder/scripts/init_wiki.sh +105 -0
  146. package/bundled-skills/wiki-builder/templates/index.md +20 -0
  147. package/bundled-skills/wiki-builder/templates/maintenance-log.md +7 -0
  148. package/bundled-skills/wiki-builder/templates/prompts/compile-concept-page.md +12 -0
  149. package/bundled-skills/wiki-builder/templates/prompts/compile-index.md +11 -0
  150. package/bundled-skills/wiki-builder/templates/prompts/compile-source-page.md +12 -0
  151. package/bundled-skills/wiki-builder/templates/prompts/lint-wiki.md +10 -0
  152. package/bundled-skills/wiki-builder/templates/prompts/query-and-file.md +11 -0
  153. package/bundled-skills/wiki-builder/templates/sources.md +9 -0
  154. package/bundled-skills/wiki-builder/templates/wiki.config.md +53 -0
  155. package/bundled-skills/writing-great-skills/GLOSSARY.md +181 -0
  156. package/bundled-skills/writing-great-skills/SKILL.md +111 -0
  157. package/bundled-skills/yao-meta-skill/SKILL.md +86 -0
  158. package/bundled-skills/yao-meta-skill/agents/interface.yaml +26 -0
  159. package/bundled-skills/yao-meta-skill/manifest.json +24 -0
  160. package/bundled-skills/yao-meta-skill/references/artifact-design-doctrine.md +49 -0
  161. package/bundled-skills/yao-meta-skill/references/authoring-discipline.md +78 -0
  162. package/bundled-skills/yao-meta-skill/references/autonomous-adaptation.md +65 -0
  163. package/bundled-skills/yao-meta-skill/references/distribution-registry-method.md +60 -0
  164. package/bundled-skills/yao-meta-skill/references/eval-playbook.md +69 -0
  165. package/bundled-skills/yao-meta-skill/references/gate-selection.md +68 -0
  166. package/bundled-skills/yao-meta-skill/references/governance.md +134 -0
  167. package/bundled-skills/yao-meta-skill/references/human-review-template.md +54 -0
  168. package/bundled-skills/yao-meta-skill/references/intent-dialogue.md +138 -0
  169. package/bundled-skills/yao-meta-skill/references/iteration-philosophy.md +30 -0
  170. package/bundled-skills/yao-meta-skill/references/non-skill-decision-tree.md +39 -0
  171. package/bundled-skills/yao-meta-skill/references/operating-modes.md +107 -0
  172. package/bundled-skills/yao-meta-skill/references/output-eval-method.md +113 -0
  173. package/bundled-skills/yao-meta-skill/references/output-quality-risk.md +41 -0
  174. package/bundled-skills/yao-meta-skill/references/output-visual-quality.md +53 -0
  175. package/bundled-skills/yao-meta-skill/references/packaging-contracts.md +70 -0
  176. package/bundled-skills/yao-meta-skill/references/pattern-extraction-doctrine.md +76 -0
  177. package/bundled-skills/yao-meta-skill/references/platform-capability-matrix.md +49 -0
  178. package/bundled-skills/yao-meta-skill/references/prompt-engineering-doctrine.md +76 -0
  179. package/bundled-skills/yao-meta-skill/references/qa-ladder.md +57 -0
  180. package/bundled-skills/yao-meta-skill/references/reference-scan.md +126 -0
  181. package/bundled-skills/yao-meta-skill/references/regression-cause-taxonomy.md +80 -0
  182. package/bundled-skills/yao-meta-skill/references/resource-boundaries.md +120 -0
  183. package/bundled-skills/yao-meta-skill/references/review-studio-method.md +87 -0
  184. package/bundled-skills/yao-meta-skill/references/review-waiver-method.md +76 -0
  185. package/bundled-skills/yao-meta-skill/references/runtime-conformance-method.md +21 -0
  186. package/bundled-skills/yao-meta-skill/references/skill-archetypes.md +86 -0
  187. package/bundled-skills/yao-meta-skill/references/skill-atlas-method.md +35 -0
  188. package/bundled-skills/yao-meta-skill/references/skill-engineering-method.md +210 -0
  189. package/bundled-skills/yao-meta-skill/references/skill-ir-method.md +41 -0
  190. package/bundled-skills/yao-meta-skill/references/skillops-decision-policy.md +53 -0
  191. package/bundled-skills/yao-meta-skill/references/systems-thinking-doctrine.md +75 -0
  192. package/bundled-skills/yao-meta-skill/references/telemetry-drift-method.md +182 -0
  193. package/bundled-skills/yao-meta-skill/references/trust-security-method.md +79 -0
  194. package/bundled-skills/yao-meta-skill/references/user-memory-policy.md +35 -0
  195. package/bundled-skills/youtube-notetaker/SKILL.md +209 -0
  196. package/bundled-skills/youtube-notetaker/reference/artifact.html +269 -0
  197. package/bundled-skills/youtube-notetaker/scripts/contact_sheet.py +53 -0
  198. package/bundled-skills/youtube-notetaker/scripts/detect_slides.sh +19 -0
  199. package/bundled-skills/youtube-notetaker/scripts/download.sh +24 -0
  200. package/bundled-skills/youtube-notetaker/scripts/extract_slides.py +43 -0
  201. package/bundled-skills/youtube-notetaker/scripts/serve.py +173 -0
  202. package/bundled-skills/youtube-notetaker/scripts/setup.sh +27 -0
  203. package/bundled-skills/youtube-notetaker/scripts/verify.sh +31 -0
  204. package/bundled-skills/youtube-notetaker/scripts/vtt_to_transcript.py +59 -0
  205. package/bundled-skills/youtube-notetaker/scripts/write_library_item.py +69 -0
  206. package/dist/skill-pointer/config-loader.d.ts +14 -0
  207. package/dist/skill-pointer/config-loader.js +30 -3
  208. package/dist/skill-pointer/content-scanner.d.ts +38 -0
  209. package/dist/skill-pointer/content-scanner.js +118 -0
  210. package/dist/skill-pointer/index.d.ts +7 -2
  211. package/dist/skill-pointer/index.js +14 -4
  212. package/dist/skill-pointer/pointer-generator.js +2 -0
  213. package/dist/skill-pointer/skill-patcher.d.ts +13 -0
  214. package/dist/skill-pointer/skill-patcher.js +99 -0
  215. package/package.json +1 -1
  216. package/skills_index.json +1956 -286
  217. package/bundled-skills/ai-md/SKILL.md +0 -523
  218. package/bundled-skills/atlas-contract/SKILL.md +0 -650
  219. package/bundled-skills/busybox-on-windows/SKILL.md +0 -40
  220. package/bundled-skills/monte-carlo-prevent/SKILL.md +0 -257
  221. package/bundled-skills/monte-carlo-prevent/references/TROUBLESHOOTING.md +0 -23
  222. package/bundled-skills/monte-carlo-prevent/references/parameters.md +0 -32
  223. package/bundled-skills/monte-carlo-prevent/references/workflows.md +0 -478
  224. package/bundled-skills/monte-carlo-push-ingestion/SKILL.md +0 -372
  225. package/bundled-skills/monte-carlo-push-ingestion/references/anomaly-detection.md +0 -87
  226. package/bundled-skills/monte-carlo-push-ingestion/references/custom-lineage.md +0 -203
  227. package/bundled-skills/monte-carlo-push-ingestion/references/direct-http-api.md +0 -207
  228. package/bundled-skills/monte-carlo-push-ingestion/references/prerequisites.md +0 -150
  229. package/bundled-skills/monte-carlo-push-ingestion/references/push-lineage.md +0 -160
  230. package/bundled-skills/monte-carlo-push-ingestion/references/push-metadata.md +0 -158
  231. package/bundled-skills/monte-carlo-push-ingestion/references/push-query-logs.md +0 -219
  232. package/bundled-skills/monte-carlo-push-ingestion/references/validation.md +0 -257
  233. package/bundled-skills/monte-carlo-push-ingestion/scripts/sample_verify.py +0 -357
  234. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_and_push_lineage.py +0 -70
  235. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_and_push_metadata.py +0 -65
  236. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_and_push_query_logs.py +0 -70
  237. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_lineage.py +0 -214
  238. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_metadata.py +0 -160
  239. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_query_logs.py +0 -164
  240. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/push_lineage.py +0 -198
  241. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/push_metadata.py +0 -193
  242. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/push_query_logs.py +0 -207
  243. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_and_push_metadata.py +0 -71
  244. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_and_push_query_logs.py +0 -64
  245. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_metadata.py +0 -253
  246. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_query_logs.py +0 -149
  247. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/push_metadata.py +0 -190
  248. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/push_query_logs.py +0 -208
  249. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_and_push_lineage.py +0 -83
  250. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_and_push_metadata.py +0 -77
  251. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_and_push_query_logs.py +0 -83
  252. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_lineage.py +0 -240
  253. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_metadata.py +0 -212
  254. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_query_logs.py +0 -204
  255. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/push_lineage.py +0 -192
  256. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/push_metadata.py +0 -178
  257. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/push_query_logs.py +0 -200
  258. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_and_push_lineage.py +0 -119
  259. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_and_push_metadata.py +0 -119
  260. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_and_push_query_logs.py +0 -117
  261. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_lineage.py +0 -265
  262. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_metadata.py +0 -313
  263. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_query_logs.py +0 -284
  264. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/push_lineage.py +0 -309
  265. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/push_metadata.py +0 -245
  266. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/push_query_logs.py +0 -255
  267. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_and_push_lineage.py +0 -78
  268. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_and_push_metadata.py +0 -80
  269. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_and_push_query_logs.py +0 -88
  270. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_lineage.py +0 -235
  271. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_metadata.py +0 -219
  272. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_query_logs.py +0 -239
  273. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/push_lineage.py +0 -178
  274. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/push_metadata.py +0 -178
  275. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/push_query_logs.py +0 -196
  276. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_and_push_lineage.py +0 -154
  277. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_and_push_metadata.py +0 -137
  278. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_and_push_query_logs.py +0 -137
  279. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_lineage.py +0 -349
  280. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_metadata.py +0 -329
  281. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_query_logs.py +0 -254
  282. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/push_lineage.py +0 -307
  283. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/push_metadata.py +0 -228
  284. package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/push_query_logs.py +0 -248
  285. package/bundled-skills/monte-carlo-push-ingestion/scripts/test_template_sdk_usage.py +0 -340
  286. package/bundled-skills/skill-optimizer/SKILL.md +0 -271
  287. package/bundled-skills/using-superpowers/SKILL.md +0 -98
@@ -0,0 +1,300 @@
1
+ ---
2
+ name: spatial-computing-ui
3
+ description: Web and App implementation guide for Spatial Computing UI. Trigger when user wants floating elements, environmental awareness, and Apple Vision Pro style.
4
+ date_added: "2026-06-17"
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ ---
9
+
10
+ # Spatial Computing UI
11
+
12
+ > "A step beyond Spatial Design. Fully 3D windows floating in augmented reality."
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. **Z-Space Hierarchy**: Not just drop shadows, but actual 3D distance. Modals float 10px *in front of* the main window.
20
+ 2. **Gaze-Based Interaction Cues**: Elements highlight vividly when hovered, anticipating eye-tracking or precise pointer control.
21
+ 3. **Glass and Light**: Windows are thick sheets of frosted glass that bend light and cast soft shadows onto the physical environment.
22
+
23
+ ## Visual DNA
24
+ - **Colors**: Relies entirely on the background environment. Uses purely translucent whites (`rgba(255,255,255,0.x)`) and blacks.
25
+ - **Typography**: `SF Pro`. Heavy use of varied font weights (Regular, Semibold, Bold) to create hierarchy.
26
+ - **Shapes**: High border radii (`24px`-`32px`). Everything is a rounded rectangle or a perfect circle.
27
+
28
+ ## Web Implementation
29
+ - Best emulated using CSS 3D transforms to simulate the user's perspective.
30
+ - **CSS Example**:
31
+ ```css
32
+ body {
33
+ /* Simulate the physical room */
34
+ background: url('living-room.jpg') center/cover;
35
+ perspective: 1200px;
36
+ display: flex;
37
+ justify-content: center;
38
+ align-items: center;
39
+ height: 100vh;
40
+ }
41
+
42
+ .spatial-window {
43
+ width: 800px;
44
+ height: 600px;
45
+ border-radius: 32px;
46
+
47
+ /* The Glass Material */
48
+ background: rgba(255, 255, 255, 0.15);
49
+ backdrop-filter: blur(50px) saturate(200%);
50
+ -webkit-backdrop-filter: blur(50px) saturate(200%);
51
+
52
+ /* Specular Highlights */
53
+ border: 1px solid rgba(255, 255, 255, 0.4);
54
+ box-shadow:
55
+ inset 0 1px 2px rgba(255, 255, 255, 0.8),
56
+ 0 30px 60px rgba(0, 0, 0, 0.3);
57
+
58
+ /* 3D Positioning */
59
+ transform: translateZ(-100px);
60
+ transform-style: preserve-3d;
61
+ }
62
+
63
+ .spatial-modal {
64
+ /* Floating in front of the main window */
65
+ position: absolute;
66
+ top: 50%; left: 50%;
67
+ transform: translate(-50%, -50%) translateZ(50px);
68
+
69
+ background: rgba(255, 255, 255, 0.6); /* More opaque */
70
+ backdrop-filter: blur(30px);
71
+ border-radius: 24px;
72
+ padding: 30px;
73
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
74
+ }
75
+
76
+ .spatial-btn {
77
+ /* Gaze/Hover interaction */
78
+ background: rgba(0,0,0,0.05);
79
+ transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
80
+ }
81
+ .spatial-btn:hover {
82
+ background: rgba(255,255,255,0.4);
83
+ transform: translateZ(10px) scale(1.05);
84
+ box-shadow: 0 10px 20px rgba(0,0,0,0.1);
85
+ }
86
+ ```
87
+
88
+ ## App Implementation
89
+
90
+ ### SwiftUI (visionOS Native / iOS emulation)
91
+ ```swift
92
+ struct SpatialComputingView: View {
93
+ var body: some View {
94
+ ZStack {
95
+ // Simulated room environment
96
+ Image("living-room")
97
+ .resizable()
98
+ .aspectRatio(contentMode: .fill)
99
+ .ignoresSafeArea()
100
+
101
+ // Spatial Window
102
+ VStack(spacing: 24) {
103
+ Text("Spatial Window")
104
+ .font(.title).fontWeight(.bold)
105
+ .foregroundColor(.white)
106
+
107
+ // Gaze-reactive button
108
+ Button(action: {}) {
109
+ Text("Focus Me")
110
+ .fontWeight(.semibold)
111
+ .foregroundColor(.white)
112
+ .padding(.horizontal, 32)
113
+ .padding(.vertical, 16)
114
+ // .hoverEffect() is magic on visionOS/iPadOS
115
+ // .hoverEffect(.highlight)
116
+ }
117
+ .background(Color.black.opacity(0.2))
118
+ .clipShape(Capsule())
119
+ }
120
+ .padding(60)
121
+ // The magic glass material
122
+ .background(.ultraThinMaterial)
123
+ .cornerRadius(32)
124
+ // Specular edge highlight
125
+ .overlay(
126
+ RoundedRectangle(cornerRadius: 32)
127
+ .stroke(Color.white.opacity(0.4), lineWidth: 1)
128
+ )
129
+ // Environmental shadow
130
+ .shadow(color: .black.opacity(0.3), radius: 40, y: 30)
131
+
132
+ // Z-Space Modal simulation (if on iOS)
133
+ // On visionOS, this would be a separate window volume
134
+ Text("Floating Modal")
135
+ .foregroundColor(.white)
136
+ .padding(30)
137
+ .background(.thinMaterial)
138
+ .cornerRadius(24)
139
+ .shadow(color: .black.opacity(0.4), radius: 30, y: 20)
140
+ .offset(x: 100, y: 100)
141
+ }
142
+ }
143
+ }
144
+ ```
145
+ - Use `.ultraThinMaterial` for the base windows and `.thinMaterial` for floating popovers so they feel more opaque as they get closer to the eye.
146
+ - Use `.hoverEffect()` extensively if targeting iPadOS or visionOS.
147
+
148
+ ### Flutter
149
+ ```dart
150
+ import 'dart:ui';
151
+
152
+ class SpatialComputingScreen extends StatelessWidget {
153
+ @override
154
+ Widget build(BuildContext context) {
155
+ return Scaffold(
156
+ body: Stack(
157
+ fit: StackFit.expand,
158
+ children: [
159
+ // Simulated Environment
160
+ Image.asset('assets/living-room.jpg', fit: BoxFit.cover),
161
+
162
+ Center(
163
+ child: ClipRRect(
164
+ borderRadius: BorderRadius.circular(32),
165
+ child: BackdropFilter(
166
+ filter: ImageFilter.blur(sigmaX: 40.0, sigmaY: 40.0), // Heavy blur
167
+ child: Container(
168
+ width: 600, height: 400,
169
+ decoration: BoxDecoration(
170
+ color: Colors.white.withOpacity(0.15), // Glass tint
171
+ borderRadius: BorderRadius.circular(32),
172
+ border: Border.all(color: Colors.white.withOpacity(0.4), width: 1), // Specular highlight
173
+ // Note: BoxShadow won't render under BackdropFilter nicely unless wrapped in a separate PhysicalModel
174
+ ),
175
+ child: Center(
176
+ child: Column(
177
+ mainAxisAlignment: MainAxisAlignment.center,
178
+ children: [
179
+ const Text('Spatial Window', style: TextStyle(color: Colors.white, fontSize: 32, fontWeight: FontWeight.bold)),
180
+ const SizedBox(height: 32),
181
+ // Simulated Gaze Button
182
+ InkWell(
183
+ onTap: () {},
184
+ borderRadius: BorderRadius.circular(50),
185
+ hoverColor: Colors.white.withOpacity(0.4), // Reacts to mouse/gaze
186
+ child: Container(
187
+ padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16),
188
+ decoration: BoxDecoration(color: Colors.black.withOpacity(0.2), borderRadius: BorderRadius.circular(50)),
189
+ child: const Text('Focus Me', style: TextStyle(color: Colors.white, fontSize: 18)),
190
+ ),
191
+ )
192
+ ],
193
+ ),
194
+ ),
195
+ ),
196
+ ),
197
+ ),
198
+ ),
199
+ ],
200
+ ),
201
+ );
202
+ }
203
+ }
204
+ ```
205
+ - You must wrap `BackdropFilter` inside a `ClipRRect` to give the blurred glass rounded corners.
206
+ - `hoverColor` on `InkWell` simulates the gaze-highlighting.
207
+
208
+ ### React Native
209
+ ```jsx
210
+ // REQUIRES: @react-native-community/blur
211
+ import { BlurView } from '@react-native-community/blur';
212
+
213
+ const SpatialComputingScreen = () => {
214
+ return (
215
+ <ImageBackground source={{uri: 'room_bg'}} style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
216
+
217
+ {/* Spatial Window */}
218
+ <View style={{
219
+ width: '90%', height: 400,
220
+ shadowColor: '#000', shadowOffset: { width: 0, height: 30 },
221
+ shadowOpacity: 0.3, shadowRadius: 40, elevation: 20
222
+ }}>
223
+ <BlurView
224
+ style={{ flex: 1, borderRadius: 32, borderWidth: 1, borderColor: 'rgba(255,255,255,0.4)', padding: 40, justifyContent: 'center', alignItems: 'center' }}
225
+ blurType="light"
226
+ blurAmount={30}
227
+ reducedTransparencyFallbackColor="gray"
228
+ >
229
+ <Text style={{ color: '#FFF', fontSize: 32, fontWeight: 'bold', marginBottom: 32 }}>
230
+ Spatial Window
231
+ </Text>
232
+
233
+ {/* Touchable simulating Gaze */}
234
+ <TouchableOpacity style={{
235
+ backgroundColor: 'rgba(0,0,0,0.2)', paddingVertical: 16, paddingHorizontal: 32, borderRadius: 50
236
+ }}>
237
+ <Text style={{ color: '#FFF', fontSize: 18, fontWeight: '600' }}>Focus Me</Text>
238
+ </TouchableOpacity>
239
+ </BlurView>
240
+ </View>
241
+
242
+ </ImageBackground>
243
+ );
244
+ };
245
+ ```
246
+ - React Native's core cannot do background blur. You *must* install `@react-native-community/blur`.
247
+ - Apply shadows to a wrapper `View`, and put the `BlurView` inside it with `borderRadius` and `borderWidth`.
248
+
249
+ ### Jetpack Compose
250
+ ```kotlin
251
+ @Composable
252
+ fun SpatialComputingScreen() {
253
+ Box(modifier = Modifier.fillMaxSize()) {
254
+ // Environment
255
+ Image(painterResource(R.drawable.living_room), contentDescription = null, contentScale = ContentScale.Crop, modifier = Modifier.fillMaxSize())
256
+
257
+ // Spatial Window
258
+ Box(
259
+ modifier = Modifier
260
+ .align(Alignment.Center)
261
+ .size(600.dp, 400.dp)
262
+ // Note: Native Android background blur requires Android 12+ (RenderEffect)
263
+ .graphicsLayer {
264
+ renderEffect = RenderEffect.createBlurEffect(40f, 40f, Shader.TileMode.DECAL).asComposeRenderEffect()
265
+ clip = true
266
+ shape = RoundedCornerShape(32.dp)
267
+ }
268
+ .background(Color.White.copy(alpha = 0.15f))
269
+ .border(1.dp, Color.White.copy(alpha = 0.4f), RoundedCornerShape(32.dp))
270
+ .padding(40.dp),
271
+ contentAlignment = Alignment.Center
272
+ ) {
273
+ Column(horizontalAlignment = Alignment.CenterHorizontally) {
274
+ Text("Spatial Window", color = Color.White, fontSize = 32.sp, fontWeight = FontWeight.Bold)
275
+ Spacer(Modifier.height(32.dp))
276
+
277
+ // Button
278
+ Box(
279
+ modifier = Modifier
280
+ .background(Color.Black.copy(alpha = 0.2f), CircleShape)
281
+ .clickable { }
282
+ .padding(horizontal = 32.dp, vertical = 16.dp)
283
+ ) {
284
+ Text("Focus Me", color = Color.White, fontSize = 18.sp, fontWeight = FontWeight.SemiBold)
285
+ }
286
+ }
287
+ }
288
+ }
289
+ }
290
+ ```
291
+ - On Android 12+, use `RenderEffect.createBlurEffect` applied to the `graphicsLayer` to blur the UI *behind* the compose element.
292
+ - The `border` modifier applies the bright specular rim-light crucial to glass effects.
293
+
294
+ ## Do's and Don'ts
295
+ - **DO**: Create a distinct visual pop (size increase and shadow depth increase) on hover/focus to simulate the gaze-tracking interaction of Spatial Computing.
296
+ - **DON'T**: Use flat, opaque colors for the main windows. They must be glass.
297
+
298
+ ## Limitations
299
+ - This is a styling reference and does not replace environment-specific validation, accessibility testing, or expert review.
300
+ - Ensure appropriate contrast ratios and responsive behaviors are verified separately.
@@ -0,0 +1,268 @@
1
+ ---
2
+ name: spatial-design
3
+ description: Web and App implementation guide for Spatial Design. Trigger when user wants environment-aware layouts, Apple Vision Pro inspiration, and mixed reality aesthetics.
4
+ date_added: "2026-06-17"
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ ---
9
+
10
+ # Spatial Design
11
+
12
+ > "UI that belongs in the room with you. Transparent, glass-like panels that react to the lighting of the physical space."
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. **Environmental Transparency**: The UI acts like a glass pane. It is deeply reliant on background blur, but specifically aims to let the environment (or a simulated environment image) dictate the mood.
20
+ 2. **Dynamic Lighting**: Elements respond to cursor position as if a flashlight is shining on them.
21
+ 3. **Subtle Volume**: Not flat, but not extremely 3D. Elements have a very thin rim of light around the edge (specular highlight).
22
+
23
+ ## Visual DNA
24
+ - **Colors**: Almost exclusively uses `rgba()` white or black. The actual color comes entirely from the background environment.
25
+ - **Typography**: Extremely sharp, high legibility. Often uses varying font weights to establish hierarchy without relying on color. Apple's `SF Pro` is the gold standard here.
26
+ - **Icons**: Outlined, high-legibility glyphs.
27
+
28
+ ## Web Implementation
29
+ - **CSS Example**:
30
+ ```css
31
+ body {
32
+ /* Needs a complex background to look right */
33
+ background: url('room-environment.jpg') cover;
34
+ }
35
+
36
+ .spatial-panel {
37
+ /* The core material */
38
+ background: rgba(255, 255, 255, 0.2); /* Very sheer */
39
+ backdrop-filter: blur(40px) saturate(150%);
40
+ -webkit-backdrop-filter: blur(40px) saturate(150%);
41
+
42
+ border-radius: 32px;
43
+ padding: 40px;
44
+
45
+ /* The specular rim light */
46
+ box-shadow:
47
+ inset 0 1px 1px rgba(255,255,255,0.6),
48
+ inset 0 0 1px 1px rgba(255,255,255,0.2),
49
+ 0 24px 48px rgba(0,0,0,0.1);
50
+ }
51
+
52
+ .spatial-btn {
53
+ background: rgba(0,0,0,0.1);
54
+ color: white;
55
+ border-radius: 20px;
56
+ padding: 12px 24px;
57
+ backdrop-filter: blur(10px);
58
+ transition: all 0.2s;
59
+ }
60
+
61
+ .spatial-btn:hover {
62
+ background: rgba(255,255,255,0.2);
63
+ /* Highlight effect */
64
+ box-shadow: inset 0 0 20px rgba(255,255,255,0.4);
65
+ }
66
+ ```
67
+
68
+ ## App Implementation
69
+
70
+ ### SwiftUI
71
+ ```swift
72
+ struct SpatialDesignView: View {
73
+ var body: some View {
74
+ ZStack {
75
+ // Environment background
76
+ Image("room-environment")
77
+ .resizable()
78
+ .aspectRatio(contentMode: .fill)
79
+ .ignoresSafeArea()
80
+
81
+ // Spatial Panel
82
+ VStack(spacing: 24) {
83
+ Text("Environmental UI")
84
+ .font(.title).fontWeight(.bold)
85
+ .foregroundColor(.white)
86
+
87
+ Button(action: {}) {
88
+ Text("Interact")
89
+ .foregroundColor(.white)
90
+ .padding(.horizontal, 32)
91
+ .padding(.vertical, 16)
92
+ }
93
+ .background(.ultraThinMaterial)
94
+ .clipShape(Capsule())
95
+ .overlay(Capsule().stroke(Color.white.opacity(0.3), lineWidth: 1))
96
+ }
97
+ .padding(40)
98
+ .background(.ultraThinMaterial) // The core spatial material
99
+ .cornerRadius(32)
100
+ // Specular rim light
101
+ .overlay(
102
+ RoundedRectangle(cornerRadius: 32)
103
+ .stroke(
104
+ LinearGradient(
105
+ colors: [.white.opacity(0.6), .white.opacity(0.1)],
106
+ startPoint: .topLeading, endPoint: .bottomTrailing
107
+ ),
108
+ lineWidth: 1
109
+ )
110
+ )
111
+ // Very soft, diffuse shadow
112
+ .shadow(color: .black.opacity(0.1), radius: 40, y: 20)
113
+ }
114
+ }
115
+ }
116
+ ```
117
+ - `.background(.ultraThinMaterial)` is exactly what Apple uses for this aesthetic.
118
+ - The specular highlight is critical. Use an `.overlay` with a `LinearGradient` stroke to simulate a light source hitting the top-left edge of the glass.
119
+
120
+ ### Flutter
121
+ ```dart
122
+ import 'dart:ui';
123
+
124
+ class SpatialDesignScreen extends StatelessWidget {
125
+ @override
126
+ Widget build(BuildContext context) {
127
+ return Scaffold(
128
+ body: Stack(
129
+ fit: StackFit.expand,
130
+ children: [
131
+ Image.asset('assets/room-environment.jpg', fit: BoxFit.cover),
132
+
133
+ Center(
134
+ child: ClipRRect(
135
+ borderRadius: BorderRadius.circular(32),
136
+ child: BackdropFilter(
137
+ filter: ImageFilter.blur(sigmaX: 30.0, sigmaY: 30.0),
138
+ child: Container(
139
+ width: 350,
140
+ padding: const EdgeInsets.all(40),
141
+ decoration: BoxDecoration(
142
+ color: Colors.white.withOpacity(0.1),
143
+ borderRadius: BorderRadius.circular(32),
144
+ // Specular rim light
145
+ border: Border.all(color: Colors.white.withOpacity(0.4), width: 1),
146
+ ),
147
+ child: Column(
148
+ mainAxisSize: MainAxisSize.min,
149
+ children: [
150
+ const Text('Environmental UI', style: TextStyle(color: Colors.white, fontSize: 28, fontWeight: FontWeight.bold)),
151
+ const SizedBox(height: 32),
152
+
153
+ // Spatial Button
154
+ ClipRRect(
155
+ borderRadius: BorderRadius.circular(50),
156
+ child: BackdropFilter(
157
+ filter: ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0),
158
+ child: Container(
159
+ padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16),
160
+ decoration: BoxDecoration(
161
+ color: Colors.black.withOpacity(0.1),
162
+ border: Border.all(color: Colors.white.withOpacity(0.2)),
163
+ borderRadius: BorderRadius.circular(50),
164
+ ),
165
+ child: const Text('Interact', style: TextStyle(color: Colors.white)),
166
+ ),
167
+ ),
168
+ )
169
+ ],
170
+ ),
171
+ ),
172
+ ),
173
+ ),
174
+ ),
175
+ ],
176
+ ),
177
+ );
178
+ }
179
+ }
180
+ ```
181
+ - `BackdropFilter` is required to blur the background.
182
+ - Notice the button *inside* the panel also has a `BackdropFilter`. This creates nested glass, which is a hallmark of Spatial Design.
183
+
184
+ ### React Native
185
+ ```jsx
186
+ // REQUIRES: @react-native-community/blur
187
+ import { BlurView } from '@react-native-community/blur';
188
+
189
+ const SpatialDesignScreen = () => {
190
+ return (
191
+ <ImageBackground source={{uri: 'room_bg'}} style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
192
+
193
+ <View style={{ width: '85%', shadowColor: '#000', shadowOffset: { width: 0, height: 20 }, shadowOpacity: 0.1, shadowRadius: 40, elevation: 10 }}>
194
+ <BlurView
195
+ style={{ borderRadius: 32, borderWidth: 1, borderColor: 'rgba(255,255,255,0.4)', padding: 40, alignItems: 'center' }}
196
+ blurType="light"
197
+ blurAmount={20}
198
+ >
199
+ <Text style={{ color: '#FFF', fontSize: 28, fontWeight: 'bold', marginBottom: 32 }}>
200
+ Environmental UI
201
+ </Text>
202
+
203
+ <View style={{ borderRadius: 50, overflow: 'hidden' }}>
204
+ <BlurView blurType="dark" blurAmount={10} style={{ paddingVertical: 16, paddingHorizontal: 32, borderWidth: 1, borderColor: 'rgba(255,255,255,0.2)' }}>
205
+ <Text style={{ color: '#FFF', fontSize: 16 }}>Interact</Text>
206
+ </BlurView>
207
+ </View>
208
+ </BlurView>
209
+ </View>
210
+
211
+ </ImageBackground>
212
+ );
213
+ };
214
+ ```
215
+ - `BlurView` from `@react-native-community/blur` is the only way to achieve this.
216
+ - Use `blurType="light"` for the main panel and `blurType="dark"` for the buttons to create contrast between the glass layers.
217
+
218
+ ### Jetpack Compose
219
+ ```kotlin
220
+ @Composable
221
+ fun SpatialDesignScreen() {
222
+ Box(modifier = Modifier.fillMaxSize()) {
223
+ Image(painterResource(R.drawable.room_environment), null, contentScale = ContentScale.Crop, modifier = Modifier.fillMaxSize())
224
+
225
+ Box(
226
+ modifier = Modifier
227
+ .align(Alignment.Center)
228
+ .width(350.dp)
229
+ // Shadow goes on the outside
230
+ .shadow(20.dp, RoundedCornerShape(32.dp), spotColor = Color.Black.copy(alpha = 0.1f))
231
+ // Android 12+ Blur
232
+ .graphicsLayer {
233
+ renderEffect = RenderEffect.createBlurEffect(30f, 30f, Shader.TileMode.DECAL).asComposeRenderEffect()
234
+ clip = true
235
+ shape = RoundedCornerShape(32.dp)
236
+ }
237
+ .background(Color.White.copy(alpha = 0.1f))
238
+ .border(1.dp, Brush.linearGradient(listOf(Color.White.copy(alpha = 0.6f), Color.Transparent)), RoundedCornerShape(32.dp))
239
+ .padding(40.dp),
240
+ contentAlignment = Alignment.Center
241
+ ) {
242
+ Column(horizontalAlignment = Alignment.CenterHorizontally) {
243
+ Text("Environmental UI", color = Color.White, fontSize = 28.sp, fontWeight = FontWeight.Bold)
244
+ Spacer(Modifier.height(32.dp))
245
+
246
+ // Button
247
+ Box(
248
+ modifier = Modifier
249
+ .background(Color.Black.copy(alpha = 0.1f), CircleShape)
250
+ .border(1.dp, Color.White.copy(alpha = 0.2f), CircleShape)
251
+ .padding(horizontal = 32.dp, vertical = 16.dp)
252
+ ) {
253
+ Text("Interact", color = Color.White)
254
+ }
255
+ }
256
+ }
257
+ }
258
+ }
259
+ ```
260
+ - The `Brush.linearGradient` applied to the `Modifier.border` perfectly simulates the top-down rim light hitting a thick pane of glass.
261
+
262
+ ## Do's and Don'ts
263
+ - **DO**: Crank up the `saturate()` filter on the backdrop blur to make the background colors pop through the glass.
264
+ - **DON'T**: Use dark, opaque drop shadows. The UI should look like glass, which doesn't cast harsh shadows.
265
+
266
+ ## Limitations
267
+ - This is a styling reference and does not replace environment-specific validation, accessibility testing, or expert review.
268
+ - Ensure appropriate contrast ratios and responsive behaviors are verified separately.