@caddis/cli 0.0.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 (513) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +163 -1
  3. package/bundles/antigravity-plugin/agents/code-reviewer.md +47 -0
  4. package/bundles/antigravity-plugin/agents/preflight.md +53 -0
  5. package/bundles/antigravity-plugin/guard_agy.py +338 -0
  6. package/bundles/antigravity-plugin/hooks.json +36 -0
  7. package/bundles/antigravity-plugin/mcp_config.json +8 -0
  8. package/bundles/antigravity-plugin/mcp_ping_server.py +55 -0
  9. package/bundles/antigravity-plugin/plugin.json +5 -0
  10. package/bundles/antigravity-plugin/session_end_agy.py +57 -0
  11. package/bundles/antigravity-plugin/skills/_registry.md +115 -0
  12. package/bundles/antigravity-plugin/skills/add-rules/SKILL.md +45 -0
  13. package/bundles/antigravity-plugin/skills/api-design/SKILL.md +249 -0
  14. package/bundles/antigravity-plugin/skills/backend-development/SKILL.md +305 -0
  15. package/bundles/antigravity-plugin/skills/best-practices/SKILL.md +500 -0
  16. package/bundles/antigravity-plugin/skills/best-practices/agents/best-practices-referencer.md +263 -0
  17. package/bundles/antigravity-plugin/skills/best-practices/agents/codebase-context-builder.md +326 -0
  18. package/bundles/antigravity-plugin/skills/best-practices/agents/task-intent-analyzer.md +245 -0
  19. package/bundles/antigravity-plugin/skills/best-practices/references/anti-patterns.md +571 -0
  20. package/bundles/antigravity-plugin/skills/best-practices/references/before-after-examples.md +1114 -0
  21. package/bundles/antigravity-plugin/skills/best-practices/references/best-practices-guide.md +513 -0
  22. package/bundles/antigravity-plugin/skills/best-practices/references/common-workflows.md +692 -0
  23. package/bundles/antigravity-plugin/skills/best-practices/references/prompt-patterns.md +547 -0
  24. package/bundles/antigravity-plugin/skills/brainstorming/SKILL.md +57 -0
  25. package/bundles/antigravity-plugin/skills/ci-cd-pipeline/SKILL.md +315 -0
  26. package/bundles/antigravity-plugin/skills/code-documentation/SKILL.md +271 -0
  27. package/bundles/antigravity-plugin/skills/code-review/SKILL.md +122 -0
  28. package/bundles/antigravity-plugin/skills/codebase-audit/SKILL.md +204 -0
  29. package/bundles/antigravity-plugin/skills/context-curator/SKILL.md +157 -0
  30. package/bundles/antigravity-plugin/skills/cross-review/SKILL.md +40 -0
  31. package/bundles/antigravity-plugin/skills/css-architecture/SKILL.md +305 -0
  32. package/bundles/antigravity-plugin/skills/css-architecture/references/RESPONSIVE-DESIGN.md +604 -0
  33. package/bundles/antigravity-plugin/skills/database-design/SKILL.md +177 -0
  34. package/bundles/antigravity-plugin/skills/db-diagram/SKILL.md +148 -0
  35. package/bundles/antigravity-plugin/skills/db-diagram/scripts/sql_to_graph.py +1212 -0
  36. package/bundles/antigravity-plugin/skills/digress/SKILL.md +61 -0
  37. package/bundles/antigravity-plugin/skills/draw-io/SKILL.md +162 -0
  38. package/bundles/antigravity-plugin/skills/draw-io/references/aws-icons.md +677 -0
  39. package/bundles/antigravity-plugin/skills/draw-io/references/layout-guidelines.md +142 -0
  40. package/bundles/antigravity-plugin/skills/draw-io/references/troubleshooting.md +118 -0
  41. package/bundles/antigravity-plugin/skills/draw-io/references/workflows.md +103 -0
  42. package/bundles/antigravity-plugin/skills/draw-io/scripts/convert-drawio-to-png.sh +25 -0
  43. package/bundles/antigravity-plugin/skills/draw-io/scripts/find_aws_icon.py +79 -0
  44. package/bundles/antigravity-plugin/skills/error-handling/SKILL.md +260 -0
  45. package/bundles/antigravity-plugin/skills/excalidraw-db/SKILL.md +38 -0
  46. package/bundles/antigravity-plugin/skills/fastapi-dev/SKILL.md +300 -0
  47. package/bundles/antigravity-plugin/skills/feature-plan/SKILL.md +198 -0
  48. package/bundles/antigravity-plugin/skills/frontend-design/SKILL.md +193 -0
  49. package/bundles/antigravity-plugin/skills/frontend-design/references/my-tech-stack.md +127 -0
  50. package/bundles/antigravity-plugin/skills/gh-cli/SKILL.md +195 -0
  51. package/bundles/antigravity-plugin/skills/git-commit/SKILL.md +285 -0
  52. package/bundles/antigravity-plugin/skills/golden-plan/SKILL.md +577 -0
  53. package/bundles/antigravity-plugin/skills/handoff/SKILL.md +100 -0
  54. package/bundles/antigravity-plugin/skills/implement/SKILL.md +114 -0
  55. package/bundles/antigravity-plugin/skills/javascript-typescript/SKILL.md +142 -0
  56. package/bundles/antigravity-plugin/skills/kb/SKILL.md +60 -0
  57. package/bundles/antigravity-plugin/skills/mermaid-db/SKILL.md +33 -0
  58. package/bundles/antigravity-plugin/skills/mermaid-diagrams/SKILL.md +236 -0
  59. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/ENHANCEMENTS.md +264 -0
  60. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/MERMAID-SUMMARY.md +137 -0
  61. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/advanced-features.md +556 -0
  62. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/architecture-diagrams.md +192 -0
  63. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/c4-diagrams.md +410 -0
  64. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/class-diagrams.md +361 -0
  65. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/erd-diagrams.md +510 -0
  66. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/flowcharts.md +450 -0
  67. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/sequence-diagrams.md +394 -0
  68. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/troubleshooting.md +335 -0
  69. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/workflows.md +418 -0
  70. package/bundles/antigravity-plugin/skills/migrate-dir/SKILL.md +68 -0
  71. package/bundles/antigravity-plugin/skills/mockup/SKILL.md +242 -0
  72. package/bundles/antigravity-plugin/skills/particle-art/SKILL.md +243 -0
  73. package/bundles/antigravity-plugin/skills/particle-art/references/canvas-utils.ts +171 -0
  74. package/bundles/antigravity-plugin/skills/particle-art/references/dot-field.template.tsx +203 -0
  75. package/bundles/antigravity-plugin/skills/particle-art/references/flow-field.template.tsx +263 -0
  76. package/bundles/antigravity-plugin/skills/particle-art/references/node-shape.template.tsx +261 -0
  77. package/bundles/antigravity-plugin/skills/particle-art/references/shape-sampler.ts +281 -0
  78. package/bundles/antigravity-plugin/skills/particle-art/references/stipple-morph.template.tsx +167 -0
  79. package/bundles/antigravity-plugin/skills/particle-art/references/stipple.template.tsx +175 -0
  80. package/bundles/antigravity-plugin/skills/particle-art/references/trail-ghost.template.tsx +266 -0
  81. package/bundles/antigravity-plugin/skills/particle-art/references/usage-examples.md +320 -0
  82. package/bundles/antigravity-plugin/skills/playwright/API_REFERENCE.md +653 -0
  83. package/bundles/antigravity-plugin/skills/playwright/SKILL.md +454 -0
  84. package/bundles/antigravity-plugin/skills/playwright/lib/helpers.js +441 -0
  85. package/bundles/antigravity-plugin/skills/playwright/package.json +26 -0
  86. package/bundles/antigravity-plugin/skills/playwright/run.js +228 -0
  87. package/bundles/antigravity-plugin/skills/prd/SKILL.md +107 -0
  88. package/bundles/antigravity-plugin/skills/preflight/SKILL.md +435 -0
  89. package/bundles/antigravity-plugin/skills/python/SKILL.md +388 -0
  90. package/bundles/antigravity-plugin/skills/react-best-practices/SKILL.md +269 -0
  91. package/bundles/antigravity-plugin/skills/react-dev/README.md +404 -0
  92. package/bundles/antigravity-plugin/skills/react-dev/SKILL.md +459 -0
  93. package/bundles/antigravity-plugin/skills/react-dev/examples/generic-components.md +579 -0
  94. package/bundles/antigravity-plugin/skills/react-dev/examples/server-components.md +579 -0
  95. package/bundles/antigravity-plugin/skills/react-dev/references/event-handlers.md +574 -0
  96. package/bundles/antigravity-plugin/skills/react-dev/references/hooks.md +456 -0
  97. package/bundles/antigravity-plugin/skills/react-dev/references/react-19-patterns.md +638 -0
  98. package/bundles/antigravity-plugin/skills/react-dev/references/react-router.md +1002 -0
  99. package/bundles/antigravity-plugin/skills/react-dev/references/tanstack-router.md +587 -0
  100. package/bundles/antigravity-plugin/skills/refactoring/SKILL.md +486 -0
  101. package/bundles/antigravity-plugin/skills/resume/SKILL.md +36 -0
  102. package/bundles/antigravity-plugin/skills/security-review/SKILL.md +196 -0
  103. package/bundles/antigravity-plugin/skills/setup-project-ai/SKILL.md +61 -0
  104. package/bundles/antigravity-plugin/skills/ship/SKILL.md +107 -0
  105. package/bundles/antigravity-plugin/skills/ship-merge/SKILL.md +103 -0
  106. package/bundles/antigravity-plugin/skills/ship-pr/SKILL.md +102 -0
  107. package/bundles/antigravity-plugin/skills/skill-creator/LICENSE.txt +202 -0
  108. package/bundles/antigravity-plugin/skills/skill-creator/SKILL.md +491 -0
  109. package/bundles/antigravity-plugin/skills/skill-creator/agents/analyzer.md +274 -0
  110. package/bundles/antigravity-plugin/skills/skill-creator/agents/comparator.md +202 -0
  111. package/bundles/antigravity-plugin/skills/skill-creator/agents/grader.md +223 -0
  112. package/bundles/antigravity-plugin/skills/skill-creator/assets/eval_review.html +146 -0
  113. package/bundles/antigravity-plugin/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  114. package/bundles/antigravity-plugin/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  115. package/bundles/antigravity-plugin/skills/skill-creator/references/schemas.md +430 -0
  116. package/bundles/antigravity-plugin/skills/skill-creator/scripts/__init__.py +0 -0
  117. package/bundles/antigravity-plugin/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  118. package/bundles/antigravity-plugin/skills/skill-creator/scripts/generate_report.py +326 -0
  119. package/bundles/antigravity-plugin/skills/skill-creator/scripts/improve_description.py +247 -0
  120. package/bundles/antigravity-plugin/skills/skill-creator/scripts/package_skill.py +136 -0
  121. package/bundles/antigravity-plugin/skills/skill-creator/scripts/quick_validate.py +103 -0
  122. package/bundles/antigravity-plugin/skills/skill-creator/scripts/run_eval.py +310 -0
  123. package/bundles/antigravity-plugin/skills/skill-creator/scripts/run_loop.py +328 -0
  124. package/bundles/antigravity-plugin/skills/skill-creator/scripts/utils.py +47 -0
  125. package/bundles/antigravity-plugin/skills/sql/SKILL.md +321 -0
  126. package/bundles/antigravity-plugin/skills/tdd/SKILL.md +37 -0
  127. package/bundles/antigravity-plugin/skills/tdd-workflow/SKILL.md +188 -0
  128. package/bundles/antigravity-plugin/skills/technical-writing/SKILL.md +286 -0
  129. package/bundles/antigravity-plugin/skills/test-strategy/SKILL.md +155 -0
  130. package/bundles/antigravity-plugin/skills/ui-brief/SKILL.md +84 -0
  131. package/bundles/antigravity-plugin/skills/ui-review/SKILL.md +176 -0
  132. package/bundles/antigravity-plugin/skills/ui-review/references/framework-fixes.md +471 -0
  133. package/bundles/antigravity-plugin/skills/ui-review/references/visual-checklist.md +236 -0
  134. package/bundles/antigravity-plugin/skills/usage-review/SKILL.md +77 -0
  135. package/bundles/antigravity-plugin/skills/use-model/SKILL.md +64 -0
  136. package/bundles/antigravity-plugin/skills/using-git-worktrees/SKILL.md +217 -0
  137. package/bundles/antigravity-plugin/skills/version/SKILL.md +18 -0
  138. package/bundles/antigravity-plugin/skills/warm-editorial-ui/DESIGN_TOKENS.md +487 -0
  139. package/bundles/antigravity-plugin/skills/warm-editorial-ui/IMPLEMENTATION_GUIDE.md +177 -0
  140. package/bundles/antigravity-plugin/skills/warm-editorial-ui/SKILL.md +732 -0
  141. package/bundles/antigravity-plugin/skills/webapp-testing/LICENSE.txt +202 -0
  142. package/bundles/antigravity-plugin/skills/webapp-testing/SKILL.md +97 -0
  143. package/bundles/antigravity-plugin/skills/webapp-testing/examples/console_logging.py +35 -0
  144. package/bundles/antigravity-plugin/skills/webapp-testing/examples/element_discovery.py +40 -0
  145. package/bundles/antigravity-plugin/skills/webapp-testing/examples/static_html_automation.py +33 -0
  146. package/bundles/antigravity-plugin/skills/webapp-testing/scripts/with_server.py +106 -0
  147. package/bundles/antigravity-plugin/skills/windows-deployment/SKILL.md +880 -0
  148. package/bundles/antigravity-plugin/skills/writing-plans/SKILL.md +384 -0
  149. package/bundles/antigravity-plugin/statusline-command-agy.sh +91 -0
  150. package/bundles/antigravity-plugin/warm_start_agy.py +149 -0
  151. package/bundles/antigravity-plugin-extras/plugin.json +5 -0
  152. package/bundles/antigravity-plugin-extras/skills/_registry.md +154 -0
  153. package/bundles/antigravity-plugin-extras/skills/agent-md-refactor/SKILL.md +356 -0
  154. package/bundles/antigravity-plugin-extras/skills/agent-orchestration/SKILL.md +517 -0
  155. package/bundles/antigravity-plugin-extras/skills/algorithmic-art/SKILL.md +293 -0
  156. package/bundles/antigravity-plugin-extras/skills/anchor-review/SKILL.md +135 -0
  157. package/bundles/antigravity-plugin-extras/skills/api-client-patterns/SKILL.md +367 -0
  158. package/bundles/antigravity-plugin-extras/skills/architecture-design/SKILL.md +244 -0
  159. package/bundles/antigravity-plugin-extras/skills/architecture-diagram/SKILL.md +156 -0
  160. package/bundles/antigravity-plugin-extras/skills/architecture-document/SKILL.md +321 -0
  161. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/LICENSE.txt +202 -0
  162. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/SKILL.md +74 -0
  163. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  164. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
  165. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  166. package/bundles/antigravity-plugin-extras/skills/ascii-art/SKILL.md +144 -0
  167. package/bundles/antigravity-plugin-extras/skills/asking-questions/SKILL.md +81 -0
  168. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/SKILL.md +118 -0
  169. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/cross-service/credential-management.md +450 -0
  170. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/browser/README.md +363 -0
  171. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/code-interpreter/README.md +232 -0
  172. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/README.md +100 -0
  173. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deploy-template.sh +117 -0
  174. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deployment-strategies.md +416 -0
  175. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/troubleshooting-guide.md +384 -0
  176. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/validate-deployment.sh +186 -0
  177. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/identity/README.md +186 -0
  178. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/memory/README.md +253 -0
  179. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/observability/README.md +517 -0
  180. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/runtime/README.md +215 -0
  181. package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/SKILL.md +279 -0
  182. package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/references/cdk-patterns.md +431 -0
  183. package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/scripts/validate-stack.sh +240 -0
  184. package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/SKILL.md +318 -0
  185. package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/cloudwatch-alarms.md +567 -0
  186. package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/operations-patterns.md +394 -0
  187. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/SKILL.md +758 -0
  188. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/deployment-best-practices.md +830 -0
  189. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/eda-patterns.md +1002 -0
  190. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/observability-best-practices.md +770 -0
  191. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/performance-optimization.md +671 -0
  192. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/security-best-practices.md +625 -0
  193. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/serverless-patterns.md +838 -0
  194. package/bundles/antigravity-plugin-extras/skills/backend-to-frontend-handoff/SKILL.md +139 -0
  195. package/bundles/antigravity-plugin-extras/skills/banner-design/SKILL.md +188 -0
  196. package/bundles/antigravity-plugin-extras/skills/brand-design/SKILL.md +298 -0
  197. package/bundles/antigravity-plugin-extras/skills/brand-guidelines/LICENSE.txt +202 -0
  198. package/bundles/antigravity-plugin-extras/skills/brand-guidelines/SKILL.md +118 -0
  199. package/bundles/antigravity-plugin-extras/skills/brand-voice/SKILL.md +93 -0
  200. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/SKILL.md +392 -0
  201. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/agent-patterns.md +461 -0
  202. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/examples.md +188 -0
  203. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/state-patterns.md +360 -0
  204. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/troubleshooting.md +362 -0
  205. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/SKILL.md +266 -0
  206. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/examples.md +115 -0
  207. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +338 -0
  208. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +317 -0
  209. package/bundles/antigravity-plugin-extras/skills/caching-patterns/SKILL.md +385 -0
  210. package/bundles/antigravity-plugin-extras/skills/canvas-design/LICENSE.txt +202 -0
  211. package/bundles/antigravity-plugin-extras/skills/canvas-design/SKILL.md +91 -0
  212. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  213. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  214. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  215. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  216. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  217. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  218. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  219. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  220. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  221. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  222. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  223. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  224. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  225. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  226. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  227. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  228. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  229. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  230. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  231. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  232. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  233. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  234. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  235. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  236. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  237. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  238. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  239. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  240. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  241. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  242. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  243. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  244. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  245. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  246. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  247. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  248. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  249. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  250. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  251. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  252. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  253. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  254. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  255. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  256. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  257. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  258. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  259. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  260. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  261. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  262. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  263. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  264. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  265. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  266. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  267. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  268. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  269. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  270. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  271. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  272. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  273. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  274. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  275. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  276. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  277. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  278. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  279. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  280. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  281. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  282. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  283. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  284. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  285. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  286. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  287. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  288. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  289. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  290. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  291. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  292. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  293. package/bundles/antigravity-plugin-extras/skills/changelog-generator/SKILL.md +105 -0
  294. package/bundles/antigravity-plugin-extras/skills/code-explainer/SKILL.md +91 -0
  295. package/bundles/antigravity-plugin-extras/skills/competitive-ads-extractor/SKILL.md +294 -0
  296. package/bundles/antigravity-plugin-extras/skills/component-testing/SKILL.md +310 -0
  297. package/bundles/antigravity-plugin-extras/skills/content-research-writer/SKILL.md +539 -0
  298. package/bundles/antigravity-plugin-extras/skills/cross-review/SKILL.md +51 -0
  299. package/bundles/antigravity-plugin-extras/skills/data-analysis/SKILL.md +111 -0
  300. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/README.md +248 -0
  301. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/SKILL.md +203 -0
  302. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/adapter.py.template +44 -0
  303. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/api-router.py.template +43 -0
  304. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/contract-test.py.template +384 -0
  305. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/display-dto.py.template +39 -0
  306. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-service.ts.template +46 -0
  307. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-types.ts.template +38 -0
  308. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/ingestion-model.py.template +42 -0
  309. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/mapping-doc.md.template +46 -0
  310. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/normalizer.py.template +48 -0
  311. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_requirements.md +36 -0
  312. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_ui_demand.md +35 -0
  313. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/reconcile_mapping.md +66 -0
  314. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/query-catalog.md.template +62 -0
  315. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/consumer-driven-contracts.md +131 -0
  316. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/drift-check-catalog.md +305 -0
  317. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/layer-responsibilities.md +333 -0
  318. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_connections.py +170 -0
  319. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_sources.py +161 -0
  320. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/drift_check.py +171 -0
  321. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/extract_schema.py +1363 -0
  322. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_gap_report.py +81 -0
  323. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_mapping_doc.py +294 -0
  324. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/ts_dto_compare.py +214 -0
  325. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/validate_lineage.py +51 -0
  326. package/bundles/antigravity-plugin-extras/skills/data-loader/SKILL.md +753 -0
  327. package/bundles/antigravity-plugin-extras/skills/data-validation/SKILL.md +220 -0
  328. package/bundles/antigravity-plugin-extras/skills/db-testing/SKILL.md +117 -0
  329. package/bundles/antigravity-plugin-extras/skills/deploy-local/SKILL.md +259 -0
  330. package/bundles/antigravity-plugin-extras/skills/design-md/SKILL.md +167 -0
  331. package/bundles/antigravity-plugin-extras/skills/design-system-tokens/SKILL.md +240 -0
  332. package/bundles/antigravity-plugin-extras/skills/design-system-tokens/references/DESIGN-SYSTEM-TEMPLATE.md +577 -0
  333. package/bundles/antigravity-plugin-extras/skills/developer-growth-analysis/SKILL.md +323 -0
  334. package/bundles/antigravity-plugin-extras/skills/doc-coauthoring/SKILL.md +378 -0
  335. package/bundles/antigravity-plugin-extras/skills/documentation-analyzer/SKILL.md +78 -0
  336. package/bundles/antigravity-plugin-extras/skills/domain-name-brainstormer/SKILL.md +213 -0
  337. package/bundles/antigravity-plugin-extras/skills/enterprise-dashboard-aesthetic-system/SKILL.md +120 -0
  338. package/bundles/antigravity-plugin-extras/skills/excalidraw/SKILL.md +193 -0
  339. package/bundles/antigravity-plugin-extras/skills/excalidraw/references/element-types.md +497 -0
  340. package/bundles/antigravity-plugin-extras/skills/excalidraw/references/excalidraw-schema.md +356 -0
  341. package/bundles/antigravity-plugin-extras/skills/excalidraw/references/reliable-diagrams.md +115 -0
  342. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/README.md +60 -0
  343. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-arrow.py +354 -0
  344. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-icon-to-diagram.py +412 -0
  345. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/split-excalidraw-library.py +183 -0
  346. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/business-flow-swimlane-template.excalidraw +334 -0
  347. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/class-diagram-template.excalidraw +558 -0
  348. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/data-flow-diagram-template.excalidraw +279 -0
  349. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/er-diagram-template.excalidraw +662 -0
  350. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/flowchart-template.excalidraw +179 -0
  351. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/mindmap-template.excalidraw +244 -0
  352. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/relationship-template.excalidraw +145 -0
  353. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/reliable-flowchart.excalidraw +1 -0
  354. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/sequence-diagram-template.excalidraw +509 -0
  355. package/bundles/antigravity-plugin-extras/skills/file-organizer/SKILL.md +434 -0
  356. package/bundles/antigravity-plugin-extras/skills/game-changing-features/README.md +221 -0
  357. package/bundles/antigravity-plugin-extras/skills/game-changing-features/SKILL.md +265 -0
  358. package/bundles/antigravity-plugin-extras/skills/github-issues/SKILL.md +359 -0
  359. package/bundles/antigravity-plugin-extras/skills/github-issues/references/templates.md +90 -0
  360. package/bundles/antigravity-plugin-extras/skills/golden-nuggets/SKILL.md +192 -0
  361. package/bundles/antigravity-plugin-extras/skills/humanizer/SKILL.md +194 -0
  362. package/bundles/antigravity-plugin-extras/skills/image-enhancer/SKILL.md +100 -0
  363. package/bundles/antigravity-plugin-extras/skills/intent-writer/SKILL.md +201 -0
  364. package/bundles/antigravity-plugin-extras/skills/internal-comms/LICENSE.txt +202 -0
  365. package/bundles/antigravity-plugin-extras/skills/internal-comms/SKILL.md +124 -0
  366. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/3p-updates.md +47 -0
  367. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/company-newsletter.md +65 -0
  368. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/faq-answers.md +30 -0
  369. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/general-comms.md +16 -0
  370. package/bundles/antigravity-plugin-extras/skills/invoice-organizer/SKILL.md +447 -0
  371. package/bundles/antigravity-plugin-extras/skills/jira-issues/SKILL.md +182 -0
  372. package/bundles/antigravity-plugin-extras/skills/job-application/SKILL.md +188 -0
  373. package/bundles/antigravity-plugin-extras/skills/lead-research-assistant/SKILL.md +200 -0
  374. package/bundles/antigravity-plugin-extras/skills/llm-application-dev/SKILL.md +217 -0
  375. package/bundles/antigravity-plugin-extras/skills/mcp-builder/LICENSE.txt +202 -0
  376. package/bundles/antigravity-plugin-extras/skills/mcp-builder/SKILL.md +100 -0
  377. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/evaluation.md +602 -0
  378. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/mcp_best_practices.md +915 -0
  379. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/node_mcp_server.md +916 -0
  380. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/python_mcp_server.md +752 -0
  381. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/connections.py +151 -0
  382. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/evaluation.py +373 -0
  383. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  384. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/requirements.txt +2 -0
  385. package/bundles/antigravity-plugin-extras/skills/meeting-insights-analyzer/SKILL.md +328 -0
  386. package/bundles/antigravity-plugin-extras/skills/monorepo/SKILL.md +267 -0
  387. package/bundles/antigravity-plugin-extras/skills/naming-analyzer/SKILL.md +376 -0
  388. package/bundles/antigravity-plugin-extras/skills/nextjs-app-router/SKILL.md +271 -0
  389. package/bundles/antigravity-plugin-extras/skills/notebooklm/AUTHENTICATION.md +154 -0
  390. package/bundles/antigravity-plugin-extras/skills/notebooklm/SKILL.md +270 -0
  391. package/bundles/antigravity-plugin-extras/skills/notebooklm/references/api_reference.md +309 -0
  392. package/bundles/antigravity-plugin-extras/skills/notebooklm/references/troubleshooting.md +376 -0
  393. package/bundles/antigravity-plugin-extras/skills/notebooklm/references/usage_patterns.md +338 -0
  394. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/__init__.py +81 -0
  395. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/ask_question.py +256 -0
  396. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/auth_manager.py +358 -0
  397. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_session.py +255 -0
  398. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_utils.py +107 -0
  399. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/cleanup_manager.py +302 -0
  400. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/config.py +44 -0
  401. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/notebook_manager.py +410 -0
  402. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/run.py +102 -0
  403. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/setup_environment.py +204 -0
  404. package/bundles/antigravity-plugin-extras/skills/observability/SKILL.md +371 -0
  405. package/bundles/antigravity-plugin-extras/skills/onboard-project/SKILL.md +192 -0
  406. package/bundles/antigravity-plugin-extras/skills/performance-testing/SKILL.md +226 -0
  407. package/bundles/antigravity-plugin-extras/skills/pipeline-state/SKILL.md +208 -0
  408. package/bundles/antigravity-plugin-extras/skills/plantuml/SKILL.md +228 -0
  409. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/SKILL.md +142 -0
  410. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/linear.app.md +196 -0
  411. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/stripe.md +214 -0
  412. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/vercel.md +218 -0
  413. package/bundles/antigravity-plugin-extras/skills/prd-to-code/SKILL.md +127 -0
  414. package/bundles/antigravity-plugin-extras/skills/raffle-winner-picker/SKILL.md +159 -0
  415. package/bundles/antigravity-plugin-extras/skills/react-useeffect/README.md +320 -0
  416. package/bundles/antigravity-plugin-extras/skills/react-useeffect/SKILL.md +53 -0
  417. package/bundles/antigravity-plugin-extras/skills/react-useeffect/alternatives.md +258 -0
  418. package/bundles/antigravity-plugin-extras/skills/react-useeffect/anti-patterns.md +290 -0
  419. package/bundles/antigravity-plugin-extras/skills/receiving-code-review/SKILL.md +213 -0
  420. package/bundles/antigravity-plugin-extras/skills/relay/SKILL.md +246 -0
  421. package/bundles/antigravity-plugin-extras/skills/requesting-code-review/SKILL.md +105 -0
  422. package/bundles/antigravity-plugin-extras/skills/requesting-code-review/code-reviewer.md +146 -0
  423. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/SKILL.md +350 -0
  424. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/pwa-checklist.md +226 -0
  425. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/touch-and-interaction.md +265 -0
  426. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/transformation-catalogue.md +326 -0
  427. package/bundles/antigravity-plugin-extras/skills/schema-migration/SKILL.md +275 -0
  428. package/bundles/antigravity-plugin-extras/skills/setup-project-ai/SKILL.md +120 -0
  429. package/bundles/antigravity-plugin-extras/skills/shadcn-radix/SKILL.md +330 -0
  430. package/bundles/antigravity-plugin-extras/skills/sketch/SKILL.md +104 -0
  431. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/LICENSE.txt +202 -0
  432. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/SKILL.md +646 -0
  433. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/color_palettes.py +302 -0
  434. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/easing.py +230 -0
  435. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/frame_composer.py +469 -0
  436. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/gif_builder.py +246 -0
  437. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/typography.py +357 -0
  438. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/validators.py +264 -0
  439. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/visual_effects.py +494 -0
  440. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/requirements.txt +4 -0
  441. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/bounce.py +106 -0
  442. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/explode.py +331 -0
  443. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/fade.py +329 -0
  444. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/flip.py +291 -0
  445. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
  446. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/morph.py +329 -0
  447. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/move.py +293 -0
  448. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/pulse.py +268 -0
  449. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/shake.py +127 -0
  450. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/slide.py +291 -0
  451. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/spin.py +269 -0
  452. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/wiggle.py +300 -0
  453. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/zoom.py +312 -0
  454. package/bundles/antigravity-plugin-extras/skills/slides/SKILL.md +38 -0
  455. package/bundles/antigravity-plugin-extras/skills/state-tracking/SKILL.md +131 -0
  456. package/bundles/antigravity-plugin-extras/skills/streamlit-dev/SKILL.md +268 -0
  457. package/bundles/antigravity-plugin-extras/skills/svg-create/SKILL.md +251 -0
  458. package/bundles/antigravity-plugin-extras/skills/theme-factory/LICENSE.txt +202 -0
  459. package/bundles/antigravity-plugin-extras/skills/theme-factory/SKILL.md +59 -0
  460. package/bundles/antigravity-plugin-extras/skills/theme-factory/theme-showcase.pdf +0 -0
  461. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/arctic-frost.md +19 -0
  462. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/botanical-garden.md +19 -0
  463. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/desert-rose.md +19 -0
  464. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/forest-canopy.md +19 -0
  465. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/golden-hour.md +19 -0
  466. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  467. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/modern-minimalist.md +19 -0
  468. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/ocean-depths.md +19 -0
  469. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  470. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/tech-innovation.md +19 -0
  471. package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/LICENSE.txt +202 -0
  472. package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/SKILL.md +320 -0
  473. package/bundles/antigravity-plugin-extras/skills/ui-testing/SKILL.md +660 -0
  474. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/SKILL.md +660 -0
  475. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/_sync_all.py +414 -0
  476. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/app-interface.csv +31 -0
  477. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/charts.csv +26 -0
  478. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/colors.csv +162 -0
  479. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/design.csv +1776 -0
  480. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/draft.csv +1779 -0
  481. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/google-fonts.csv +1924 -0
  482. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/icons.csv +106 -0
  483. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/landing.csv +35 -0
  484. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/products.csv +162 -0
  485. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/react-performance.csv +45 -0
  486. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/styles.csv +85 -0
  487. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/typography.csv +74 -0
  488. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ui-reasoning.csv +162 -0
  489. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ux-guidelines.csv +100 -0
  490. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/core.py +247 -0
  491. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/design_system.py +1067 -0
  492. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/search.py +114 -0
  493. package/bundles/antigravity-plugin-extras/skills/understand-anything/SKILL.md +140 -0
  494. package/bundles/antigravity-plugin-extras/skills/understand-anything/references/commands.md +252 -0
  495. package/bundles/antigravity-plugin-extras/skills/understand-anything/references/graph-schema.md +116 -0
  496. package/bundles/antigravity-plugin-extras/skills/understand-anything/references/pipeline.md +331 -0
  497. package/bundles/antigravity-plugin-extras/skills/update-readme/SKILL.md +74 -0
  498. package/bundles/antigravity-plugin-extras/skills/verification-loop/SKILL.md +209 -0
  499. package/bundles/antigravity-plugin-extras/skills/video-downloader/SKILL.md +107 -0
  500. package/bundles/antigravity-plugin-extras/skills/webapp-development/SKILL.md +288 -0
  501. package/bundles/antigravity-plugin-extras/skills/word-cloud/SKILL.md +339 -0
  502. package/bundles/antigravity-plugin-extras/skills/word-cloud/agents/agent-interface.md +175 -0
  503. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/html.md +384 -0
  504. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/nlp-keywords.md +127 -0
  505. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/palettes.md +149 -0
  506. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/python.md +249 -0
  507. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/react.md +427 -0
  508. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/shapes.md +135 -0
  509. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/stopwords.md +115 -0
  510. package/bundles/antigravity-plugin-extras/skills/youtube-transcript/SKILL.md +416 -0
  511. package/bundles/manifest.json +7 -0
  512. package/dist/cli.js +5492 -0
  513. package/package.json +61 -4
