@caddis/cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/README.md +29 -16
  2. package/bundles/antigravity-plugin-extras/plugin.json +5 -0
  3. package/bundles/antigravity-plugin-extras/skills/_registry.md +154 -0
  4. package/bundles/antigravity-plugin-extras/skills/agent-md-refactor/SKILL.md +356 -0
  5. package/bundles/antigravity-plugin-extras/skills/agent-orchestration/SKILL.md +517 -0
  6. package/bundles/antigravity-plugin-extras/skills/algorithmic-art/SKILL.md +293 -0
  7. package/bundles/antigravity-plugin-extras/skills/anchor-review/SKILL.md +135 -0
  8. package/bundles/antigravity-plugin-extras/skills/api-client-patterns/SKILL.md +367 -0
  9. package/bundles/antigravity-plugin-extras/skills/architecture-design/SKILL.md +244 -0
  10. package/bundles/antigravity-plugin-extras/skills/architecture-diagram/SKILL.md +156 -0
  11. package/bundles/antigravity-plugin-extras/skills/architecture-document/SKILL.md +321 -0
  12. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/LICENSE.txt +202 -0
  13. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/SKILL.md +74 -0
  14. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  15. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
  16. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  17. package/bundles/antigravity-plugin-extras/skills/ascii-art/SKILL.md +144 -0
  18. package/bundles/antigravity-plugin-extras/skills/asking-questions/SKILL.md +81 -0
  19. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/SKILL.md +118 -0
  20. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/cross-service/credential-management.md +450 -0
  21. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/browser/README.md +363 -0
  22. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/code-interpreter/README.md +232 -0
  23. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/README.md +100 -0
  24. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deploy-template.sh +117 -0
  25. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deployment-strategies.md +416 -0
  26. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/troubleshooting-guide.md +384 -0
  27. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/validate-deployment.sh +186 -0
  28. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/identity/README.md +186 -0
  29. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/memory/README.md +253 -0
  30. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/observability/README.md +517 -0
  31. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/runtime/README.md +215 -0
  32. package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/SKILL.md +279 -0
  33. package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/references/cdk-patterns.md +431 -0
  34. package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/scripts/validate-stack.sh +240 -0
  35. package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/SKILL.md +318 -0
  36. package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/cloudwatch-alarms.md +567 -0
  37. package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/operations-patterns.md +394 -0
  38. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/SKILL.md +758 -0
  39. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/deployment-best-practices.md +830 -0
  40. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/eda-patterns.md +1002 -0
  41. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/observability-best-practices.md +770 -0
  42. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/performance-optimization.md +671 -0
  43. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/security-best-practices.md +625 -0
  44. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/serverless-patterns.md +838 -0
  45. package/bundles/antigravity-plugin-extras/skills/backend-to-frontend-handoff/SKILL.md +139 -0
  46. package/bundles/antigravity-plugin-extras/skills/banner-design/SKILL.md +188 -0
  47. package/bundles/antigravity-plugin-extras/skills/brand-design/SKILL.md +298 -0
  48. package/bundles/antigravity-plugin-extras/skills/brand-guidelines/LICENSE.txt +202 -0
  49. package/bundles/antigravity-plugin-extras/skills/brand-guidelines/SKILL.md +118 -0
  50. package/bundles/antigravity-plugin-extras/skills/brand-voice/SKILL.md +93 -0
  51. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/SKILL.md +392 -0
  52. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/agent-patterns.md +461 -0
  53. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/examples.md +188 -0
  54. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/state-patterns.md +360 -0
  55. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/troubleshooting.md +362 -0
  56. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/SKILL.md +266 -0
  57. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/examples.md +115 -0
  58. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +338 -0
  59. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +317 -0
  60. package/bundles/antigravity-plugin-extras/skills/caching-patterns/SKILL.md +385 -0
  61. package/bundles/antigravity-plugin-extras/skills/canvas-design/LICENSE.txt +202 -0
  62. package/bundles/antigravity-plugin-extras/skills/canvas-design/SKILL.md +91 -0
  63. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  64. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  65. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  66. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  67. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  68. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  69. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  70. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  71. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  72. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  73. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  74. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  75. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  76. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  77. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  78. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  79. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  80. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  81. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  82. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  83. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  84. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  85. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  86. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  87. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  88. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  89. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  90. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  91. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  92. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  93. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  94. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  95. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  96. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  97. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  98. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  99. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  100. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  101. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  102. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  103. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  104. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  105. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  106. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  107. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  108. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  109. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  110. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  111. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  112. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  113. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  114. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  115. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  116. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  117. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  118. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  119. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  120. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  121. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  122. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  123. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  124. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  125. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  126. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  127. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  128. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  129. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  130. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  131. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  132. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  133. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  134. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  135. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  136. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  137. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  138. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  139. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  140. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  141. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  142. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  143. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  144. package/bundles/antigravity-plugin-extras/skills/changelog-generator/SKILL.md +105 -0
  145. package/bundles/antigravity-plugin-extras/skills/code-explainer/SKILL.md +91 -0
  146. package/bundles/antigravity-plugin-extras/skills/competitive-ads-extractor/SKILL.md +294 -0
  147. package/bundles/antigravity-plugin-extras/skills/component-testing/SKILL.md +310 -0
  148. package/bundles/antigravity-plugin-extras/skills/content-research-writer/SKILL.md +539 -0
  149. package/bundles/antigravity-plugin-extras/skills/cross-review/SKILL.md +51 -0
  150. package/bundles/antigravity-plugin-extras/skills/data-analysis/SKILL.md +111 -0
  151. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/README.md +248 -0
  152. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/SKILL.md +203 -0
  153. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/adapter.py.template +44 -0
  154. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/api-router.py.template +43 -0
  155. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/contract-test.py.template +384 -0
  156. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/display-dto.py.template +39 -0
  157. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-service.ts.template +46 -0
  158. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-types.ts.template +38 -0
  159. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/ingestion-model.py.template +42 -0
  160. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/mapping-doc.md.template +46 -0
  161. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/normalizer.py.template +48 -0
  162. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_requirements.md +36 -0
  163. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_ui_demand.md +35 -0
  164. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/reconcile_mapping.md +66 -0
  165. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/query-catalog.md.template +62 -0
  166. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/consumer-driven-contracts.md +131 -0
  167. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/drift-check-catalog.md +305 -0
  168. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/layer-responsibilities.md +333 -0
  169. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_connections.py +170 -0
  170. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_sources.py +161 -0
  171. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/drift_check.py +171 -0
  172. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/extract_schema.py +1363 -0
  173. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_gap_report.py +81 -0
  174. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_mapping_doc.py +294 -0
  175. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/ts_dto_compare.py +214 -0
  176. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/validate_lineage.py +51 -0
  177. package/bundles/antigravity-plugin-extras/skills/data-loader/SKILL.md +753 -0
  178. package/bundles/antigravity-plugin-extras/skills/data-validation/SKILL.md +220 -0
  179. package/bundles/antigravity-plugin-extras/skills/db-testing/SKILL.md +117 -0
  180. package/bundles/antigravity-plugin-extras/skills/deploy-local/SKILL.md +259 -0
  181. package/bundles/antigravity-plugin-extras/skills/design-md/SKILL.md +167 -0
  182. package/bundles/antigravity-plugin-extras/skills/design-system-tokens/SKILL.md +240 -0
  183. package/bundles/antigravity-plugin-extras/skills/design-system-tokens/references/DESIGN-SYSTEM-TEMPLATE.md +577 -0
  184. package/bundles/antigravity-plugin-extras/skills/developer-growth-analysis/SKILL.md +323 -0
  185. package/bundles/antigravity-plugin-extras/skills/doc-coauthoring/SKILL.md +378 -0
  186. package/bundles/antigravity-plugin-extras/skills/documentation-analyzer/SKILL.md +78 -0
  187. package/bundles/antigravity-plugin-extras/skills/domain-name-brainstormer/SKILL.md +213 -0
  188. package/bundles/antigravity-plugin-extras/skills/enterprise-dashboard-aesthetic-system/SKILL.md +120 -0
  189. package/bundles/antigravity-plugin-extras/skills/excalidraw/SKILL.md +193 -0
  190. package/bundles/antigravity-plugin-extras/skills/excalidraw/references/element-types.md +497 -0
  191. package/bundles/antigravity-plugin-extras/skills/excalidraw/references/excalidraw-schema.md +356 -0
  192. package/bundles/antigravity-plugin-extras/skills/excalidraw/references/reliable-diagrams.md +115 -0
  193. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/README.md +60 -0
  194. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-arrow.py +354 -0
  195. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-icon-to-diagram.py +412 -0
  196. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/split-excalidraw-library.py +183 -0
  197. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/business-flow-swimlane-template.excalidraw +334 -0
  198. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/class-diagram-template.excalidraw +558 -0
  199. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/data-flow-diagram-template.excalidraw +279 -0
  200. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/er-diagram-template.excalidraw +662 -0
  201. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/flowchart-template.excalidraw +179 -0
  202. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/mindmap-template.excalidraw +244 -0
  203. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/relationship-template.excalidraw +145 -0
  204. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/reliable-flowchart.excalidraw +1 -0
  205. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/sequence-diagram-template.excalidraw +509 -0
  206. package/bundles/antigravity-plugin-extras/skills/file-organizer/SKILL.md +434 -0
  207. package/bundles/antigravity-plugin-extras/skills/game-changing-features/README.md +221 -0
  208. package/bundles/antigravity-plugin-extras/skills/game-changing-features/SKILL.md +265 -0
  209. package/bundles/antigravity-plugin-extras/skills/github-issues/SKILL.md +359 -0
  210. package/bundles/antigravity-plugin-extras/skills/github-issues/references/templates.md +90 -0
  211. package/bundles/antigravity-plugin-extras/skills/golden-nuggets/SKILL.md +192 -0
  212. package/bundles/antigravity-plugin-extras/skills/humanizer/SKILL.md +194 -0
  213. package/bundles/antigravity-plugin-extras/skills/image-enhancer/SKILL.md +100 -0
  214. package/bundles/antigravity-plugin-extras/skills/intent-writer/SKILL.md +201 -0
  215. package/bundles/antigravity-plugin-extras/skills/internal-comms/LICENSE.txt +202 -0
  216. package/bundles/antigravity-plugin-extras/skills/internal-comms/SKILL.md +124 -0
  217. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/3p-updates.md +47 -0
  218. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/company-newsletter.md +65 -0
  219. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/faq-answers.md +30 -0
  220. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/general-comms.md +16 -0
  221. package/bundles/antigravity-plugin-extras/skills/invoice-organizer/SKILL.md +447 -0
  222. package/bundles/antigravity-plugin-extras/skills/jira-issues/SKILL.md +182 -0
  223. package/bundles/antigravity-plugin-extras/skills/job-application/SKILL.md +188 -0
  224. package/bundles/antigravity-plugin-extras/skills/lead-research-assistant/SKILL.md +200 -0
  225. package/bundles/antigravity-plugin-extras/skills/llm-application-dev/SKILL.md +217 -0
  226. package/bundles/antigravity-plugin-extras/skills/mcp-builder/LICENSE.txt +202 -0
  227. package/bundles/antigravity-plugin-extras/skills/mcp-builder/SKILL.md +100 -0
  228. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/evaluation.md +602 -0
  229. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/mcp_best_practices.md +915 -0
  230. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/node_mcp_server.md +916 -0
  231. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/python_mcp_server.md +752 -0
  232. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/connections.py +151 -0
  233. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/evaluation.py +373 -0
  234. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  235. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/requirements.txt +2 -0
  236. package/bundles/antigravity-plugin-extras/skills/meeting-insights-analyzer/SKILL.md +328 -0
  237. package/bundles/antigravity-plugin-extras/skills/monorepo/SKILL.md +267 -0
  238. package/bundles/antigravity-plugin-extras/skills/naming-analyzer/SKILL.md +376 -0
  239. package/bundles/antigravity-plugin-extras/skills/nextjs-app-router/SKILL.md +271 -0
  240. package/bundles/antigravity-plugin-extras/skills/notebooklm/AUTHENTICATION.md +154 -0
  241. package/bundles/antigravity-plugin-extras/skills/notebooklm/SKILL.md +270 -0
  242. package/bundles/antigravity-plugin-extras/skills/notebooklm/references/api_reference.md +309 -0
  243. package/bundles/antigravity-plugin-extras/skills/notebooklm/references/troubleshooting.md +376 -0
  244. package/bundles/antigravity-plugin-extras/skills/notebooklm/references/usage_patterns.md +338 -0
  245. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/__init__.py +81 -0
  246. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/ask_question.py +256 -0
  247. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/auth_manager.py +358 -0
  248. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_session.py +255 -0
  249. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_utils.py +107 -0
  250. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/cleanup_manager.py +302 -0
  251. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/config.py +44 -0
  252. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/notebook_manager.py +410 -0
  253. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/run.py +102 -0
  254. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/setup_environment.py +204 -0
  255. package/bundles/antigravity-plugin-extras/skills/observability/SKILL.md +371 -0
  256. package/bundles/antigravity-plugin-extras/skills/onboard-project/SKILL.md +192 -0
  257. package/bundles/antigravity-plugin-extras/skills/performance-testing/SKILL.md +226 -0
  258. package/bundles/antigravity-plugin-extras/skills/pipeline-state/SKILL.md +208 -0
  259. package/bundles/antigravity-plugin-extras/skills/plantuml/SKILL.md +228 -0
  260. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/SKILL.md +142 -0
  261. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/linear.app.md +196 -0
  262. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/stripe.md +214 -0
  263. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/vercel.md +218 -0
  264. package/bundles/antigravity-plugin-extras/skills/prd-to-code/SKILL.md +127 -0
  265. package/bundles/antigravity-plugin-extras/skills/raffle-winner-picker/SKILL.md +159 -0
  266. package/bundles/antigravity-plugin-extras/skills/react-useeffect/README.md +320 -0
  267. package/bundles/antigravity-plugin-extras/skills/react-useeffect/SKILL.md +53 -0
  268. package/bundles/antigravity-plugin-extras/skills/react-useeffect/alternatives.md +258 -0
  269. package/bundles/antigravity-plugin-extras/skills/react-useeffect/anti-patterns.md +290 -0
  270. package/bundles/antigravity-plugin-extras/skills/receiving-code-review/SKILL.md +213 -0
  271. package/bundles/antigravity-plugin-extras/skills/relay/SKILL.md +246 -0
  272. package/bundles/antigravity-plugin-extras/skills/requesting-code-review/SKILL.md +105 -0
  273. package/bundles/antigravity-plugin-extras/skills/requesting-code-review/code-reviewer.md +146 -0
  274. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/SKILL.md +350 -0
  275. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/pwa-checklist.md +226 -0
  276. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/touch-and-interaction.md +265 -0
  277. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/transformation-catalogue.md +326 -0
  278. package/bundles/antigravity-plugin-extras/skills/schema-migration/SKILL.md +275 -0
  279. package/bundles/antigravity-plugin-extras/skills/setup-project-ai/SKILL.md +120 -0
  280. package/bundles/antigravity-plugin-extras/skills/shadcn-radix/SKILL.md +330 -0
  281. package/bundles/antigravity-plugin-extras/skills/sketch/SKILL.md +104 -0
  282. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/LICENSE.txt +202 -0
  283. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/SKILL.md +646 -0
  284. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/color_palettes.py +302 -0
  285. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/easing.py +230 -0
  286. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/frame_composer.py +469 -0
  287. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/gif_builder.py +246 -0
  288. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/typography.py +357 -0
  289. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/validators.py +264 -0
  290. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/visual_effects.py +494 -0
  291. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/requirements.txt +4 -0
  292. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/bounce.py +106 -0
  293. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/explode.py +331 -0
  294. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/fade.py +329 -0
  295. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/flip.py +291 -0
  296. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
  297. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/morph.py +329 -0
  298. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/move.py +293 -0
  299. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/pulse.py +268 -0
  300. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/shake.py +127 -0
  301. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/slide.py +291 -0
  302. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/spin.py +269 -0
  303. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/wiggle.py +300 -0
  304. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/zoom.py +312 -0
  305. package/bundles/antigravity-plugin-extras/skills/slides/SKILL.md +38 -0
  306. package/bundles/antigravity-plugin-extras/skills/state-tracking/SKILL.md +131 -0
  307. package/bundles/antigravity-plugin-extras/skills/streamlit-dev/SKILL.md +268 -0
  308. package/bundles/antigravity-plugin-extras/skills/svg-create/SKILL.md +251 -0
  309. package/bundles/antigravity-plugin-extras/skills/theme-factory/LICENSE.txt +202 -0
  310. package/bundles/antigravity-plugin-extras/skills/theme-factory/SKILL.md +59 -0
  311. package/bundles/antigravity-plugin-extras/skills/theme-factory/theme-showcase.pdf +0 -0
  312. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/arctic-frost.md +19 -0
  313. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/botanical-garden.md +19 -0
  314. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/desert-rose.md +19 -0
  315. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/forest-canopy.md +19 -0
  316. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/golden-hour.md +19 -0
  317. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  318. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/modern-minimalist.md +19 -0
  319. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/ocean-depths.md +19 -0
  320. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  321. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/tech-innovation.md +19 -0
  322. package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/LICENSE.txt +202 -0
  323. package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/SKILL.md +320 -0
  324. package/bundles/antigravity-plugin-extras/skills/ui-testing/SKILL.md +660 -0
  325. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/SKILL.md +660 -0
  326. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/_sync_all.py +414 -0
  327. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/app-interface.csv +31 -0
  328. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/charts.csv +26 -0
  329. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/colors.csv +162 -0
  330. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/design.csv +1776 -0
  331. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/draft.csv +1779 -0
  332. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/google-fonts.csv +1924 -0
  333. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/icons.csv +106 -0
  334. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/landing.csv +35 -0
  335. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/products.csv +162 -0
  336. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/react-performance.csv +45 -0
  337. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/styles.csv +85 -0
  338. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/typography.csv +74 -0
  339. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ui-reasoning.csv +162 -0
  340. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ux-guidelines.csv +100 -0
  341. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/core.py +247 -0
  342. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/design_system.py +1067 -0
  343. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/search.py +114 -0
  344. package/bundles/antigravity-plugin-extras/skills/understand-anything/SKILL.md +140 -0
  345. package/bundles/antigravity-plugin-extras/skills/understand-anything/references/commands.md +252 -0
  346. package/bundles/antigravity-plugin-extras/skills/understand-anything/references/graph-schema.md +116 -0
  347. package/bundles/antigravity-plugin-extras/skills/understand-anything/references/pipeline.md +331 -0
  348. package/bundles/antigravity-plugin-extras/skills/update-readme/SKILL.md +74 -0
  349. package/bundles/antigravity-plugin-extras/skills/verification-loop/SKILL.md +209 -0
  350. package/bundles/antigravity-plugin-extras/skills/video-downloader/SKILL.md +107 -0
  351. package/bundles/antigravity-plugin-extras/skills/webapp-development/SKILL.md +288 -0
  352. package/bundles/antigravity-plugin-extras/skills/word-cloud/SKILL.md +339 -0
  353. package/bundles/antigravity-plugin-extras/skills/word-cloud/agents/agent-interface.md +175 -0
  354. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/html.md +384 -0
  355. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/nlp-keywords.md +127 -0
  356. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/palettes.md +149 -0
  357. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/python.md +249 -0
  358. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/react.md +427 -0
  359. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/shapes.md +135 -0
  360. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/stopwords.md +115 -0
  361. package/bundles/antigravity-plugin-extras/skills/youtube-transcript/SKILL.md +416 -0
  362. package/bundles/manifest.json +2 -1
  363. package/dist/cli.js +166 -37
  364. package/package.json +1 -1
