@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,356 @@
1
+ # Excalidraw JSON Schema Reference
2
+
3
+ This document describes the structure of Excalidraw `.excalidraw` files for diagram generation.
4
+
5
+ ## Top-Level Structure
6
+
7
+ ```typescript
8
+ interface ExcalidrawFile {
9
+ type: "excalidraw";
10
+ version: number; // Always 2
11
+ source: string; // "https://excalidraw.com"
12
+ elements: ExcalidrawElement[];
13
+ appState: AppState;
14
+ files: Record<string, any>; // Usually empty {}
15
+ }
16
+ ```
17
+
18
+ ## AppState
19
+
20
+ ```typescript
21
+ interface AppState {
22
+ viewBackgroundColor: string; // Hex color, e.g., "#ffffff"
23
+ gridSize: number; // Typically 20
24
+ }
25
+ ```
26
+
27
+ ## ExcalidrawElement Base Properties
28
+
29
+ All elements share these common properties:
30
+
31
+ ```typescript
32
+ interface BaseElement {
33
+ id: string; // Unique identifier
34
+ type: ElementType; // See Element Types below
35
+ x: number; // X coordinate (pixels from top-left)
36
+ y: number; // Y coordinate (pixels from top-left)
37
+ width: number; // Width in pixels
38
+ height: number; // Height in pixels
39
+ angle: number; // Rotation angle in radians (usually 0)
40
+ strokeColor: string; // Hex color, e.g., "#1e1e1e"
41
+ backgroundColor: string; // Hex color or "transparent"
42
+ fillStyle: "solid" | "hachure" | "cross-hatch";
43
+ strokeWidth: number; // 1-4 typically
44
+ strokeStyle: "solid" | "dashed" | "dotted";
45
+ roughness: number; // 0-2, controls hand-drawn effect (1 = default)
46
+ opacity: number; // 0-100
47
+ groupIds: string[]; // IDs of groups this element belongs to
48
+ frameId: null; // Usually null
49
+ index: string; // Stacking order identifier
50
+ roundness: Roundness | null;
51
+ seed: number; // Random seed for deterministic rendering
52
+ version: number; // Element version (increment on edit)
53
+ versionNonce: number; // Random number changed on edit
54
+ isDeleted: boolean; // Should be false
55
+ boundElements: any; // Usually null
56
+ updated: number; // Timestamp in milliseconds
57
+ link: null; // External link (usually null)
58
+ locked: boolean; // Whether element is locked
59
+ }
60
+ ```
61
+
62
+ ## Element Types
63
+
64
+ ### Rectangle
65
+
66
+ ```typescript
67
+ interface RectangleElement extends BaseElement {
68
+ type: "rectangle";
69
+ roundness: { type: 3 }; // 3 = rounded corners
70
+ text?: string; // Optional text inside
71
+ fontSize?: number; // Font size (16-32 typical)
72
+ fontFamily?: number; // 5 = Excalifont (default), 2 = Helvetica, 3 = Cascadia
73
+ textAlign?: "left" | "center" | "right";
74
+ verticalAlign?: "top" | "middle" | "bottom";
75
+ }
76
+ ```
77
+
78
+ **Example:**
79
+ ```json
80
+ {
81
+ "id": "rect1",
82
+ "type": "rectangle",
83
+ "x": 100,
84
+ "y": 100,
85
+ "width": 200,
86
+ "height": 100,
87
+ "strokeColor": "#1e1e1e",
88
+ "backgroundColor": "#a5d8ff",
89
+ "text": "My Box",
90
+ "fontSize": 20,
91
+ "textAlign": "center",
92
+ "verticalAlign": "middle",
93
+ "roundness": { "type": 3 }
94
+ }
95
+ ```
96
+
97
+ ### Ellipse
98
+
99
+ ```typescript
100
+ interface EllipseElement extends BaseElement {
101
+ type: "ellipse";
102
+ text?: string;
103
+ fontSize?: number;
104
+ fontFamily?: number;
105
+ textAlign?: "left" | "center" | "right";
106
+ verticalAlign?: "top" | "middle" | "bottom";
107
+ }
108
+ ```
109
+
110
+ ### Diamond
111
+
112
+ ```typescript
113
+ interface DiamondElement extends BaseElement {
114
+ type: "diamond";
115
+ text?: string;
116
+ fontSize?: number;
117
+ fontFamily?: number;
118
+ textAlign?: "left" | "center" | "right";
119
+ verticalAlign?: "top" | "middle" | "bottom";
120
+ }
121
+ ```
122
+
123
+ ### Arrow
124
+
125
+ ```typescript
126
+ interface ArrowElement extends BaseElement {
127
+ type: "arrow";
128
+ points: [number, number][]; // Array of [x, y] coordinates relative to element
129
+ startBinding: Binding | null;
130
+ endBinding: Binding | null;
131
+ roundness: { type: 2 }; // 2 = curved arrow
132
+ }
133
+ ```
134
+
135
+ **Example:**
136
+ ```json
137
+ {
138
+ "id": "arrow1",
139
+ "type": "arrow",
140
+ "x": 100,
141
+ "y": 100,
142
+ "width": 200,
143
+ "height": 0,
144
+ "points": [
145
+ [0, 0],
146
+ [200, 0]
147
+ ],
148
+ "roundness": { "type": 2 },
149
+ "startBinding": null,
150
+ "endBinding": null
151
+ }
152
+ ```
153
+
154
+ **Points explanation:**
155
+ - First point `[0, 0]` is relative to `(x, y)`
156
+ - Subsequent points are relative to the first point
157
+ - For straight horizontal arrow: `[[0, 0], [width, 0]]`
158
+ - For straight vertical arrow: `[[0, 0], [0, height]]`
159
+
160
+ ### Line
161
+
162
+ ```typescript
163
+ interface LineElement extends BaseElement {
164
+ type: "line";
165
+ points: [number, number][];
166
+ startBinding: Binding | null;
167
+ endBinding: Binding | null;
168
+ roundness: { type: 2 } | null;
169
+ }
170
+ ```
171
+
172
+ ### Text
173
+
174
+ ```typescript
175
+ interface TextElement extends BaseElement {
176
+ type: "text";
177
+ text: string;
178
+ fontSize: number;
179
+ fontFamily: number; // 5 = Excalifont (default)
180
+ textAlign: "left" | "center" | "right";
181
+ verticalAlign: "top" | "middle" | "bottom";
182
+ roundness: null; // Text has no roundness
183
+ }
184
+ ```
185
+
186
+ **Example:**
187
+ ```json
188
+ {
189
+ "id": "text1",
190
+ "type": "text",
191
+ "x": 100,
192
+ "y": 100,
193
+ "width": 150,
194
+ "height": 25,
195
+ "text": "Hello World",
196
+ "fontSize": 20,
197
+ "fontFamily": 5,
198
+ "textAlign": "left",
199
+ "verticalAlign": "top",
200
+ "roundness": null
201
+ }
202
+ ```
203
+
204
+ **Width/Height calculation:**
205
+ - Width ≈ `text.length * fontSize * 0.6`
206
+ - Height ≈ `fontSize * 1.2 * numberOfLines`
207
+
208
+ ## Bindings
209
+
210
+ Bindings connect arrows to shapes:
211
+
212
+ ```typescript
213
+ interface Binding {
214
+ elementId: string; // ID of bound element
215
+ focus: number; // -1 to 1, position along edge
216
+ gap: number; // Distance from element edge
217
+ }
218
+ ```
219
+
220
+ ## Common Colors
221
+
222
+ | Color Name | Hex Code | Use Case |
223
+ |------------|----------|----------|
224
+ | Black | `#1e1e1e` | Default stroke |
225
+ | Light Blue | `#a5d8ff` | Primary entities |
226
+ | Light Green | `#b2f2bb` | Process steps |
227
+ | Yellow | `#ffd43b` | Important/Central |
228
+ | Light Red | `#ffc9c9` | Warnings/Errors |
229
+ | Cyan | `#96f2d7` | Secondary items |
230
+ | Transparent | `transparent` | No fill |
231
+ | White | `#ffffff` | Background |
232
+
233
+ ## ID Generation
234
+
235
+ IDs should be unique strings. Common patterns:
236
+
237
+ ```javascript
238
+ // Timestamp-based
239
+ const id = Date.now().toString(36) + Math.random().toString(36).substr(2);
240
+
241
+ // Sequential
242
+ const id = "element-" + counter++;
243
+
244
+ // Descriptive
245
+ const id = "step-1", "entity-user", "arrow-1-to-2";
246
+ ```
247
+
248
+ ## Seed Generation
249
+
250
+ Seeds are used for deterministic randomness in hand-drawn effect:
251
+
252
+ ```javascript
253
+ const seed = Math.floor(Math.random() * 2147483647);
254
+ ```
255
+
256
+ ## Version and VersionNonce
257
+
258
+ ```javascript
259
+ const version = 1; // Increment when element is edited
260
+ const versionNonce = Math.floor(Math.random() * 2147483647);
261
+ ```
262
+
263
+ ## Coordinate System
264
+
265
+ - Origin `(0, 0)` is top-left corner
266
+ - X increases to the right
267
+ - Y increases downward
268
+ - All units are in pixels
269
+
270
+ ## Recommended Spacing
271
+
272
+ | Context | Spacing |
273
+ |---------|---------|
274
+ | Horizontal gap between elements | 200-300px |
275
+ | Vertical gap between rows | 100-150px |
276
+ | Minimum margin from edge | 50px |
277
+ | Arrow-to-box clearance | 20-30px |
278
+
279
+ ## Font Families
280
+
281
+ Use **Excalifont** (ID `5`) as the default; do not use Virgil (ID 1). Optionally use Comic Shanns for headings, Lilita One for emphasis, Nunito for legends (if available in your Excalidraw version).
282
+
283
+ | ID | Name | Description |
284
+ |----|------|-------------|
285
+ | 1 | Virgil | Legacy hand-drawn; prefer Excalifont instead |
286
+ | 2 | Helvetica | Clean sans-serif |
287
+ | 3 | Cascadia | Monospace |
288
+ | 5 | **Excalifont** | **Default.** Hand-drawn, improved legibility |
289
+ | (varies) | Comic Shanns | Use for headings (if available) |
290
+ | (varies) | Lilita One | Use for important/emphasis (if available) |
291
+ | (varies) | Nunito | Use for legends (if available) |
292
+
293
+ ## Validation Rules
294
+
295
+ ✅ **Required:**
296
+ - All IDs must be unique
297
+ - `type` must match actual element type
298
+ - `version` must be an integer ≥ 1
299
+ - `opacity` must be 0-100
300
+
301
+ ⚠️ **Recommended:**
302
+ - Keep `roughness` at 1 for consistency
303
+ - Use `strokeWidth` of 2 for clarity
304
+ - Set `isDeleted` to `false`
305
+ - Set `locked` to `false`
306
+ - Keep `frameId`, `boundElements`, `link` as `null`
307
+
308
+ ## Complete Minimal Example
309
+
310
+ ```json
311
+ {
312
+ "type": "excalidraw",
313
+ "version": 2,
314
+ "source": "https://excalidraw.com",
315
+ "elements": [
316
+ {
317
+ "id": "box1",
318
+ "type": "rectangle",
319
+ "x": 100,
320
+ "y": 100,
321
+ "width": 200,
322
+ "height": 100,
323
+ "angle": 0,
324
+ "strokeColor": "#1e1e1e",
325
+ "backgroundColor": "#a5d8ff",
326
+ "fillStyle": "solid",
327
+ "strokeWidth": 2,
328
+ "strokeStyle": "solid",
329
+ "roughness": 1,
330
+ "opacity": 100,
331
+ "groupIds": [],
332
+ "frameId": null,
333
+ "index": "a0",
334
+ "roundness": { "type": 3 },
335
+ "seed": 1234567890,
336
+ "version": 1,
337
+ "versionNonce": 987654321,
338
+ "isDeleted": false,
339
+ "boundElements": null,
340
+ "updated": 1706659200000,
341
+ "link": null,
342
+ "locked": false,
343
+ "text": "Hello",
344
+ "fontSize": 20,
345
+ "fontFamily": 5,
346
+ "textAlign": "center",
347
+ "verticalAlign": "middle"
348
+ }
349
+ ],
350
+ "appState": {
351
+ "viewBackgroundColor": "#ffffff",
352
+ "gridSize": 20
353
+ },
354
+ "files": {}
355
+ }
356
+ ```
@@ -0,0 +1,115 @@
1
+ # Producing Reliable Excalidraw Diagrams
2
+
3
+ This reference ensures text never clips and arrows visibly connect to elements. Follow these rules for architecture, flowcharts, network, and ER diagrams. Use the brand color palette in this skill for all elements.
4
+
5
+ ---
6
+
7
+ ## 1. Text Sizing (No Clipping)
8
+
9
+ Excalidraw clips text to the element's `width` and `height`. If either is too small, labels are cut off.
10
+
11
+ ### Rule
12
+
13
+ For every `type: "text"` element:
14
+
15
+ - **Width:** At least **max(line length) × fontSize × 0.7**, **plus 16–24px of horizontal padding**. Use the longest line in the string.
16
+ - **Height:** At least **fontSize × 1.2 × number of lines**, then round up and add **~10–20% extra** for vertical padding.
17
+ - **Do not** use a fixed small width (e.g. 180) for variable-length or long content.
18
+
19
+ ### Formula
20
+
21
+ ```text
22
+ lineLength = max(length(line) for each line in text)
23
+ baseWidth = lineLength * fontSize * 0.7
24
+ width = ceil(baseWidth) + 16 // horizontal padding
25
+
26
+ baseHeight = fontSize * 1.2 * numberOfLines
27
+ height = ceil(baseHeight * 1.1) // ~10% vertical padding
28
+ ```
29
+
30
+ ### Examples
31
+
32
+ 1. Two-line feature label
33
+
34
+ - Text: `"Lane 2: New Feature\n@planner -> @implement -> @tester"` (two lines; longest line length 32).
35
+ - fontSize: 16.
36
+ - **Width (min):** `32 × 16 × 0.7 ≈ 358` → `≈ 374` after padding → **use 380+**.
37
+ - **Height (min):** `16 × 1.2 × 2 ≈ 38` → `≈ 42` after padding → **use 44+**.
38
+
39
+ 2. Outcome label from workflow mental model
40
+
41
+ - Text: `"LANE 3 — PRD → Build"` (single line; length 22).
42
+ - fontSize: 14.
43
+ - **Width (min):** `22 × 14 × 0.7 ≈ 216` → `≈ 232` after padding → **use 240+**.
44
+ - **Height (min):** `14 × 1.2 × 1 ≈ 17` → `≈ 19` after padding → **use 22+**.
45
+
46
+ ### Compatibility
47
+
48
+ Include on text elements: `originalText` (same as `text`) and `lineHeight`: 1.25.
49
+
50
+ ---
51
+
52
+ ## 2. Arrow Connections (Bindings)
53
+
54
+ Arrows that should **attach** to shapes must use `startBinding` and `endBinding` so they stick to the source and target elements. Unbound arrows can look disconnected.
55
+
56
+ ### Binding structure
57
+
58
+ ```json
59
+ {
60
+ "elementId": "<id of the rectangle/ellipse/diamond>",
61
+ "focus": 0.5,
62
+ "gap": 0
63
+ }
64
+ ```
65
+
66
+ - **elementId:** The `id` of the element to attach to.
67
+ - **focus:** Position along the edge (-1 to 1). Use 0.5 for center of edge.
68
+ - **gap:** Distance in pixels from the element edge (0 = flush).
69
+
70
+ ### Example: Arrow from Box A to Box B
71
+
72
+ Box A has `id: "box-a"`, right edge at x = 280. Box B has `id: "box-b"`, left edge at x = 400. Arrow:
73
+
74
+ ```json
75
+ {
76
+ "id": "arrow-a-b",
77
+ "type": "arrow",
78
+ "x": 280,
79
+ "y": 135,
80
+ "width": 120,
81
+ "height": 0,
82
+ "points": [[0, 0], [120, 0]],
83
+ "roundness": { "type": 2 },
84
+ "startBinding": {
85
+ "elementId": "box-a",
86
+ "focus": 0.5,
87
+ "gap": 0
88
+ },
89
+ "endBinding": {
90
+ "elementId": "box-b",
91
+ "focus": 0.5,
92
+ "gap": 0
93
+ }
94
+ }
95
+ ```
96
+
97
+ ### If not using bindings
98
+
99
+ Compute arrow `(x, y)` and `points` so the line runs **from the source shape edge to the target shape edge**. Arrow direction and length must match the intended flow (e.g. "YES → L3" means the arrow goes toward the L3 element).
100
+
101
+ ---
102
+
103
+ ## 3. Decision / Flow Direction
104
+
105
+ For decision diamonds or branch points:
106
+
107
+ - Each branch arrow must **point toward** the element that branch leads to.
108
+ - Place the label (e.g. YES, NO) next to the correct arrow.
109
+ - If using bindings, set `endBinding.elementId` to the target shape so the arrow attaches to it.
110
+
111
+ ---
112
+
113
+ ## Golden Template
114
+
115
+ A minimal working example with correct text sizing and bound arrows, using the brand palette, is in **`templates/reliable-flowchart.excalidraw`** in this skill. Use it as a starting point or reference for valid structure.
@@ -0,0 +1,60 @@
1
+ # Excalidraw Scripts
2
+
3
+ Scripts for working with Excalidraw diagrams and libraries. Run from the skill folder or pass paths as arguments.
4
+
5
+ ## add-arrow.py
6
+
7
+ Adds a straight arrow between two points in an existing `.excalidraw` diagram. Supports optional labels and line styles.
8
+
9
+ **Usage:**
10
+ ```bash
11
+ python add-arrow.py <diagram-path> <from-x> <from-y> <to-x> <to-y> [OPTIONS]
12
+ ```
13
+
14
+ **Options:** `--style {solid|dashed|dotted}`, `--color HEX`, `--label TEXT`, `--use-edit-suffix` / `--no-use-edit-suffix`
15
+
16
+ **Examples:**
17
+ ```bash
18
+ python add-arrow.py diagram.excalidraw 300 200 500 300
19
+ python add-arrow.py diagram.excalidraw 300 200 500 300 --label "HTTPS"
20
+ python add-arrow.py diagram.excalidraw 400 350 600 400 --style dashed --color "#7950f2"
21
+ ```
22
+
23
+ ## add-icon-to-diagram.py
24
+
25
+ Adds an icon from a split Excalidraw library into an existing diagram. Requires a library directory created by `split-excalidraw-library.py`.
26
+
27
+ **Usage:**
28
+ ```bash
29
+ python add-icon-to-diagram.py <diagram-path> <icon-name> <x> <y> [OPTIONS]
30
+ ```
31
+
32
+ **Options:** `--library-path PATH`, `--label TEXT`, `--use-edit-suffix` / `--no-use-edit-suffix`
33
+
34
+ **Examples:**
35
+ ```bash
36
+ python add-icon-to-diagram.py diagram.excalidraw EC2 500 300
37
+ python add-icon-to-diagram.py diagram.excalidraw EC2 500 300 --label "Web Server"
38
+ python add-icon-to-diagram.py diagram.excalidraw VPC 200 150 --library-path path/to/libraries/gcp-icons
39
+ ```
40
+
41
+ Default library path: `../libraries/aws-architecture-icons` relative to this script (create it with `split-excalidraw-library.py` first).
42
+
43
+ ## split-excalidraw-library.py
44
+
45
+ Splits an Excalidraw library file (`*.excalidrawlib`) into individual icon JSON files and a `reference.md` for lookup.
46
+
47
+ **Usage:**
48
+ ```bash
49
+ python split-excalidraw-library.py <path-to-library-directory>
50
+ ```
51
+
52
+ **Workflow:**
53
+ 1. Create a directory for the library (e.g. `libraries/aws-architecture-icons`).
54
+ 2. Download a `.excalidrawlib` from [Excalidraw Libraries](https://libraries.excalidraw.com/) and place it in that directory.
55
+ 3. Run the script on that directory. It creates an `icons/` subfolder and `reference.md`.
56
+
57
+ **Example:**
58
+ ```bash
59
+ python split-excalidraw-library.py path/to/libraries/aws-architecture-icons/
60
+ ```