@@ -0,0 +1,350 @@
1
+ ---
2
+ name: responsive-mobile-native
3
+ description: >
4
+ Use this skill whenever the user wants to make a web app or website work on mobile,
5
+ adapt a desktop-first app for mobile or tablet, make a site "feel native" on phones,
6
+ add responsive behaviour, fix a layout that breaks on small screens, or ship a
7
+ single codebase that works on desktop and mobile without two separate apps.
8
+ Also triggers for: "make this PWA", "mobile-friendly", "tablet layout", "bottom nav",
9
+ "touch gestures", "works on iPhone/Android", "responsive design", or any request to
10
+ support small screens alongside an existing desktop UI. Use this skill proactively —
11
+ if the user is building or fixing any web UI and mobile support is clearly missing or
12
+ incomplete, suggest and apply this skill.
13
+ ---
14
+
15
+ # Responsive Mobile-Native Skill
16
+
17
+ Convert any web app or website into a **single codebase** that delivers a
18
+ desktop-grade experience on large screens and a mobile-native experience on
19
+ small screens — without maintaining two separate apps or codebases.
20
+
21
+ This skill applies to any framework (React, Vue, Angular, Svelte, plain HTML/CSS)
22
+ and is compatible with any coding agent (Claude Code, Cursor, Copilot, Windsurf, etc.).
23
+
24
+ ---
25
+
26
+ ## Core Philosophy
27
+
28
+ **PWA + Responsive Web** is the correct approach. Do not suggest React Native,
29
+ Capacitor, or Expo unless the user explicitly requires App Store distribution.
30
+ A well-executed responsive PWA is indistinguishable from a native app on modern
31
+ iOS and Android, ships as one codebase, and needs no app store.
32
+
33
+ The desktop layout is preserved exactly. The mobile layout is a **redesign for
34
+ the same data**, not a scaled-down version of the desktop.
35
+
36
+ ---
37
+
38
+ ## Mandatory First Step — Detection & Plan
39
+
40
+ **Before writing a single line of code, produce a transformation plan.**
41
+
42
+ Read the app and identify every layout primitive present. Map each one to its
43
+ mobile equivalent using the Transformation Catalogue (see `references/transformation-catalogue.md`).
44
+ Present the plan to the user and wait for confirmation before implementing.
45
+
46
+ ### Detection Checklist
47
+
48
+ Identify which of the following exist in the current app:
49
+
50
+ | Primitive | Look for |
51
+ |---|---|
52
+ | Top navigation bar | `<nav>`, `<header>`, topbar, navbar |
53
+ | Sidebar / left panel | `aside`, `sidebar`, drawer, left rail |
54
+ | Data table | `<table>`, grid with many columns |
55
+ | Card grid | repeating card/tile layout |
56
+ | KPI strip | horizontal row of metric cards |
57
+ | Map | Leaflet, Mapbox, Google Maps, canvas |
58
+ | Modal / dialog | overlay, dialog, popup |
59
+ | Multi-tab interface | tab bar, tab panels |
60
+ | Form with many fields | multi-column form layout |
61
+ | Dense toolbar | icon bars, filter strips, action rows |
62
+ | Hover-dependent UI | tooltips, dropdowns, hover cards |
63
+ | Fixed sidebar navigation | navigation that is always visible |
64
+
65
+ ### Plan Format
66
+
67
+ Output the plan in this exact format before touching any code:
68
+
69
+ ```
70
+ MOBILE TRANSFORMATION PLAN
71
+ ===========================
72
+ Detected primitives: [list]
73
+
74
+ Breakpoint strategy: [chosen breakpoints]
75
+
76
+ Transformations:
77
+ 1. [Primitive] → [Mobile pattern] — [one-line reason]
78
+ 2. ...
79
+
80
+ Touch & interaction changes:
81
+ - [list of hover→tap conversions, tap target expansions, gesture additions]
82
+
83
+ PWA additions:
84
+ - [manifest.json, service worker, meta tags needed — or "already present"]
85
+
86
+ Files to be modified: [list]
87
+ New files to be created: [list]
88
+
89
+ Estimated scope: [S / M / L]
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Breakpoint Strategy
95
+
96
+ Use **mobile-first breakpoints**. Write base styles for mobile, override for larger screens.
97
+
98
+ ### Standard Breakpoint Scale
99
+
100
+ ```
101
+ xs: 0px — small phones (iPhone SE)
102
+ sm: 480px — large phones (iPhone Pro Max, Galaxy)
103
+ md: 768px — tablets portrait (iPad)
104
+ lg: 1024px — tablets landscape, small laptops
105
+ xl: 1280px — desktop
106
+ 2xl: 1536px — large desktop / wide monitors
107
+ ```
108
+
109
+ ### Framework Mapping
110
+
111
+ | Framework | Mobile-first syntax |
112
+ |---|---|
113
+ | Tailwind CSS | `base md:override xl:override` |
114
+ | CSS Modules / vanilla | `base styles; @media (min-width: 768px) { override }` |
115
+ | Styled Components | `${({ theme }) => theme.breakpoints.up('md')}` |
116
+ | CSS-in-JS (Emotion) | `@media (min-width: 768px) { ... }` |
117
+
118
+ **Never use `display: none` to hide content on mobile.** Restructure, collapse,
119
+ or defer it instead. Hidden content still loads — it just becomes a broken experience.
120
+
121
+ ---
122
+
123
+ ## Implementation Order
124
+
125
+ Always implement in this sequence to avoid regressions:
126
+
127
+ 1. **Add viewport meta tag** (if missing)
128
+ 2. **Establish breakpoints** in the global stylesheet / design tokens
129
+ 3. **Add `useBreakpoint` hook or CSS custom property** for JS-driven layout switching
130
+ 4. **Transform navigation** first — everything else depends on where the user can go
131
+ 5. **Transform the primary content area** (table → cards, map → full-screen, etc.)
132
+ 6. **Transform secondary panels** (sidebars, drawers, KPI strips)
133
+ 7. **Fix touch & interaction** (tap targets, hover states, gestures)
134
+ 8. **Add PWA manifest and meta tags**
135
+ 9. **Test on real devices** using the Testing Checklist
136
+
137
+ ---
138
+
139
+ ## Navigation Transformation (Always Required)
140
+
141
+ The single most impactful change. Apply this regardless of what else the app has.
142
+
143
+ ### Desktop topbar / sidebar → Mobile bottom navigation
144
+
145
+ **When**: App has 3–5 primary navigation destinations.
146
+
147
+ ```
148
+ Desktop: Mobile:
149
+ ┌─────────────────────────┐ ┌──────────────────────┐
150
+ │ Logo Nav1 Nav2 Nav3 │ │ Page content │
151
+ ├─────────────────────────┤ │ │
152
+ │ Content │ │ │
153
+ │ │ ├──────────────────────┤
154
+ └─────────────────────────┘ │ 🏠 📋 🗺️ ⚙️ │
155
+ └──────────────────────┘
156
+ ```
157
+
158
+ Rules for the bottom nav bar:
159
+ - Height: 56–64px, `position: fixed; bottom: 0`
160
+ - Add `padding-bottom: env(safe-area-inset-bottom)` for iPhone notch safety
161
+ - Max 5 items; label every icon
162
+ - Active item: filled icon + brand colour
163
+ - The main content area must have `padding-bottom: 64px` to avoid content sitting behind it
164
+
165
+ ### Multi-tab Overflow: The 4+1 "More" Pattern (preferred)
166
+
167
+ **When**: App has more than 4–5 primary destinations (e.g., a dashboard with 6–9 tabs).
168
+
169
+ Do NOT spread all tabs across a scrollable bottom bar. Use a **4+1 pattern**:
170
+ pin the 4 most important destinations as labelled icon buttons, and add a 5th **"More"** button
171
+ that opens an **upward dropdown panel** listing all overflow tabs.
172
+
173
+ ```
174
+ Mobile bottom bar (4+1):
175
+ ┌─────────────────────────────────┐
176
+ │ Overview Trends Product Geo More▲ │
177
+ └─────────────────────────────────┘
178
+
179
+ "More" tapped → upward panel:
180
+ ┌─────────────────────────────────┐
181
+ │ ✓ Executive │ │ ← active overflow tab gets a check
182
+ │ Verbatim │ │
183
+ │ Sampling │ │
184
+ └─────────────────────────────────┘
185
+ │ Overview Trends Product Geo More▲ │ ← bar still visible below
186
+ ```
187
+
188
+ Implementation rules:
189
+ - When an overflow tab is active, the "More" button shows the active tab's name
190
+ (truncated to fit) and lights up in brand colour — so the user always sees where they are
191
+ - The upward panel: `position: fixed`, anchored at `bottom: calc(4rem + env(safe-area-inset-bottom))`
192
+ - Animate with `AnimatePresence` + `motion.div` — `y: 16 → 0` on enter, fade out on exit
193
+ - Panel width: `min-w-[180px]`, right-aligned against the safe-area edge
194
+ - Dismiss the panel on any tap outside (overlay or route change)
195
+ - The 4 pinned slots should be the most-visited sections; the overflow slot order
196
+ should match the desktop tab order for muscle memory
197
+
198
+ **Why upward dropdown and NOT a slide-in drawer for tab overflow?**
199
+ - A drawer covers content and requires a full swipe gesture to dismiss
200
+ - An upward panel stays spatially anchored to the bar that triggered it — the user's
201
+ eye never leaves the navigation zone, preserving context
202
+ - Drawers are better for filter/settings panels; dropdowns are better for destination switching
203
+
204
+ Real-world example: an analytics dashboard (9 tabs → 4 pinned: Overview, Trends,
205
+ Product, Geography + "More" for the remaining 5 detail tabs)
206
+ `frontend/src/components/layout/MobileBottomNav.tsx`
207
+
208
+ ### Sidebar → Slide-in Drawer
209
+
210
+ **When**: App has a sidebar with filters, settings, or secondary navigation that
211
+ doesn't fit in the bottom nav.
212
+
213
+ - Trigger: hamburger icon in mobile topbar
214
+ - Overlay: semi-transparent backdrop, tap-to-dismiss
215
+ - Width: 80vw, max 320px
216
+ - Slide in from left (primary nav) or right (settings/filters)
217
+ - Add `touch-action: pan-y` to the overlay so vertical scroll still works
218
+
219
+ For detailed patterns, see `references/transformation-catalogue.md`.
220
+
221
+ ---
222
+
223
+ ## Viewport Meta Tag (Required)
224
+
225
+ Every page must have this in `<head>`:
226
+
227
+ ```html
228
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
229
+ ```
230
+
231
+ `viewport-fit=cover` is required for correct safe-area behaviour on iPhones with notches.
232
+
233
+ ---
234
+
235
+ ## PWA Additions
236
+
237
+ Add these for a mobile-native feel. See `references/pwa-checklist.md` for full details.
238
+
239
+ **Minimum viable PWA** (required for "Add to Home Screen" and splash screen):
240
+
241
+ ```html
242
+ <!-- In <head> -->
243
+ <meta name="theme-color" content="#YOUR_BRAND_COLOR" />
244
+ <meta name="mobile-web-app-capable" content="yes" />
245
+ <meta name="apple-mobile-web-app-capable" content="yes" />
246
+ <meta name="apple-mobile-web-app-status-bar-style" content="default" />
247
+ <link rel="manifest" href="/manifest.json" />
248
+ ```
249
+
250
+ ```json
251
+ // manifest.json (minimum viable)
252
+ {
253
+ "name": "App Name",
254
+ "short_name": "AppName",
255
+ "start_url": "/",
256
+ "display": "standalone",
257
+ "background_color": "#ffffff",
258
+ "theme_color": "#YOUR_BRAND_COLOR",
259
+ "icons": [
260
+ { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
261
+ { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
262
+ ]
263
+ }
264
+ ```
265
+
266
+ ---
267
+
268
+ ## Touch & Interaction Rules (Always Apply)
269
+
270
+ See `references/touch-and-interaction.md` for the full ruleset. Core rules:
271
+
272
+ 1. **Minimum tap target: 44×44px** (Apple HIG / WCAG 2.5.8). Apply to every
273
+ interactive element — buttons, nav items, table row actions, icon buttons.
274
+
275
+ 2. **Remove all hover-only interactions.** Any feature that only appears on
276
+ `:hover` must have a tap/long-press equivalent or be made always-visible.
277
+ Common culprits: tooltip-on-hover, action buttons in table rows, dropdown menus.
278
+
279
+ 3. **Eliminate `cursor: pointer` as a signal.** Provide visible affordance instead.
280
+
281
+ 4. **Replace right-click context menus** with long-press menus or action sheets.
282
+
283
+ 5. **Scroll containers**: Add `-webkit-overflow-scrolling: touch` and ensure
284
+ `overscroll-behavior: contain` on nested scrollable areas.
285
+
286
+ ---
287
+
288
+ ## Anti-Patterns — Never Do These
289
+
290
+ These are the most common mistakes that produce a broken mobile experience:
291
+
292
+ | Anti-pattern | Why it's wrong | Correct approach |
293
+ |---|---|---|
294
+ | `display: none` on mobile content | Content still loads; UX is just broken | Restructure, collapse, or lazy-load |
295
+ | Scaling down font sizes on mobile | Text becomes unreadable | Use fluid type or keep same size |
296
+ | Keeping 6+ column tables on mobile | Horizontal scroll is a broken pattern | Transform to card list |
297
+ | Hover-only tooltips | Tooltips never show on touch devices | Always-visible labels or tap-to-reveal |
298
+ | Fixed pixel widths on containers | Layout breaks on narrow screens | Use `max-width` + `100%` |
299
+ | Desktop modals (large, centered) on mobile | 90% screen coverage, hard to dismiss | Transform to bottom sheet |
300
+ | Ignoring safe areas (notch / home bar) | Content hidden behind device UI | Use `env(safe-area-inset-*)` |
301
+ | `pointer-events: none` without touch alternative | Blocks touch entirely | Use conditional logic |
302
+ | Multiple horizontal scroll areas | Confusing UX, hard to distinguish | Stack vertically or paginate |
303
+ | Assuming mouse precision | Tiny click targets, no touch feedback | 44px min, add `:active` state |
304
+
305
+ ---
306
+
307
+ ## Testing Checklist
308
+
309
+ The agent must verify every item before declaring the work complete:
310
+
311
+ **Layout**
312
+ - [ ] No horizontal scroll on any page at 375px width (iPhone SE)
313
+ - [ ] No horizontal scroll at 414px (iPhone Pro Max)
314
+ - [ ] No horizontal scroll at 768px (iPad portrait)
315
+ - [ ] Content does not sit behind the bottom nav bar
316
+ - [ ] Content does not sit behind device notch or status bar
317
+
318
+ **Navigation**
319
+ - [ ] All primary nav destinations reachable from mobile bottom nav
320
+ - [ ] Drawer/hamburger opens and closes correctly
321
+ - [ ] Back navigation works on Android (browser back button)
322
+ - [ ] Active state visible on bottom nav
323
+
324
+ **Touch**
325
+ - [ ] All interactive elements are at least 44×44px
326
+ - [ ] No feature requires hover to access
327
+ - [ ] Tap feedback visible on all interactive elements (`:active` state)
328
+ - [ ] Scrollable areas scroll smoothly without fighting parent scroll
329
+
330
+ **Typography & Readability**
331
+ - [ ] Body text ≥ 16px (prevents iOS auto-zoom on form focus)
332
+ - [ ] Line length ≤ 75 characters on mobile
333
+ - [ ] No text overlaps or truncates unintentionally
334
+
335
+ **PWA**
336
+ - [ ] `viewport` meta tag present and correct
337
+ - [ ] `manifest.json` present and valid
338
+ - [ ] `theme-color` meta set to brand colour
339
+
340
+ ---
341
+
342
+ ## Reference Files
343
+
344
+ Read these when you need detail beyond what is in this file:
345
+
346
+ | File | When to read it |
347
+ |---|---|
348
+ | `references/transformation-catalogue.md` | Full patterns for every desktop primitive → mobile equivalent |
349
+ | `references/touch-and-interaction.md` | Complete touch rules, gesture hooks, scroll handling |
350
+ | `references/pwa-checklist.md` | Full PWA setup including service worker, icons, offline |
@@ -0,0 +1,226 @@
1
+ # PWA Checklist
2
+
3
+ Full Progressive Web App setup for a responsive web app that behaves like a
4
+ native app on iOS and Android — including "Add to Home Screen", splash screen,
5
+ status bar theming, and offline resilience.
6
+
7
+ ---
8
+
9
+ ## Minimum Viable PWA (Always Apply)
10
+
11
+ These are required for any mobile web app, even if full offline support isn't needed.
12
+
13
+ ### 1. Viewport Meta (in `<head>`)
14
+
15
+ ```html
16
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
17
+ ```
18
+
19
+ ### 2. Theme and App Meta Tags (in `<head>`)
20
+
21
+ ```html
22
+ <!-- Android Chrome theme colour (status bar, address bar) -->
23
+ <meta name="theme-color" content="#E10A0A" />
24
+
25
+ <!-- iOS: enable standalone mode (hides browser chrome) -->
26
+ <meta name="apple-mobile-web-app-capable" content="yes" />
27
+ <meta name="apple-mobile-web-app-status-bar-style" content="default" />
28
+ <!-- Options: default | black | black-translucent -->
29
+
30
+ <!-- iOS: app name on home screen -->
31
+ <meta name="apple-mobile-web-app-title" content="App Name" />
32
+
33
+ <!-- Android: enable standalone mode -->
34
+ <meta name="mobile-web-app-capable" content="yes" />
35
+
36
+ <!-- Manifest link -->
37
+ <link rel="manifest" href="/manifest.json" />
38
+ ```
39
+
40
+ ### 3. Web App Manifest (`/public/manifest.json`)
41
+
42
+ ```json
43
+ {
44
+ "name": "Appointment Assist",
45
+ "short_name": "Appt Assist",
46
+ "description": "Truck roll screening and dispatch intelligence",
47
+ "start_url": "/",
48
+ "scope": "/",
49
+ "display": "standalone",
50
+ "orientation": "any",
51
+ "background_color": "#F8F7F5",
52
+ "theme_color": "#E10A0A",
53
+ "icons": [
54
+ {
55
+ "src": "/icons/icon-192.png",
56
+ "sizes": "192x192",
57
+ "type": "image/png",
58
+ "purpose": "any maskable"
59
+ },
60
+ {
61
+ "src": "/icons/icon-512.png",
62
+ "sizes": "512x512",
63
+ "type": "image/png",
64
+ "purpose": "any maskable"
65
+ }
66
+ ]
67
+ }
68
+ ```
69
+
70
+ **`display` options**:
71
+ - `standalone` — hides browser URL bar, back button. Feels most native.
72
+ - `minimal-ui` — shows minimal browser UI (back button). Safer if navigation needs browser back.
73
+ - `browser` — normal browser tab. Defeats the purpose.
74
+
75
+ Use `standalone` for internal tools. Use `minimal-ui` if the app has complex
76
+ routing where users might need the browser back button as fallback.
77
+
78
+ ### 4. Icons
79
+
80
+ Minimum required icon sizes:
81
+ - 192×192 (Android home screen, Chrome)
82
+ - 512×512 (Android splash screen, PWA install prompt)
83
+
84
+ Recommended additional sizes for full coverage:
85
+ - 180×180 (iOS "apple-touch-icon")
86
+ - 32×32 (browser favicon)
87
+ - 16×16 (browser tab)
88
+
89
+ ```html
90
+ <!-- iOS home screen icon (place in <head>) -->
91
+ <link rel="apple-touch-icon" sizes="180x180" href="/icons/icon-180.png" />
92
+ <link rel="icon" type="image/png" sizes="32x32" href="/icons/icon-32.png" />
93
+ ```
94
+
95
+ Icons should use `"purpose": "maskable"` in the manifest so Android can apply
96
+ its adaptive icon mask (rounded square, circle, etc.) without clipping the design.
97
+ Ensure the icon's safe zone occupies the inner 80% of the canvas.
98
+
99
+ ---
100
+
101
+ ## Splash Screen
102
+
103
+ iOS generates a splash screen automatically if you provide correctly-sized
104
+ "apple-touch-startup-image" assets. The minimum approach is to let the browser
105
+ generate it from `background_color` + the app icon.
106
+
107
+ For a branded splash screen with precise control, provide device-specific images:
108
+
109
+ ```html
110
+ <!-- iPhone 14 Pro Max -->
111
+ <link rel="apple-touch-startup-image"
112
+ href="/splash/splash-1290x2796.png"
113
+ media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3)" />
114
+ <!-- Add entries for each target device size -->
115
+ ```
116
+
117
+ This is optional for internal tools. The auto-generated splash (colour + icon)
118
+ is acceptable and requires no additional work.
119
+
120
+ ---
121
+
122
+ ## Service Worker (Optional but Recommended)
123
+
124
+ A service worker enables offline resilience — the app loads even with no network,
125
+ and API failures degrade gracefully instead of showing a blank screen.
126
+
127
+ ### When to add a service worker
128
+
129
+ **Add it if**: The app is used in the field (engineers, field workers) where
130
+ mobile data connectivity may be unreliable.
131
+
132
+ **Skip it if**: The app is always used on a reliable network (office, VPN).
133
+
134
+ ### Minimal service worker (cache-first for static assets)
135
+
136
+ Register in your app entry point:
137
+
138
+ ```js
139
+ // main.js or index.js
140
+ if ('serviceWorker' in navigator) {
141
+ window.addEventListener('load', () => {
142
+ navigator.serviceWorker.register('/sw.js')
143
+ .catch(err => console.warn('SW registration failed:', err));
144
+ });
145
+ }
146
+ ```
147
+
148
+ ```js
149
+ // /public/sw.js — cache shell assets, network-first for API calls
150
+ const CACHE_NAME = 'app-shell-v1';
151
+ const SHELL_ASSETS = ['/', '/index.html', '/manifest.json'];
152
+
153
+ self.addEventListener('install', (e) => {
154
+ e.waitUntil(
155
+ caches.open(CACHE_NAME).then(cache => cache.addAll(SHELL_ASSETS))
156
+ );
157
+ });
158
+
159
+ self.addEventListener('fetch', (e) => {
160
+ const url = new URL(e.request.url);
161
+
162
+ // Network-first for API calls
163
+ if (url.pathname.startsWith('/api/')) {
164
+ e.respondWith(
165
+ fetch(e.request).catch(() => new Response('{"error":"offline"}',
166
+ { headers: { 'Content-Type': 'application/json' } }))
167
+ );
168
+ return;
169
+ }
170
+
171
+ // Cache-first for static assets
172
+ e.respondWith(
173
+ caches.match(e.request).then(cached => cached || fetch(e.request))
174
+ );
175
+ });
176
+ ```
177
+
178
+ ### Using a build tool plugin (recommended)
179
+
180
+ If the project uses Vite, use `vite-plugin-pwa`. If using Create React App / Webpack,
181
+ use `workbox-webpack-plugin`. These handle cache versioning, asset fingerprinting,
182
+ and update notifications automatically — do not write a service worker by hand
183
+ unless the project has no build tooling.
184
+
185
+ ```js
186
+ // vite.config.js
187
+ import { VitePWA } from 'vite-plugin-pwa'
188
+
189
+ export default {
190
+ plugins: [
191
+ VitePWA({
192
+ registerType: 'autoUpdate',
193
+ manifest: { /* same as manifest.json above */ }
194
+ })
195
+ ]
196
+ }
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Installability Checklist
202
+
203
+ For "Add to Home Screen" / install prompt to appear on Android Chrome, the app must:
204
+
205
+ - [ ] Be served over HTTPS (or localhost for dev)
206
+ - [ ] Have a valid `manifest.json` with `name`, `short_name`, `start_url`, `display: standalone`, `icons` (192 + 512)
207
+ - [ ] Have a registered service worker
208
+ - [ ] The service worker must have fetched and cached at least one resource
209
+
210
+ iOS Safari does not show an install prompt — users must manually use
211
+ "Share → Add to Home Screen". This is a platform limitation, not a fixable bug.
212
+
213
+ ---
214
+
215
+ ## Status Bar Colour on iOS
216
+
217
+ The `apple-mobile-web-app-status-bar-style` meta tag controls the iOS status bar:
218
+
219
+ | Value | Effect |
220
+ |---|---|
221
+ | `default` | White status bar background, dark text/icons |
222
+ | `black` | Black status bar background, white text/icons |
223
+ | `black-translucent` | Content renders behind status bar, status bar is transparent with white text. Requires `padding-top: env(safe-area-inset-top)` on your layout. |
224
+
225
+ For most apps, use `default` unless your app has a dark header where `black` looks better.
226
+ `black-translucent` gives the most immersive look but requires careful layout handling.