@@ -0,0 +1,268 @@
1
+ ---
2
+ name: streamlit-dev
3
+ description: Build production-ready Streamlit dashboards with best-practice patterns, caching, components, and theming. Use when implementing any Streamlit page, component, chart, or UI feature.
4
+ ---
5
+
6
+ # Streamlit Development Skill
7
+
8
+ ## When to Use
9
+
10
+ Invoke this skill when:
11
+ - Creating a new Streamlit page
12
+ - Building or modifying UI components
13
+ - Adding charts or KPIs
14
+ - Implementing caching for data or resources
15
+ - Applying consistent branding/theming
16
+ - Fixing UI/UX issues in Streamlit apps
17
+
18
+ ---
19
+
20
+ ## Page Template (MANDATORY)
21
+
22
+ Every Streamlit page MUST follow this structure:
23
+
24
+ ```python
25
+ """Page Title - Brief description."""
26
+ import streamlit as st
27
+
28
+ # Page config MUST be the first Streamlit call
29
+ st.set_page_config(page_title="PageName", page_icon="icon", layout="wide")
30
+
31
+ # If using a shared header/navigation component:
32
+ # from components.header import render_header
33
+ # render_header(current_page="PageName")
34
+
35
+ # --- Page content below ---
36
+ ```
37
+
38
+ ### Key Rules
39
+ - `st.set_page_config()` MUST be the first Streamlit command
40
+ - Choose navigation pattern: sidebar (default) or custom header
41
+ - Always set `layout="wide"` for dashboards
42
+
43
+ ---
44
+
45
+ ## Branding & Theming
46
+
47
+ ### Color Palette (Configure Per Project)
48
+
49
+ ```python
50
+ BRAND_PRIMARY = "<BRAND_PRIMARY>" # Primary accent color
51
+ BRAND_DARK = "<BRAND_DARK>" # Headings, dark text
52
+ BRAND_LIGHT = "<BRAND_LIGHT>" # Page/card backgrounds
53
+ GRAY_500 = "#6C757D" # Secondary text
54
+ GRAY_100 = "#E9ECEF" # Borders, dividers
55
+ SUCCESS = "#22C55E" # Positive indicators
56
+ WARNING = "#F59E0B" # Warning indicators
57
+ ERROR = "#EF4444" # Error/negative indicators
58
+ ```
59
+
60
+ ### 60-30-10 Color Rule
61
+ - **60%**: Light backgrounds (white, `<BRAND_LIGHT>`)
62
+ - **30%**: Dark text and structure (`<BRAND_DARK>`)
63
+ - **10%**: Primary accents (`<BRAND_PRIMARY>`)
64
+
65
+ ---
66
+
67
+ ## Charts (Plotly)
68
+
69
+ ### CRITICAL: Avoid "undefined" Labels
70
+
71
+ ```python
72
+ # NEVER pass title directly to px functions
73
+ fig = px.pie(data, names="cat", values="count")
74
+ fig.update_layout(title="Chart Title", height=300)
75
+ ```
76
+
77
+ ### Branded Charts
78
+
79
+ ```python
80
+ import plotly.express as px
81
+
82
+ CHART_COLORS = ["<BRAND_PRIMARY>", "<BRAND_DARK>", "#6B7280", "#9CA3AF", "#D1D5DB"]
83
+
84
+ def create_chart(df, x, y, chart_type="bar", title=None):
85
+ if chart_type == "bar":
86
+ fig = px.bar(df, x=x, y=y, color_discrete_sequence=CHART_COLORS)
87
+ elif chart_type == "line":
88
+ fig = px.line(df, x=x, y=y, color_discrete_sequence=CHART_COLORS)
89
+ elif chart_type == "pie":
90
+ fig = px.pie(df, names=x, values=y, color_discrete_sequence=CHART_COLORS)
91
+
92
+ fig.update_layout(
93
+ title=title if title and title.strip() else "",
94
+ template="plotly_white",
95
+ font_family="Inter, sans-serif",
96
+ title_font_size=18,
97
+ legend_title_text="",
98
+ hovermode="x unified",
99
+ )
100
+ return fig
101
+
102
+ st.plotly_chart(fig, use_container_width=True)
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Caching Strategy
108
+
109
+ ### Data Caching (serialized copy per caller)
110
+
111
+ ```python
112
+ from datetime import timedelta
113
+
114
+ @st.cache_data(ttl=timedelta(minutes=15), show_spinner="Loading data...")
115
+ def load_orders() -> pd.DataFrame:
116
+ return repo.get_all_orders()
117
+ ```
118
+
119
+ ### Resource Caching (shared singleton)
120
+
121
+ ```python
122
+ @st.cache_resource
123
+ def get_repository():
124
+ return OrdersRepository()
125
+ ```
126
+
127
+ ### When to Use Each
128
+
129
+ | Decorator | Use For | Returns |
130
+ |-----------|---------|---------|
131
+ | `@st.cache_data` | DataFrames, lists, dicts | Serialized copy |
132
+ | `@st.cache_resource` | Connections, models, adapters | Same object ref |
133
+
134
+ ---
135
+
136
+ ## Component Patterns
137
+
138
+ ### KPI Cards
139
+
140
+ ```python
141
+ def render_kpi_row(kpis: list[dict]):
142
+ cols = st.columns(len(kpis))
143
+ for col, kpi in zip(cols, kpis):
144
+ with col:
145
+ st.metric(label=kpi["label"], value=kpi["value"], delta=kpi.get("delta"))
146
+ ```
147
+
148
+ ### Data Tables
149
+
150
+ ```python
151
+ st.dataframe(
152
+ df, use_container_width=True, hide_index=True,
153
+ column_config={
154
+ "id": st.column_config.TextColumn("ID", width="small"),
155
+ "created_at": st.column_config.DatetimeColumn("Created", format="DD/MM/YYYY HH:mm"),
156
+ }
157
+ )
158
+ ```
159
+
160
+ ### Pagination
161
+
162
+ ```python
163
+ def paginate_df(df, page, per_page):
164
+ start = (page - 1) * per_page
165
+ return df.iloc[start:start + per_page]
166
+
167
+ total_pages = (len(df) - 1) // per_page + 1
168
+ page = st.number_input(f"Page (of {total_pages})", 1, total_pages, 1)
169
+ st.dataframe(paginate_df(df, page, per_page))
170
+ ```
171
+
172
+ ---
173
+
174
+ ## Session State
175
+
176
+ ```python
177
+ def init_session_state():
178
+ defaults = {"authenticated": False, "selected_filters": {}, "page_number": 1}
179
+ for key, value in defaults.items():
180
+ if key not in st.session_state:
181
+ st.session_state[key] = value
182
+
183
+ def on_filter_change():
184
+ st.session_state.page_number = 1
185
+
186
+ st.selectbox("Category", options=categories, key="filter", on_change=on_filter_change)
187
+ ```
188
+
189
+ ---
190
+
191
+ ## Forms
192
+
193
+ ```python
194
+ with st.form("order_form", clear_on_submit=True):
195
+ customer_id = st.text_input("Customer ID*")
196
+ description = st.text_area("Description*", max_chars=2000)
197
+ priority = st.slider("Priority", 1, 5, 3)
198
+
199
+ if st.form_submit_button("Submit", type="primary"):
200
+ if not customer_id or not description:
201
+ st.error("Please fill in all required fields")
202
+ else:
203
+ save_order(customer_id, description, priority)
204
+ st.success("Submitted!")
205
+ ```
206
+
207
+ ---
208
+
209
+ ## Error Handling
210
+
211
+ ```python
212
+ try:
213
+ data = load_data()
214
+ render_dashboard(data)
215
+ except ConnectionError:
216
+ st.error("Unable to connect to database. Please try again later.")
217
+ except Exception:
218
+ st.error("An unexpected error occurred. Please contact support.")
219
+ ```
220
+
221
+ ### Empty State
222
+
223
+ ```python
224
+ if df.empty:
225
+ st.info("No data found for the selected filters.")
226
+ return
227
+ ```
228
+
229
+ ---
230
+
231
+ ## Performance Tips
232
+
233
+ 1. **Cache aggressively** -- data fetches, computations, model loading
234
+ 2. **Lazy load** -- only fetch data when needed
235
+ 3. **Paginate** -- never dump 10K+ rows into `st.dataframe`
236
+ 4. **Minimize reruns** -- use `st.session_state` and callbacks
237
+ 5. **Use `st.fragment`** -- for widgets that shouldn't rerun the whole page
238
+
239
+ ---
240
+
241
+ ## Framework Limitations — Floating UI (CRITICAL)
242
+
243
+ Streamlit wraps all `st.markdown(unsafe_allow_html=True)` in **20-30 nested `<div>` containers**, breaking CSS `position: fixed/absolute`. **Do NOT attempt CSS-only solutions for floating elements.**
244
+
245
+ | Approach | Use For | Limitations |
246
+ |----------|---------|-------------|
247
+ | `st.markdown(unsafe_allow_html=True)` | Inline styling, cards, badges | Wrapped in nested divs; no DOM control |
248
+ | `st.html()` | Self-contained HTML snippets | Sandboxed iframe; no access to parent DOM |
249
+ | `components.declare_component()` | **Floating UI, chat widgets, FABs, toasts, modals** | Requires HTML/JS file; bi-directional via `setComponentValue` |
250
+
251
+ **Pattern:** Use `declare_component()` with `height=0` to create an invisible iframe, then inject elements into `window.parent.document.body` from the component's JavaScript.
252
+
253
+ > CSS `position: fixed` and `z-index` escalation will **never work** reliably in Streamlit due to its DOM wrapping architecture.
254
+
255
+ ---
256
+
257
+ ## Checklist
258
+
259
+ - [ ] `st.set_page_config()` is the first Streamlit call
260
+ - [ ] Navigation pattern applied consistently
261
+ - [ ] Brand colors applied (60-30-10 rule)
262
+ - [ ] Charts use `update_layout(title=...)` not `title=` in px call
263
+ - [ ] Data cached with appropriate TTL
264
+ - [ ] Empty states show helpful messages
265
+ - [ ] Error handling with user-friendly messages
266
+ - [ ] Large datasets paginated
267
+ - [ ] Session state initialized with defaults
268
+ - [ ] Forms validate required fields
@@ -0,0 +1,251 @@
1
+ ---
2
+ name: svg-create
3
+ context: fork
4
+ description: "Brand-themed SVG diagrams with consistent color palette and accessible design"
5
+ ---
6
+
7
+ # SVG Creation Skill
8
+
9
+ Create professional SVG diagrams with consistent brand theming.
10
+
11
+ > **Project Context** — Read `project-config.md` in the repo root for brand tokens, color palette, and project metadata.
12
+
13
+ ## When to Use
14
+
15
+ - Workflow diagrams and flowcharts
16
+ - Architecture diagrams
17
+ - Decision trees
18
+ - Process visualizations
19
+ - Quick reference cards
20
+ - Any visual that needs to be version-controlled
21
+
22
+ ## SVG Best Practices
23
+
24
+ ### Document Structure
25
+
26
+ ```xml
27
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600">
28
+ <defs>
29
+ <!-- Reusable styles and markers -->
30
+ <style>
31
+ .title { font: bold 24px 'Segoe UI', Arial, sans-serif; fill: #1F2937; }
32
+ .text { font: 14px 'Segoe UI', Arial, sans-serif; fill: #374151; }
33
+ </style>
34
+ <marker id="arrow" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
35
+ <polygon points="0 0, 10 3.5, 0 7" fill="#6B7280"/>
36
+ </marker>
37
+ </defs>
38
+
39
+ <!-- Background -->
40
+ <rect width="800" height="600" fill="white"/>
41
+
42
+ <!-- Content here -->
43
+ </svg>
44
+ ```
45
+
46
+ ### Print-Friendly Design
47
+
48
+ **CRITICAL**: Always design for print compatibility:
49
+
50
+ ```xml
51
+ <!-- ✅ GOOD: Light backgrounds for print -->
52
+ <rect fill="white"/>
53
+ <rect fill="#F8FAFC"/> <!-- Very light gray -->
54
+ <rect fill="#ECFDF5"/> <!-- Very light green -->
55
+
56
+ <!-- ❌ BAD: Dark backgrounds don't print well -->
57
+ <rect fill="#1F2937"/> <!-- Dark navy - avoid -->
58
+ <rect fill="black"/> <!-- Never for large areas -->
59
+ ```
60
+
61
+ ### Color Palette
62
+
63
+ ```xml
64
+ <!-- Primary Colors -->
65
+ #E10A0A <!-- Primary Red - primary accent -->
66
+ #1F2937 <!-- Navy - text only, not backgrounds -->
67
+
68
+ <!-- Scenario Colors (use light fills) -->
69
+ #ECFDF5 <!-- Light green - new/create -->
70
+ #10B981 <!-- Green - borders/accents -->
71
+ #EEF2FF <!-- Light indigo - existing/continue -->
72
+ #6366F1 <!-- Indigo - borders/accents -->
73
+ #F0F9FF <!-- Light blue - simple/quick -->
74
+ #0EA5E9 <!-- Blue - borders/accents -->
75
+ #FFF7ED <!-- Light orange - warning/emergency -->
76
+ #F97316 <!-- Orange - borders/accents -->
77
+ #FEF3C7 <!-- Light yellow - help/info -->
78
+ #F59E0B <!-- Amber - borders/accents -->
79
+
80
+ <!-- Neutral Colors -->
81
+ #374151 <!-- Text color -->
82
+ #6B7280 <!-- Secondary text -->
83
+ #E5E7EB <!-- Light border -->
84
+ #F8FAFC <!-- Light background -->
85
+ ```
86
+
87
+ ### Common Patterns
88
+
89
+ #### Numbered Steps
90
+
91
+ ```xml
92
+ <!-- Step circle with number -->
93
+ <circle cx="50" cy="100" r="18" fill="#10B981"/>
94
+ <text x="50" y="106" text-anchor="middle" fill="white"
95
+ font-weight="bold" font-size="16">1</text>
96
+ ```
97
+
98
+ #### Connection Arrows
99
+
100
+ ```xml
101
+ <!-- Define marker in <defs> first -->
102
+ <marker id="arrow" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
103
+ <polygon points="0 0, 10 3.5, 0 7" fill="#6B7280"/>
104
+ </marker>
105
+
106
+ <!-- Use the arrow -->
107
+ <line x1="100" y1="50" x2="100" y2="100" stroke="#6B7280"
108
+ stroke-width="2" marker-end="url(#arrow)"/>
109
+ ```
110
+
111
+ #### Rounded Boxes
112
+
113
+ ```xml
114
+ <!-- Container box -->
115
+ <rect x="30" y="80" width="400" height="200" rx="12"
116
+ fill="#ECFDF5" stroke="#10B981" stroke-width="2"/>
117
+
118
+ <!-- Content box -->
119
+ <rect x="50" y="100" width="360" height="40" rx="6"
120
+ fill="white" stroke="#10B981" stroke-width="1"/>
121
+ ```
122
+
123
+ #### Text Styling
124
+
125
+ ```xml
126
+ <!-- Title -->
127
+ <text x="400" y="40" text-anchor="middle"
128
+ font-size="24" font-weight="bold" fill="#1F2937">Title</text>
129
+
130
+ <!-- Monospace code -->
131
+ <text font-family="'Courier New', monospace" fill="#E10A0A">/command</text>
132
+
133
+ <!-- Agent reference -->
134
+ <text font-weight="bold" fill="#7C3AED">@agent-name</text>
135
+
136
+ <!-- File path -->
137
+ <text font-family="'Courier New', monospace" fill="#059669">plans/</text>
138
+ ```
139
+
140
+ ### Responsive ViewBox
141
+
142
+ Calculate viewBox from content:
143
+ - **Width**: Rightmost element + padding (usually 30-50px)
144
+ - **Height**: Bottom element + padding (usually 30-50px)
145
+
146
+ ```xml
147
+ <!-- For 800x600 content with 30px padding -->
148
+ <svg viewBox="0 0 860 660">
149
+ ```
150
+
151
+ ### Font Stack
152
+
153
+ Always specify fallbacks:
154
+
155
+ ```css
156
+ font-family: 'Segoe UI', Arial, sans-serif; /* Text */
157
+ font-family: 'Courier New', monospace; /* Code */
158
+ ```
159
+
160
+ ## Reliable Text & Layout (No Clipping)
161
+
162
+ To keep project diagrams sharp and readable (and avoid cropped text):
163
+
164
+ ### Text box sizing
165
+
166
+ For a `<text>` block (optionally with `<tspan>` lines):
167
+
168
+ - `maxLineLen` = length of the longest line.
169
+ - `fontSize` = size in px.
170
+ - `lines` = number of lines.
171
+
172
+ Use:
173
+
174
+ ```text
175
+ baseWidth = maxLineLen * fontSize * 0.7
176
+ cardWidth = ceil(baseWidth) + 16 // horizontal padding
177
+
178
+ baseHeight = fontSize * 1.2 * lines
179
+ cardHeight = ceil(baseHeight * 1.1) // ~10% vertical padding
180
+ ```
181
+
182
+ Size the surrounding `<rect>` to at least `cardWidth × cardHeight`. Do not let text touch the edges.
183
+
184
+ ### clipPath usage
185
+
186
+ - Prefer simple rounded boxes without clipping.
187
+ - If you use `<clipPath>` for a lane or card:
188
+ - Make the clip rect **larger** than the visible card by 8–12px on all sides.
189
+ - Never set the clip rect tighter than the text block; otherwise labels like “More than ~5 files or new page/component/source?” will be cut.
190
+
191
+ ### Card Example
192
+
193
+ ```xml
194
+ <defs>
195
+ <clipPath id="lane1-clip">
196
+ <rect x="20" y="80" width="300" height="100" rx="8"/>
197
+ </clipPath>
198
+ </defs>
199
+
200
+ <g clip-path="url(#lane1-clip)">
201
+ <rect x="30" y="90" width="280" height="80" rx="8"
202
+ fill="#ECFDF5" stroke="#10B981" stroke-width="2"/>
203
+ <text x="170" y="116" text-anchor="middle" class="text">
204
+ <tspan x="170" dy="0">Lane 1: Quick Fix</tspan>
205
+ <tspan x="170" dy="18">~1 session, &lt;10 files</tspan>
206
+ </text>
207
+ </g>
208
+ ```
209
+
210
+ The `lane1-clip` rectangle is larger than the card, so text won’t clip even if it grows slightly.
211
+
212
+ ## Checklist Before Creating
213
+
214
+ - [ ] Using white or very light fills for backgrounds
215
+ - [ ] Text is at least 11px for readability
216
+ - [ ] Text blocks have generous padding; no line touches card edges or clip paths
217
+ - [ ] Contrast ratio is print-safe
218
+ - [ ] ViewBox sized to content + padding
219
+ - [ ] Arrow markers defined in `<defs>`
220
+ - [ ] Font families have fallbacks
221
+ - [ ] File saved with `.svg` extension
222
+
223
+ ## Example: Simple Flowchart
224
+
225
+ ```xml
226
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 200">
227
+ <defs>
228
+ <marker id="arrow" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
229
+ <polygon points="0 0, 10 3.5, 0 7" fill="#6B7280"/>
230
+ </marker>
231
+ </defs>
232
+
233
+ <rect width="400" height="200" fill="white"/>
234
+
235
+ <!-- Start -->
236
+ <rect x="20" y="80" width="100" height="40" rx="8" fill="#ECFDF5" stroke="#10B981" stroke-width="2"/>
237
+ <text x="70" y="105" text-anchor="middle" fill="#374151">Start</text>
238
+
239
+ <!-- Arrow -->
240
+ <line x1="120" y1="100" x2="170" y2="100" stroke="#6B7280" stroke-width="2" marker-end="url(#arrow)"/>
241
+
242
+ <!-- End -->
243
+ <rect x="180" y="80" width="100" height="40" rx="8" fill="#EEF2FF" stroke="#6366F1" stroke-width="2"/>
244
+ <text x="230" y="105" text-anchor="middle" fill="#374151">End</text>
245
+ </svg>
246
+ ```
247
+
248
+ ## Related Resources
249
+
250
+ - Agent: `@svg-diagram` - For complex, multi-element diagrams
251
+ - Tool: Mermaid - For quick code-based diagrams (then export to SVG)