@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,135 @@
1
+ # Word Cloud — Shape Masking Reference
2
+
3
+ All shapes are defined as SVG paths normalized to a 200×200 viewBox.
4
+ Scale them to your canvas size using `transform="scale(W/200, H/200)"`.
5
+
6
+ ---
7
+
8
+ ## Circle (default)
9
+ ```svg
10
+ <circle cx="100" cy="100" r="95" />
11
+ ```
12
+
13
+ ## Speech Bubble
14
+ ```svg
15
+ <path d="M10,10 Q10,5 15,5 L185,5 Q190,5 190,10 L190,130 Q190,135 185,135 L120,135 L100,165 L80,135 L15,135 Q10,135 10,130 Z" />
16
+ ```
17
+
18
+ ## Star (5-point burst)
19
+ ```svg
20
+ <polygon points="100,5 120,68 185,68 133,107 153,170 100,130 47,170 67,107 15,68 80,68" />
21
+ ```
22
+
23
+ ## Diamond
24
+ ```svg
25
+ <polygon points="100,5 195,100 100,195 5,100" />
26
+ ```
27
+
28
+ ## Cloud Silhouette
29
+ ```svg
30
+ <path d="M30,140 Q5,140 5,115 Q5,95 20,90 Q15,75 30,65 Q40,50 60,55 Q65,35 85,30 Q105,20 125,35 Q140,20 160,30 Q180,35 185,55 Q200,55 200,75 Q200,95 185,100 Q195,110 195,125 Q195,145 175,148 Q165,160 150,155 Q140,165 125,160 Q115,170 100,165 Q85,170 75,160 Q60,165 50,155 Q35,160 30,148 Z" />
31
+ ```
32
+
33
+ ## Heart
34
+ ```svg
35
+ <path d="M100,175 L15,90 Q-10,60 20,35 Q50,10 80,40 L100,60 L120,40 Q150,10 180,35 Q210,60 185,90 Z" />
36
+ ```
37
+
38
+ ## Arrow (pointing right)
39
+ ```svg
40
+ <polygon points="5,70 110,70 110,40 195,100 110,160 110,130 5,130" />
41
+ ```
42
+
43
+ ## Hexagon
44
+ ```svg
45
+ <polygon points="100,5 185,50 185,150 100,195 15,150 15,50" />
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Applying Shapes in React (SVG clipPath)
51
+
52
+ ```tsx
53
+ const SHAPES: Record<string, string> = {
54
+ circle: 'M100,5 A95,95 0 1,1 99.9,5Z',
55
+ speech_bubble: 'M10,10 Q10,5 15,5 L185,5 Q190,5 190,10 L190,130 Q190,135 185,135 L120,135 L100,165 L80,135 L15,135 Q10,135 10,130 Z',
56
+ star: 'M100,5 L120,68 L185,68 L133,107 L153,170 L100,130 L47,170 L67,107 L15,68 L80,68 Z',
57
+ diamond: 'M100,5 L195,100 L100,195 L5,100 Z',
58
+ cloud: 'M30,140 Q5,140 5,115 Q5,95 20,90 ...',
59
+ heart: 'M100,175 L15,90 Q-10,60 20,35 Q50,10 80,40 L100,60 L120,40 Q150,10 180,35 Q210,60 185,90 Z',
60
+ };
61
+
62
+ // In your SVG:
63
+ <defs>
64
+ <clipPath id="wc-shape">
65
+ <path
66
+ d={SHAPES[shape]}
67
+ transform={`scale(${dims.width / 200}, ${dims.height / 200})`}
68
+ />
69
+ </clipPath>
70
+ </defs>
71
+ <g clipPath="url(#wc-shape)" transform={`translate(${dims.width/2},${dims.height/2})`}>
72
+ {/* word <text> elements */}
73
+ </g>
74
+ ```
75
+
76
+ ---
77
+
78
+ ## Applying Shapes in Python (wordcloud lib)
79
+
80
+ ```python
81
+ from PIL import Image, ImageDraw
82
+ import numpy as np
83
+
84
+ def create_shape_mask(shape: str, width: int, height: int) -> np.ndarray:
85
+ """Create a binary mask for the given shape name."""
86
+ img = Image.new('L', (width, height), 0) # black = blocked
87
+ draw = ImageDraw.Draw(img)
88
+
89
+ if shape == 'circle':
90
+ draw.ellipse([10, 10, width-10, height-10], fill=255)
91
+ elif shape == 'diamond':
92
+ cx, cy = width//2, height//2
93
+ draw.polygon([(cx, 10), (width-10, cy), (cx, height-10), (10, cy)], fill=255)
94
+ elif shape == 'star':
95
+ import math
96
+ cx, cy = width//2, height//2
97
+ points = []
98
+ for i in range(10):
99
+ r = min(cx,cy)*0.9 if i%2==0 else min(cx,cy)*0.4
100
+ a = math.radians(i*36 - 90)
101
+ points.append((cx + r*math.cos(a), cy + r*math.sin(a)))
102
+ draw.polygon(points, fill=255)
103
+ else:
104
+ # Default: full rectangle
105
+ draw.rectangle([0, 0, width, height], fill=255)
106
+
107
+ # wordcloud expects: white = word area, black = empty
108
+ arr = np.array(img)
109
+ # Invert: where white (255) → 0 (word area), where black (0) → 255 (no words)
110
+ return 255 - arr
111
+
112
+ # Usage:
113
+ mask = create_shape_mask('star', 900, 520)
114
+ wc = WordCloud(mask=mask, background_color=None, mode='RGBA').generate_from_frequencies(freqs)
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Custom SVG from User
120
+
121
+ If the user provides a custom SVG path:
122
+ 1. Parse the `<path d="...">` attribute
123
+ 2. In React: use directly in `<clipPath>`
124
+ 3. In Python: rasterize with `cairosvg` → PIL Image → numpy mask
125
+
126
+ ```python
127
+ import cairosvg
128
+ from io import BytesIO
129
+
130
+ def svg_path_to_mask(svg_path_d: str, width: int, height: int) -> np.ndarray:
131
+ svg = f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="{width}" height="{height}"><path d="{svg_path_d}" fill="white"/></svg>'
132
+ png = cairosvg.svg2png(bytestring=svg.encode())
133
+ img = Image.open(BytesIO(png)).convert('L')
134
+ return 255 - np.array(img)
135
+ ```
@@ -0,0 +1,115 @@
1
+ # Stopwords — Word Cloud Reference
2
+
3
+ Words that should be filtered out before computing frequencies.
4
+ This list covers common English stopwords plus common document/presentation filler words.
5
+
6
+ ## JavaScript Set
7
+
8
+ ```js
9
+ const STOPWORDS = new Set([
10
+ // Articles & prepositions
11
+ 'a','an','the','of','in','on','at','to','for','by','with','from','into',
12
+ 'through','during','before','after','above','below','between','out','off',
13
+ 'over','under','again','then','once','here','there','when','where','why',
14
+ 'how','all','both','each','few','more','most','other','some','such','no',
15
+ 'nor','not','only','own','same','so','than','too','very','just','because',
16
+ 'as','until','while','about','against','among','throughout','despite',
17
+ 'towards','upon','concerning','regarding',
18
+
19
+ // Conjunctions & pronouns
20
+ 'and','but','or','nor','if','unless','since','although','though',
21
+ 'however','therefore','thus','hence','whereas','meanwhile',
22
+ 'i','me','my','myself','we','our','ours','ourselves','you','your',
23
+ 'yours','yourself','he','him','his','himself','she','her','hers',
24
+ 'herself','it','its','itself','they','them','their','theirs',
25
+ 'themselves','what','which','who','whom','this','that','these','those',
26
+
27
+ // Common verbs (auxiliary + linking)
28
+ 'am','is','are','was','were','be','been','being',
29
+ 'have','has','had','having','do','does','did','doing',
30
+ 'will','would','could','should','shall','may','might','must','can',
31
+ 'need','dare','ought','used',
32
+
33
+ // Common adverbs & filler
34
+ 'also','already','always','never','often','sometimes','usually','still',
35
+ 'even','ever','now','then','soon','later','today','yesterday','tomorrow',
36
+ 'here','there','away','back','forward','up','down','well','much','many',
37
+ 'any','every','another','either','neither','whether','quite','rather',
38
+ 'almost','enough','yet','else','instead','perhaps','maybe','certainly',
39
+ 'simply','actually','really','truly','however','therefore','although',
40
+ 'though','despite','whereas','meanwhile','since','unless','until',
41
+
42
+ // Numbers (spelled out)
43
+ 'one','two','three','four','five','six','seven','eight','nine','ten',
44
+ 'first','second','third','fourth','fifth','last','next','previous',
45
+
46
+ // Business/presentation filler
47
+ 'slide','page','section','chapter','figure','table','example','note',
48
+ 'please','thank','thanks','dear','regards','sincerely','best',
49
+ 'company','companies','organization','team','teams','group','groups',
50
+ 'year','years','month','months','day','days','time','times','date',
51
+ 'etc','ie','eg','vs','per','new','old','said','says','see','get','got',
52
+ 'make','made','take','took','use','used','come','came','go','went',
53
+ 'know','knew','think','thought','want','wanted','need','needed',
54
+ 'feel','felt','look','looks','looking','put','puts','set','sets',
55
+ 'keep','kept','give','gave','given','show','shows','shown',
56
+ ]);
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Python Set
62
+
63
+ ```python
64
+ STOPWORDS_EN = {
65
+ # Articles & prepositions
66
+ 'a','an','the','of','in','on','at','to','for','by','with','from','into',
67
+ 'through','during','before','after','above','below','between','out','off',
68
+ 'over','under','again','then','once','here','there','when','where','why',
69
+ 'how','all','both','each','few','more','most','other','some','such','no',
70
+ 'nor','not','only','own','same','so','than','too','very','just','because',
71
+ 'as','until','while','about','against','among',
72
+ # Pronouns
73
+ 'i','me','my','we','our','you','your','he','him','his','she','her',
74
+ 'it','its','they','them','their','who','what','which','this','that',
75
+ 'these','those','myself','yourself','himself','herself','itself',
76
+ 'ourselves','themselves',
77
+ # Auxiliaries
78
+ 'am','is','are','was','were','be','been','being',
79
+ 'have','has','had','do','does','did','will','would','could','should',
80
+ 'shall','may','might','must','can','need','ought',
81
+ # Common filler
82
+ 'also','always','never','often','still','even','now','well','much',
83
+ 'many','any','every','another','quite','rather','almost','enough',
84
+ 'yet','else','perhaps','maybe','simply','actually','really','truly',
85
+ # Numbers
86
+ 'one','two','three','four','five','six','seven','eight','nine','ten',
87
+ 'first','second','third','fourth','fifth','last','next',
88
+ # Business filler
89
+ 'slide','page','section','chapter','figure','table','example','note',
90
+ 'please','thank','thanks','company','team','year','month','day','time',
91
+ 'etc','new','old','said','see','get','make','take','use','come','go',
92
+ 'know','think','want','need','feel','look','put','set','keep','give','show',
93
+ }
94
+
95
+ # Combine with wordcloud's built-in stopwords:
96
+ from wordcloud import STOPWORDS as WC_STOPS
97
+ ALL_STOPS = STOPWORDS_EN | WC_STOPS
98
+ ```
99
+
100
+ ---
101
+
102
+ ## Custom Domain Stopwords
103
+
104
+ For specific document types, extend with domain words:
105
+
106
+ ```js
107
+ // Legal documents
108
+ const LEGAL_STOPS = new Set(['shall','herein','thereof','pursuant','whereas','hereby']);
109
+
110
+ // Financial reports
111
+ const FINANCE_STOPS = new Set(['quarter','fiscal','annual','report','million','billion','percent']);
112
+
113
+ // Technical docs
114
+ const TECH_STOPS = new Set(['click','select','navigate','following','below','above','shown']);
115
+ ```
@@ -0,0 +1,416 @@
1
+ ---
2
+ name: youtube-transcript
3
+ context: fork
4
+ description: Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube. Also use when user wants to transcribe or get captions/subtitles from a YouTube video.
5
+ allowed-tools: Bash,Read,Write
6
+ ---
7
+
8
+ # YouTube Transcript Downloader
9
+
10
+ This skill helps download transcripts (subtitles/captions) from YouTube videos using yt-dlp.
11
+
12
+ ## When to Use This Skill
13
+
14
+ Activate this skill when the user:
15
+ - Provides a YouTube URL and wants the transcript
16
+ - Asks to "download transcript from YouTube"
17
+ - Wants to "get captions" or "get subtitles" from a video
18
+ - Asks to "transcribe a YouTube video"
19
+ - Needs text content from a YouTube video
20
+
21
+ ## How It Works
22
+
23
+ ### Priority Order:
24
+ 1. **Check if yt-dlp is installed** - install if needed
25
+ 2. **List available subtitles** - see what's actually available
26
+ 3. **Try manual subtitles first** (`--write-sub`) - highest quality
27
+ 4. **Fallback to auto-generated** (`--write-auto-sub`) - usually available
28
+ 5. **Last resort: Whisper transcription** - if no subtitles exist (requires user confirmation)
29
+ 6. **Confirm the download** and show the user where the file is saved
30
+ 7. **Optionally clean up** the VTT format if the user wants plain text
31
+
32
+ ## Installation Check
33
+
34
+ **IMPORTANT**: Always check if yt-dlp is installed first:
35
+
36
+ ```bash
37
+ which yt-dlp || command -v yt-dlp
38
+ ```
39
+
40
+ ### If Not Installed
41
+
42
+ Attempt automatic installation based on the system:
43
+
44
+ **macOS (Homebrew)**:
45
+ ```bash
46
+ brew install yt-dlp
47
+ ```
48
+
49
+ **Linux (apt/Debian/Ubuntu)**:
50
+ ```bash
51
+ sudo apt update && sudo apt install -y yt-dlp
52
+ ```
53
+
54
+ **Alternative (pip - works on all systems)**:
55
+ ```bash
56
+ pip3 install yt-dlp
57
+ # or
58
+ python3 -m pip install yt-dlp
59
+ ```
60
+
61
+ **If installation fails**: Inform the user they need to install yt-dlp manually and provide them with installation instructions from https://github.com/yt-dlp/yt-dlp#installation
62
+
63
+ ## Check Available Subtitles
64
+
65
+ **ALWAYS do this first** before attempting to download:
66
+
67
+ ```bash
68
+ yt-dlp --list-subs "YOUTUBE_URL"
69
+ ```
70
+
71
+ This shows what subtitle types are available without downloading anything. Look for:
72
+ - Manual subtitles (better quality)
73
+ - Auto-generated subtitles (usually available)
74
+ - Available languages
75
+
76
+ ## Download Strategy
77
+
78
+ ### Option 1: Manual Subtitles (Preferred)
79
+
80
+ Try this first - highest quality, human-created:
81
+
82
+ ```bash
83
+ yt-dlp --write-sub --skip-download --output "OUTPUT_NAME" "YOUTUBE_URL"
84
+ ```
85
+
86
+ ### Option 2: Auto-Generated Subtitles (Fallback)
87
+
88
+ If manual subtitles aren't available:
89
+
90
+ ```bash
91
+ yt-dlp --write-auto-sub --skip-download --output "OUTPUT_NAME" "YOUTUBE_URL"
92
+ ```
93
+
94
+ Both commands create a `.vtt` file (WebVTT subtitle format).
95
+
96
+ ## Option 3: Whisper Transcription (Last Resort)
97
+
98
+ **ONLY use this if both manual and auto-generated subtitles are unavailable.**
99
+
100
+ ### Step 1: Show File Size and Ask for Confirmation
101
+
102
+ ```bash
103
+ # Get audio file size estimate
104
+ yt-dlp --print "%(filesize,filesize_approx)s" -f "bestaudio" "YOUTUBE_URL"
105
+
106
+ # Or get duration to estimate
107
+ yt-dlp --print "%(duration)s %(title)s" "YOUTUBE_URL"
108
+ ```
109
+
110
+ **IMPORTANT**: Display the file size to the user and ask: "No subtitles are available. I can download the audio (approximately X MB) and transcribe it using Whisper. Would you like to proceed?"
111
+
112
+ **Wait for user confirmation before continuing.**
113
+
114
+ ### Step 2: Check for Whisper Installation
115
+
116
+ ```bash
117
+ command -v whisper
118
+ ```
119
+
120
+ If not installed, ask user: "Whisper is not installed. Install it with `pip install openai-whisper` (requires ~1-3GB for models)? This is a one-time installation."
121
+
122
+ **Wait for user confirmation before installing.**
123
+
124
+ Install if approved:
125
+ ```bash
126
+ pip3 install openai-whisper
127
+ ```
128
+
129
+ ### Step 3: Download Audio Only
130
+
131
+ ```bash
132
+ yt-dlp -x --audio-format mp3 --output "audio_%(id)s.%(ext)s" "YOUTUBE_URL"
133
+ ```
134
+
135
+ ### Step 4: Transcribe with Whisper
136
+
137
+ ```bash
138
+ # Auto-detect language (recommended)
139
+ whisper audio_VIDEO_ID.mp3 --model base --output_format vtt
140
+
141
+ # Or specify language if known
142
+ whisper audio_VIDEO_ID.mp3 --model base --language en --output_format vtt
143
+ ```
144
+
145
+ **Model Options** (stick to `base` for now):
146
+ - `tiny` - fastest, least accurate (~1GB)
147
+ - `base` - good balance (~1GB) ← **USE THIS**
148
+ - `small` - better accuracy (~2GB)
149
+ - `medium` - very good (~5GB)
150
+ - `large` - best accuracy (~10GB)
151
+
152
+ ### Step 5: Cleanup
153
+
154
+ After transcription completes, ask user: "Transcription complete! Would you like me to delete the audio file to save space?"
155
+
156
+ If yes:
157
+ ```bash
158
+ rm audio_VIDEO_ID.mp3
159
+ ```
160
+
161
+ ## Getting Video Information
162
+
163
+ ### Extract Video Title (for filename)
164
+
165
+ ```bash
166
+ yt-dlp --print "%(title)s" "YOUTUBE_URL"
167
+ ```
168
+
169
+ Use this to create meaningful filenames based on the video title. Clean the title for filesystem compatibility:
170
+ - Replace `/` with `-`
171
+ - Replace special characters that might cause issues
172
+ - Consider using sanitized version: `$(yt-dlp --print "%(title)s" "URL" | tr '/' '-' | tr ':' '-')`
173
+
174
+ ## Post-Processing
175
+
176
+ ### Convert to Plain Text (Recommended)
177
+
178
+ YouTube's auto-generated VTT files contain **duplicate lines** because captions are shown progressively with overlapping timestamps. Always deduplicate when converting to plain text while preserving the original speaking order.
179
+
180
+ ```bash
181
+ python3 -c "
182
+ import sys, re
183
+ seen = set()
184
+ with open('transcript.en.vtt', 'r') as f:
185
+ for line in f:
186
+ line = line.strip()
187
+ if line and not line.startswith('WEBVTT') and not line.startswith('Kind:') and not line.startswith('Language:') and '-->' not in line:
188
+ clean = re.sub('<[^>]*>', '', line)
189
+ clean = clean.replace('&amp;', '&').replace('&gt;', '>').replace('&lt;', '<')
190
+ if clean and clean not in seen:
191
+ print(clean)
192
+ seen.add(clean)
193
+ " > transcript.txt
194
+ ```
195
+
196
+ ### Complete Post-Processing with Video Title
197
+
198
+ ```bash
199
+ # Get video title
200
+ VIDEO_TITLE=$(yt-dlp --print "%(title)s" "YOUTUBE_URL" | tr '/' '_' | tr ':' '-' | tr '?' '' | tr '"' '')
201
+
202
+ # Find the VTT file
203
+ VTT_FILE=$(ls *.vtt | head -n 1)
204
+
205
+ # Convert with deduplication
206
+ python3 -c "
207
+ import sys, re
208
+ seen = set()
209
+ with open('$VTT_FILE', 'r') as f:
210
+ for line in f:
211
+ line = line.strip()
212
+ if line and not line.startswith('WEBVTT') and not line.startswith('Kind:') and not line.startswith('Language:') and '-->' not in line:
213
+ clean = re.sub('<[^>]*>', '', line)
214
+ clean = clean.replace('&amp;', '&').replace('&gt;', '>').replace('&lt;', '<')
215
+ if clean and clean not in seen:
216
+ print(clean)
217
+ seen.add(clean)
218
+ " > "${VIDEO_TITLE}.txt"
219
+
220
+ echo "✓ Saved to: ${VIDEO_TITLE}.txt"
221
+
222
+ # Clean up VTT file
223
+ rm "$VTT_FILE"
224
+ echo "✓ Cleaned up temporary VTT file"
225
+ ```
226
+
227
+ ## Output Formats
228
+
229
+ - **VTT format** (`.vtt`): Includes timestamps and formatting, good for video players
230
+ - **Plain text** (`.txt`): Just the text content, good for reading or analysis
231
+
232
+ ## Tips
233
+
234
+ - The filename will be `{output_name}.{language_code}.vtt` (e.g., `transcript.en.vtt`)
235
+ - Most YouTube videos have auto-generated English subtitles
236
+ - Some videos may have multiple language options
237
+ - If auto-subtitles aren't available, try `--write-sub` instead for manual subtitles
238
+
239
+ ## Complete Workflow Example
240
+
241
+ ```bash
242
+ VIDEO_URL="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
243
+
244
+ # Get video title for filename
245
+ VIDEO_TITLE=$(yt-dlp --print "%(title)s" "$VIDEO_URL" | tr '/' '_' | tr ':' '-' | tr '?' '' | tr '"' '')
246
+ OUTPUT_NAME="transcript_temp"
247
+
248
+ # ============================================
249
+ # STEP 1: Check if yt-dlp is installed
250
+ # ============================================
251
+ if ! command -v yt-dlp &> /dev/null; then
252
+ echo "yt-dlp not found, attempting to install..."
253
+ if command -v brew &> /dev/null; then
254
+ brew install yt-dlp
255
+ elif command -v apt &> /dev/null; then
256
+ sudo apt update && sudo apt install -y yt-dlp
257
+ else
258
+ pip3 install yt-dlp
259
+ fi
260
+ fi
261
+
262
+ # ============================================
263
+ # STEP 2: List available subtitles
264
+ # ============================================
265
+ echo "Checking available subtitles..."
266
+ yt-dlp --list-subs "$VIDEO_URL"
267
+
268
+ # ============================================
269
+ # STEP 3: Try manual subtitles first
270
+ # ============================================
271
+ echo "Attempting to download manual subtitles..."
272
+ if yt-dlp --write-sub --skip-download --output "$OUTPUT_NAME" "$VIDEO_URL" 2>/dev/null; then
273
+ echo "✓ Manual subtitles downloaded successfully!"
274
+ ls -lh ${OUTPUT_NAME}.*
275
+ else
276
+ # ============================================
277
+ # STEP 4: Fallback to auto-generated
278
+ # ============================================
279
+ echo "Manual subtitles not available. Trying auto-generated..."
280
+ if yt-dlp --write-auto-sub --skip-download --output "$OUTPUT_NAME" "$VIDEO_URL" 2>/dev/null; then
281
+ echo "✓ Auto-generated subtitles downloaded successfully!"
282
+ ls -lh ${OUTPUT_NAME}.*
283
+ else
284
+ # ============================================
285
+ # STEP 5: Last resort - Whisper transcription
286
+ # ============================================
287
+ echo "⚠ No subtitles available for this video."
288
+
289
+ # Get file size
290
+ FILE_SIZE=$(yt-dlp --print "%(filesize_approx)s" -f "bestaudio" "$VIDEO_URL")
291
+ DURATION=$(yt-dlp --print "%(duration)s" "$VIDEO_URL")
292
+ TITLE=$(yt-dlp --print "%(title)s" "$VIDEO_URL")
293
+
294
+ echo "Video: $TITLE"
295
+ echo "Duration: $((DURATION / 60)) minutes"
296
+ echo "Audio size: ~$((FILE_SIZE / 1024 / 1024)) MB"
297
+ echo ""
298
+ echo "Would you like to download and transcribe with Whisper? (y/n)"
299
+ read -r RESPONSE
300
+
301
+ if [[ "$RESPONSE" =~ ^[Yy]$ ]]; then
302
+ # Check for Whisper
303
+ if ! command -v whisper &> /dev/null; then
304
+ echo "Whisper not installed. Install now? (requires ~1-3GB) (y/n)"
305
+ read -r INSTALL_RESPONSE
306
+ if [[ "$INSTALL_RESPONSE" =~ ^[Yy]$ ]]; then
307
+ pip3 install openai-whisper
308
+ else
309
+ echo "Cannot proceed without Whisper. Exiting."
310
+ exit 1
311
+ fi
312
+ fi
313
+
314
+ # Download audio
315
+ echo "Downloading audio..."
316
+ yt-dlp -x --audio-format mp3 --output "audio_%(id)s.%(ext)s" "$VIDEO_URL"
317
+
318
+ # Get the actual audio filename
319
+ AUDIO_FILE=$(ls audio_*.mp3 | head -n 1)
320
+
321
+ # Transcribe
322
+ echo "Transcribing with Whisper (this may take a few minutes)..."
323
+ whisper "$AUDIO_FILE" --model base --output_format vtt
324
+
325
+ # Cleanup
326
+ echo "Transcription complete! Delete audio file? (y/n)"
327
+ read -r CLEANUP_RESPONSE
328
+ if [[ "$CLEANUP_RESPONSE" =~ ^[Yy]$ ]]; then
329
+ rm "$AUDIO_FILE"
330
+ echo "Audio file deleted."
331
+ fi
332
+
333
+ ls -lh *.vtt
334
+ else
335
+ echo "Transcription cancelled."
336
+ exit 0
337
+ fi
338
+ fi
339
+ fi
340
+
341
+ # ============================================
342
+ # STEP 6: Convert to readable plain text with deduplication
343
+ # ============================================
344
+ VTT_FILE=$(ls ${OUTPUT_NAME}*.vtt 2>/dev/null || ls *.vtt | head -n 1)
345
+ if [ -f "$VTT_FILE" ]; then
346
+ echo "Converting to readable format and removing duplicates..."
347
+ python3 -c "
348
+ import sys, re
349
+ seen = set()
350
+ with open('$VTT_FILE', 'r') as f:
351
+ for line in f:
352
+ line = line.strip()
353
+ if line and not line.startswith('WEBVTT') and not line.startswith('Kind:') and not line.startswith('Language:') and '-->' not in line:
354
+ clean = re.sub('<[^>]*>', '', line)
355
+ clean = clean.replace('&amp;', '&').replace('&gt;', '>').replace('&lt;', '<')
356
+ if clean and clean not in seen:
357
+ print(clean)
358
+ seen.add(clean)
359
+ " > "${VIDEO_TITLE}.txt"
360
+ echo "✓ Saved to: ${VIDEO_TITLE}.txt"
361
+
362
+ # Clean up temporary VTT file
363
+ rm "$VTT_FILE"
364
+ echo "✓ Cleaned up temporary VTT file"
365
+ else
366
+ echo "⚠ No VTT file found to convert"
367
+ fi
368
+
369
+ echo "✓ Complete!"
370
+ ```
371
+
372
+ **Note**: This complete workflow handles all scenarios with proper error checking and user prompts at each decision point.
373
+
374
+ ## Error Handling
375
+
376
+ ### Common Issues and Solutions:
377
+
378
+ **1. yt-dlp not installed**
379
+ - Attempt automatic installation based on system (Homebrew/apt/pip)
380
+ - If installation fails, provide manual installation link
381
+ - Verify installation before proceeding
382
+
383
+ **2. No subtitles available**
384
+ - List available subtitles first to confirm
385
+ - Try both `--write-sub` and `--write-auto-sub`
386
+ - If both fail, offer Whisper transcription option
387
+ - Show file size and ask for user confirmation before downloading audio
388
+
389
+ **3. Invalid or private video**
390
+ - Check if URL is correct format: `https://www.youtube.com/watch?v=VIDEO_ID`
391
+ - Some videos may be private, age-restricted, or geo-blocked
392
+ - Inform user of the specific error from yt-dlp
393
+
394
+ **4. Whisper installation fails**
395
+ - May require system dependencies (ffmpeg, rust)
396
+ - Provide fallback: "Install manually with: `pip3 install openai-whisper`"
397
+ - Check available disk space (models require 1-10GB depending on size)
398
+
399
+ **5. Download interrupted or failed**
400
+ - Check internet connection
401
+ - Verify sufficient disk space
402
+ - Try again with `--no-check-certificate` if SSL issues occur
403
+
404
+ **6. Multiple subtitle languages**
405
+ - By default, yt-dlp downloads all available languages
406
+ - Can specify with `--sub-langs en` for English only
407
+ - List available with `--list-subs` first
408
+
409
+ ### Best Practices:
410
+
411
+ - ✅ Always check what's available before attempting download (`--list-subs`)
412
+ - ✅ Verify success at each step before proceeding to next
413
+ - ✅ Ask user before large downloads (audio files, Whisper models)
414
+ - ✅ Clean up temporary files after processing
415
+ - ✅ Provide clear feedback about what's happening at each stage
416
+ - ✅ Handle errors gracefully with helpful messages
@@ -0,0 +1,7 @@
1
+ {
2
+ "poolVersion": "1.3.39",
3
+ "bundles": {
4
+ "antigravity-plugin": "1.3.39",
5
+ "antigravity-plugin-extras": "1.3.13"
6
+ }
7
+ }