@caddis/cli 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/bundles/antigravity-plugin/agents/knowledge-transfer.md +17 -32
  2. package/bundles/antigravity-plugin/caddis_statusline.py +25 -3
  3. package/bundles/antigravity-plugin/guard_agy.py +41 -9
  4. package/bundles/antigravity-plugin/plugin.json +1 -1
  5. package/bundles/antigravity-plugin/scripts/caddis_inventory.py +73 -3
  6. package/bundles/antigravity-plugin/scripts/caddis_statusline.py +25 -3
  7. package/bundles/antigravity-plugin/scripts/check_doc_coverage.py +1 -1
  8. package/bundles/antigravity-plugin/scripts/claudster_config.py +0 -5
  9. package/bundles/antigravity-plugin/scripts/hook_log.py +1 -1
  10. package/bundles/antigravity-plugin/scripts/new-machine.ps1 +170 -0
  11. package/bundles/antigravity-plugin/scripts/oss_ask.py +1 -1
  12. package/bundles/antigravity-plugin/scripts/oss_model.py +10 -2
  13. package/bundles/antigravity-plugin/scripts/oss_review.py +1 -1
  14. package/bundles/antigravity-plugin/scripts/setup_project_ai.py +42 -10
  15. package/bundles/antigravity-plugin/session_end_agy.py +31 -6
  16. package/bundles/antigravity-plugin/skills/_registry.md +1 -0
  17. package/bundles/antigravity-plugin/skills/advisory-hub/SKILL.md +44 -0
  18. package/bundles/antigravity-plugin/skills/code-review/SKILL.md +11 -0
  19. package/bundles/antigravity-plugin/skills/feature-plan/SKILL.md +21 -0
  20. package/bundles/antigravity-plugin/skills/gate-review/SKILL.md +11 -0
  21. package/bundles/antigravity-plugin/skills/implement/SKILL.md +36 -0
  22. package/bundles/antigravity-plugin/skills/safe-cleanup/SKILL.md +186 -0
  23. package/bundles/antigravity-plugin/skills/security-review/SKILL.md +9 -0
  24. package/bundles/antigravity-plugin/skills/validate-phase/SKILL.md +31 -0
  25. package/bundles/antigravity-plugin/warm_start_agy.py +96 -9
  26. package/bundles/antigravity-plugin-extras/plugin.json +1 -1
  27. package/bundles/antigravity-plugin-extras/skills/_registry.md +1 -0
  28. package/bundles/antigravity-plugin-extras/skills/safe-cleanup/SKILL.md +186 -0
  29. package/bundles/codex/.codex/config.toml.example +36 -0
  30. package/bundles/codex/.codex/skills/coding/api-design/SKILL.md +249 -0
  31. package/bundles/codex/.codex/skills/coding/backend-development/SKILL.md +305 -0
  32. package/bundles/codex/.codex/skills/coding/code-review/SKILL.md +140 -0
  33. package/bundles/codex/.codex/skills/coding/codebase-audit/SKILL.md +204 -0
  34. package/bundles/codex/.codex/skills/coding/dashboard-perf-sweep/SKILL.md +132 -0
  35. package/bundles/codex/.codex/skills/coding/dashboard-perf-sweep/scripts/perf_sweep.py +249 -0
  36. package/bundles/codex/.codex/skills/coding/error-handling/SKILL.md +260 -0
  37. package/bundles/codex/.codex/skills/coding/fastapi-dev/SKILL.md +300 -0
  38. package/bundles/codex/.codex/skills/coding/javascript-typescript/SKILL.md +142 -0
  39. package/bundles/codex/.codex/skills/coding/python/SKILL.md +388 -0
  40. package/bundles/codex/.codex/skills/coding/refactoring/SKILL.md +486 -0
  41. package/bundles/codex/.codex/skills/coding/security-review/SKILL.md +205 -0
  42. package/bundles/codex/.codex/skills/coding/sql/SKILL.md +321 -0
  43. package/bundles/codex/.codex/skills/data/database-design/SKILL.md +177 -0
  44. package/bundles/codex/.codex/skills/data/db-diagram/SKILL.md +148 -0
  45. package/bundles/codex/.codex/skills/data/db-diagram/scripts/sql_to_graph.py +1212 -0
  46. package/bundles/codex/.codex/skills/devops/ci-cd-pipeline/SKILL.md +315 -0
  47. package/bundles/codex/.codex/skills/devops/gh-cli/SKILL.md +195 -0
  48. package/bundles/codex/.codex/skills/devops/git-commit/SKILL.md +285 -0
  49. package/bundles/codex/.codex/skills/devops/safe-cleanup/SKILL.md +186 -0
  50. package/bundles/codex/.codex/skills/devops/using-git-worktrees/SKILL.md +217 -0
  51. package/bundles/codex/.codex/skills/devops/windows-deployment/SKILL.md +880 -0
  52. package/bundles/codex/.codex/skills/docs/code-documentation/SKILL.md +271 -0
  53. package/bundles/codex/.codex/skills/docs/explainer-doc/SKILL.md +97 -0
  54. package/bundles/codex/.codex/skills/docs/technical-writing/SKILL.md +286 -0
  55. package/bundles/codex/.codex/skills/docs/writing-plans/SKILL.md +387 -0
  56. package/bundles/codex/.codex/skills/frontend/css-architecture/SKILL.md +305 -0
  57. package/bundles/codex/.codex/skills/frontend/css-architecture/references/RESPONSIVE-DESIGN.md +604 -0
  58. package/bundles/codex/.codex/skills/frontend/frontend-design/SKILL.md +193 -0
  59. package/bundles/codex/.codex/skills/frontend/frontend-design/references/my-tech-stack.md +127 -0
  60. package/bundles/codex/.codex/skills/frontend/mockup/SKILL.md +242 -0
  61. package/bundles/codex/.codex/skills/frontend/react-best-practices/SKILL.md +269 -0
  62. package/bundles/codex/.codex/skills/frontend/react-dev/README.md +404 -0
  63. package/bundles/codex/.codex/skills/frontend/react-dev/SKILL.md +459 -0
  64. package/bundles/codex/.codex/skills/frontend/react-dev/examples/generic-components.md +579 -0
  65. package/bundles/codex/.codex/skills/frontend/react-dev/examples/server-components.md +579 -0
  66. package/bundles/codex/.codex/skills/frontend/react-dev/references/event-handlers.md +574 -0
  67. package/bundles/codex/.codex/skills/frontend/react-dev/references/hooks.md +456 -0
  68. package/bundles/codex/.codex/skills/frontend/react-dev/references/react-19-patterns.md +638 -0
  69. package/bundles/codex/.codex/skills/frontend/react-dev/references/react-router.md +1002 -0
  70. package/bundles/codex/.codex/skills/frontend/react-dev/references/tanstack-router.md +587 -0
  71. package/bundles/codex/.codex/skills/frontend/ui-review/SKILL.md +176 -0
  72. package/bundles/codex/.codex/skills/frontend/ui-review/references/framework-fixes.md +471 -0
  73. package/bundles/codex/.codex/skills/frontend/ui-review/references/visual-checklist.md +236 -0
  74. package/bundles/codex/.codex/skills/frontend/warm-editorial-ui/DESIGN_TOKENS.md +487 -0
  75. package/bundles/codex/.codex/skills/frontend/warm-editorial-ui/IMPLEMENTATION_GUIDE.md +177 -0
  76. package/bundles/codex/.codex/skills/frontend/warm-editorial-ui/SKILL.md +732 -0
  77. package/bundles/codex/.codex/skills/media/draw-io/SKILL.md +162 -0
  78. package/bundles/codex/.codex/skills/media/draw-io/references/aws-icons.md +677 -0
  79. package/bundles/codex/.codex/skills/media/draw-io/references/layout-guidelines.md +142 -0
  80. package/bundles/codex/.codex/skills/media/draw-io/references/troubleshooting.md +118 -0
  81. package/bundles/codex/.codex/skills/media/draw-io/references/workflows.md +103 -0
  82. package/bundles/codex/.codex/skills/media/draw-io/scripts/convert-drawio-to-png.sh +25 -0
  83. package/bundles/codex/.codex/skills/media/draw-io/scripts/find_aws_icon.py +79 -0
  84. package/bundles/codex/.codex/skills/media/mermaid-diagrams/SKILL.md +292 -0
  85. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/ENHANCEMENTS.md +264 -0
  86. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/MERMAID-SUMMARY.md +137 -0
  87. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/advanced-features.md +556 -0
  88. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/architecture-diagrams.md +192 -0
  89. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/c4-diagrams.md +410 -0
  90. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/class-diagrams.md +361 -0
  91. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/erd-diagrams.md +510 -0
  92. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/flowcharts.md +450 -0
  93. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/sequence-diagrams.md +394 -0
  94. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/troubleshooting.md +335 -0
  95. package/bundles/codex/.codex/skills/media/mermaid-diagrams/references/workflows.md +418 -0
  96. package/bundles/codex/.codex/skills/media/particle-art/SKILL.md +243 -0
  97. package/bundles/codex/.codex/skills/media/particle-art/references/canvas-utils.ts +171 -0
  98. package/bundles/codex/.codex/skills/media/particle-art/references/dot-field.template.tsx +203 -0
  99. package/bundles/codex/.codex/skills/media/particle-art/references/flow-field.template.tsx +263 -0
  100. package/bundles/codex/.codex/skills/media/particle-art/references/node-shape.template.tsx +261 -0
  101. package/bundles/codex/.codex/skills/media/particle-art/references/shape-sampler.ts +281 -0
  102. package/bundles/codex/.codex/skills/media/particle-art/references/stipple-morph.template.tsx +167 -0
  103. package/bundles/codex/.codex/skills/media/particle-art/references/stipple.template.tsx +175 -0
  104. package/bundles/codex/.codex/skills/media/particle-art/references/trail-ghost.template.tsx +266 -0
  105. package/bundles/codex/.codex/skills/media/particle-art/references/usage-examples.md +320 -0
  106. package/bundles/codex/.codex/skills/testing/playwright/API_REFERENCE.md +653 -0
  107. package/bundles/codex/.codex/skills/testing/playwright/SKILL.md +454 -0
  108. package/bundles/codex/.codex/skills/testing/playwright/lib/helpers.js +441 -0
  109. package/bundles/codex/.codex/skills/testing/playwright/package.json +26 -0
  110. package/bundles/codex/.codex/skills/testing/playwright/run.js +228 -0
  111. package/bundles/codex/.codex/skills/testing/tdd-workflow/SKILL.md +188 -0
  112. package/bundles/codex/.codex/skills/testing/test-strategy/SKILL.md +155 -0
  113. package/bundles/codex/.codex/skills/testing/webapp-testing/LICENSE.txt +202 -0
  114. package/bundles/codex/.codex/skills/testing/webapp-testing/SKILL.md +97 -0
  115. package/bundles/codex/.codex/skills/testing/webapp-testing/examples/console_logging.py +35 -0
  116. package/bundles/codex/.codex/skills/testing/webapp-testing/examples/element_discovery.py +40 -0
  117. package/bundles/codex/.codex/skills/testing/webapp-testing/examples/static_html_automation.py +33 -0
  118. package/bundles/codex/.codex/skills/testing/webapp-testing/scripts/with_server.py +106 -0
  119. package/bundles/codex/.codex/skills/workflow/advisory-hub/SKILL.md +227 -0
  120. package/bundles/codex/.codex/skills/workflow/advisory-hub/reference/context-template.md +214 -0
  121. package/bundles/codex/.codex/skills/workflow/advisory-hub/reference/hub-handbook.md +233 -0
  122. package/bundles/codex/.codex/skills/workflow/advisory-hub/reference/report-contract.md +94 -0
  123. package/bundles/codex/.codex/skills/workflow/advisory-hub/reference/succession.md +118 -0
  124. package/bundles/codex/.codex/skills/workflow/best-practices/SKILL.md +500 -0
  125. package/bundles/codex/.codex/skills/workflow/best-practices/agents/best-practices-referencer.md +263 -0
  126. package/bundles/codex/.codex/skills/workflow/best-practices/agents/codebase-context-builder.md +326 -0
  127. package/bundles/codex/.codex/skills/workflow/best-practices/agents/task-intent-analyzer.md +245 -0
  128. package/bundles/codex/.codex/skills/workflow/best-practices/references/anti-patterns.md +571 -0
  129. package/bundles/codex/.codex/skills/workflow/best-practices/references/before-after-examples.md +1114 -0
  130. package/bundles/codex/.codex/skills/workflow/best-practices/references/best-practices-guide.md +513 -0
  131. package/bundles/codex/.codex/skills/workflow/best-practices/references/common-workflows.md +692 -0
  132. package/bundles/codex/.codex/skills/workflow/best-practices/references/prompt-patterns.md +547 -0
  133. package/bundles/codex/.codex/skills/workflow/brainstorming/SKILL.md +57 -0
  134. package/bundles/codex/.codex/skills/workflow/context-curator/SKILL.md +157 -0
  135. package/bundles/codex/.codex/skills/workflow/golden-plan/SKILL.md +586 -0
  136. package/bundles/codex/.codex/skills/workflow/preflight/SKILL.md +440 -0
  137. package/bundles/codex/.codex/skills/workflow/skill-creator/LICENSE.txt +202 -0
  138. package/bundles/codex/.codex/skills/workflow/skill-creator/SKILL.md +491 -0
  139. package/bundles/codex/.codex/skills/workflow/skill-creator/agents/analyzer.md +274 -0
  140. package/bundles/codex/.codex/skills/workflow/skill-creator/agents/comparator.md +202 -0
  141. package/bundles/codex/.codex/skills/workflow/skill-creator/agents/grader.md +223 -0
  142. package/bundles/codex/.codex/skills/workflow/skill-creator/assets/eval_review.html +146 -0
  143. package/bundles/codex/.codex/skills/workflow/skill-creator/eval-viewer/generate_review.py +471 -0
  144. package/bundles/codex/.codex/skills/workflow/skill-creator/eval-viewer/viewer.html +1325 -0
  145. package/bundles/codex/.codex/skills/workflow/skill-creator/references/schemas.md +430 -0
  146. package/bundles/codex/.codex/skills/workflow/skill-creator/scripts/__init__.py +0 -0
  147. package/bundles/codex/.codex/skills/workflow/skill-creator/scripts/aggregate_benchmark.py +401 -0
  148. package/bundles/codex/.codex/skills/workflow/skill-creator/scripts/generate_report.py +326 -0
  149. package/bundles/codex/.codex/skills/workflow/skill-creator/scripts/improve_description.py +247 -0
  150. package/bundles/codex/.codex/skills/workflow/skill-creator/scripts/package_skill.py +136 -0
  151. package/bundles/codex/.codex/skills/workflow/skill-creator/scripts/quick_validate.py +103 -0
  152. package/bundles/codex/.codex/skills/workflow/skill-creator/scripts/run_eval.py +310 -0
  153. package/bundles/codex/.codex/skills/workflow/skill-creator/scripts/run_loop.py +328 -0
  154. package/bundles/codex/.codex/skills/workflow/skill-creator/scripts/utils.py +47 -0
  155. package/bundles/codex/AGENTS.md +146 -0
  156. package/bundles/manifest.json +4 -3
  157. package/dist/claude-deepseek.js +2 -2
  158. package/dist/claude-glm.js +2 -2
  159. package/dist/claude-oss.js +2 -2
  160. package/dist/cli.js +187 -56
  161. package/package.json +1 -1
  162. package/bundles/antigravity-plugin/scripts/dream_capture.py +0 -249
  163. package/bundles/antigravity-plugin/scripts/dream_memory.py +0 -438
  164. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  165. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  166. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  167. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  168. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  169. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  170. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  171. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  172. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  173. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  174. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  175. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  176. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  177. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  178. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  179. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  180. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  181. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  182. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  183. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  184. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  185. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  186. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  187. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  188. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  189. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  190. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  191. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  192. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  193. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  194. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  195. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  196. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  197. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  198. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  199. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  200. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  201. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  202. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  203. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  204. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  205. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  206. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  207. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  208. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  209. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  210. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  211. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  212. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  213. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  214. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  215. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  216. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  217. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  218. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  219. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  220. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  221. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  222. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  223. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  224. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  225. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  226. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  227. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  228. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  229. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  230. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  231. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  232. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  233. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  234. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  235. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  236. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  237. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  238. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  239. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  240. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  241. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  242. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  243. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  244. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
@@ -0,0 +1,285 @@
1
+ ---
2
+ name: git-commit
3
+ description: Create well-structured conventional commit messages following Conventional Commits standard. Use when committing changes, preparing PRs, or generating changelogs.
4
+ ---
5
+
6
+ # Git Commit Skill
7
+
8
+ Create meaningful, conventional commit messages that follow team standards.
9
+
10
+ ## Trigger
11
+
12
+ Activate when:
13
+ - User asks to commit changes
14
+ - User needs help writing a commit message
15
+ - User asks "what should I commit this as?"
16
+
17
+ ---
18
+
19
+ ## Conventional Commit Format
20
+
21
+ ```
22
+ <type>(<scope>): <subject>
23
+
24
+ [optional body]
25
+
26
+ [optional footer]
27
+ ```
28
+
29
+ ### Types
30
+
31
+ | Type | Description | Example |
32
+ |------|-------------|---------|
33
+ | `feat` | New feature | `feat(complaints): add priority filtering` |
34
+ | `fix` | Bug fix | `fix(auth): resolve session timeout issue` |
35
+ | `docs` | Documentation | `docs: update API documentation` |
36
+ | `style` | Formatting (no code change) | `style: fix indentation in models` |
37
+ | `refactor` | Code restructuring | `refactor(db): extract query builder` |
38
+ | `perf` | Performance improvement | `perf: add caching to dashboard` |
39
+ | `test` | Adding/fixing tests | `test: add complaint service tests` |
40
+ | `chore` | Maintenance | `chore: update dependencies` |
41
+ | `ci` | CI/CD changes | `ci: add pytest to GitHub Actions` |
42
+ | `build` | Build system/dependencies | `build: update webpack to v5` |
43
+ | `revert` | Revert a previous commit | `revert: revert feat(api) endpoint` |
44
+
45
+ ### Scope
46
+
47
+ Optional area of change:
48
+ - `api` - Backend API changes
49
+ - `ui` - Frontend/Streamlit changes
50
+ - `db` - Database changes
51
+ - `auth` - Authentication
52
+ - `complaints` - Complaints feature
53
+ - `analytics` - Analytics feature
54
+
55
+ ---
56
+
57
+ ## Phase 1: Analyze Changes
58
+
59
+ ### Actions
60
+
61
+ 0. **Run a pre-commit quality gate (blocking)**
62
+ ```bash
63
+ # Python repos
64
+ ruff check .
65
+
66
+ # TypeScript/React repos
67
+ npm run lint
68
+
69
+ # If both stacks exist, run both.
70
+ ```
71
+
72
+ If lint fails, do not proceed to commit generation until fixed.
73
+
74
+ 1. **Review staged changes**
75
+ ```bash
76
+ # If files are staged, use staged diff
77
+ git diff --staged --stat
78
+ git diff --staged
79
+
80
+ # If nothing staged, check working tree
81
+ git diff
82
+ git status --porcelain
83
+ ```
84
+
85
+ 2. **Stage files if needed**
86
+ ```bash
87
+ # Stage specific files
88
+ git add path/to/file1 path/to/file2
89
+
90
+ # Stage by pattern
91
+ git add *.test.*
92
+ git add src/components/*
93
+ ```
94
+
95
+ **Never stage secrets** (`.env`, `credentials.json`, private keys).
96
+
97
+ 3. **Categorize the changes**
98
+ - What files were modified?
99
+ - What was the primary purpose?
100
+ - Are there multiple logical changes?
101
+
102
+ 3. **Identify the commit type**
103
+ - New functionality → `feat`
104
+ - Bug fix → `fix`
105
+ - Code improvement without behavior change → `refactor`
106
+ - Tests → `test`
107
+ - Documentation → `docs`
108
+
109
+ ---
110
+
111
+ ## Phase 2: Craft the Message
112
+
113
+ ### Subject Line Rules
114
+
115
+ 1. **Use imperative mood**: "add" not "added" or "adds"
116
+ 2. **No period** at the end
117
+ 3. **50 characters or less** (hard limit: 72)
118
+ 4. **Lowercase** after the colon
119
+
120
+ ```
121
+ # ✅ Good
122
+ feat(complaints): add priority filter to dashboard
123
+ fix(api): handle null customer_id in query
124
+ refactor(db): extract database adapter class
125
+
126
+ # ❌ Bad
127
+ feat(complaints): Added priority filter to dashboard. # Past tense, period
128
+ FEAT: ADD PRIORITY FILTER # Uppercase, no scope
129
+ fix: various bug fixes # Too vague
130
+ ```
131
+
132
+ ### Body (When Needed)
133
+
134
+ Include body when:
135
+ - Change needs explanation
136
+ - There's context that isn't obvious
137
+ - Breaking changes exist
138
+
139
+ ```
140
+ feat(api): add complaint analytics endpoint
141
+
142
+ Add new endpoint for retrieving complaint statistics
143
+ including resolution times, category distribution, and
144
+ trend analysis.
145
+
146
+ This endpoint powers the new analytics dashboard.
147
+ ```
148
+
149
+ ### Footer (When Needed)
150
+
151
+ ```
152
+ # Breaking change
153
+ feat(api)!: change complaint response format
154
+
155
+ BREAKING CHANGE: complaint.created_at now returns ISO format
156
+
157
+ # Issue reference
158
+ fix(ui): resolve dashboard loading error
159
+
160
+ Fixes #123
161
+ ```
162
+
163
+ ---
164
+
165
+ ## Phase 3: Generate Message
166
+
167
+ ### Template
168
+
169
+ Based on the changes, generate:
170
+
171
+ ```markdown
172
+ ## Suggested Commit Message
173
+
174
+ ```
175
+ <type>(<scope>): <subject>
176
+
177
+ <body if needed>
178
+ ```
179
+
180
+ ### Reasoning
181
+ - Type: [Why this type was chosen]
182
+ - Scope: [Area of the codebase affected]
183
+ - Subject: [What the change does]
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Examples
189
+
190
+ ### Simple Feature
191
+
192
+ **Changes**: Added a new filter dropdown to the complaints dashboard
193
+
194
+ ```
195
+ feat(ui): add status filter to complaints dashboard
196
+ ```
197
+
198
+ ### Bug Fix with Context
199
+
200
+ **Changes**: Fixed issue where queries with special characters caused errors
201
+
202
+ ```
203
+ fix(db): escape special characters in search queries
204
+
205
+ The search function was failing when users entered characters
206
+ like quotes or semicolons. Added proper escaping using
207
+ parameterized queries.
208
+
209
+ Fixes #42
210
+ ```
211
+
212
+ ### Refactoring
213
+
214
+ **Changes**: Moved database logic from routes to repository classes
215
+
216
+ ```
217
+ refactor(api): extract database operations to repository layer
218
+
219
+ Move direct database calls from route handlers to dedicated
220
+ repository classes. This improves testability and follows
221
+ the separation of concerns principle.
222
+ ```
223
+
224
+ ### Multiple Files, Single Purpose
225
+
226
+ **Changes**: Updated multiple files to add logging
227
+
228
+ ```
229
+ feat: add structured logging throughout application
230
+
231
+ - Add loguru configuration in config.py
232
+ - Replace print statements with logger calls
233
+ - Add request logging middleware
234
+ ```
235
+
236
+ ### Breaking Change
237
+
238
+ **Changes**: Changed API response format
239
+
240
+ ```
241
+ feat(api)!: standardize API response envelope
242
+
243
+ BREAKING CHANGE: All API responses now wrapped in
244
+ { "data": ..., "meta": { "timestamp": ... } } format.
245
+
246
+ Clients need to update response parsing logic.
247
+ ```
248
+
249
+ ---
250
+
251
+ ## Quick Reference
252
+
253
+ When in doubt, ask yourself:
254
+
255
+ 1. **What type of change is this?** → Choose type
256
+ 2. **What area does it affect?** → Choose scope
257
+ 3. **What does it do?** (in imperative) → Write subject
258
+ 4. **Why was this done?** → Write body if needed
259
+ 5. **Does it break anything?** → Add BREAKING CHANGE if yes
260
+
261
+ ---
262
+
263
+ ## Git Safety Protocol
264
+
265
+ - NEVER update git config
266
+ - NEVER run destructive commands (`--force`, hard reset) without explicit user request
267
+ - NEVER skip hooks (`--no-verify`) unless user asks
268
+ - NEVER force push to main/master
269
+ - ALWAYS verify lint gate status before creating a commit message
270
+ - If a commit fails due to pre-commit hooks, fix the issue and create a NEW commit (don't amend the failed one)
271
+ - One logical change per commit
272
+ - Reference issues in footers: `Closes #123`, `Refs #456`
273
+
274
+ ---
275
+
276
+ ## Commit Message Checklist
277
+
278
+ - [ ] Type is appropriate for the change
279
+ - [ ] Scope identifies the affected area
280
+ - [ ] Subject uses imperative mood
281
+ - [ ] Subject is under 50 characters
282
+ - [ ] Body explains "why" if not obvious
283
+ - [ ] Breaking changes are marked with `!` and footer
284
+ - [ ] Related issues are referenced
285
+ - [ ] No secrets or credentials in staged files
@@ -0,0 +1,186 @@
1
+ ---
2
+ name: safe-cleanup
3
+ description: Use BEFORE deleting any directory tree, clearing a scratchpad, removing git worktrees, or "tidying up" generated folders - especially on Windows, where a recursive delete that meets a junction or symlink destroys the link's TARGET. Also use when verifying that a Python venv or node_modules survived a cleanup, because pip check and file counts both report healthy on a half-deleted environment.
4
+ ---
5
+
6
+ # Safe Cleanup
7
+
8
+ ## Overview
9
+
10
+ Cleanup looks like the safest thing you do all day. It is the most destructive.
11
+
12
+ This skill exists because of a real incident: an agent created 31 directory
13
+ junctions from throwaway worktrees into live repositories, unlinked them, saw
14
+ "31 unlinked, 0 failed", then recursively deleted the parent. A junction it had
15
+ never seen survived the scan, the delete followed it, and **five repositories'
16
+ development environments were destroyed**. Every verification afterwards said
17
+ "intact", because the verification was wrong too.
18
+
19
+ Two hours of repair. None of it would have happened with the rules below.
20
+
21
+ ## The one-paragraph version
22
+
23
+ On Windows, `Remove-Item -Recurse` **follows junctions and deletes their
24
+ targets**. Enumerating with `-ErrorAction SilentlyContinue` hides the ones you
25
+ cannot read. And after the damage, `pip check`, `pip list` and file counts all
26
+ report success, because metadata survives while package files do not. So: never
27
+ link into somewhere real, never recurse through a link, prefer rename over
28
+ delete, and verify by *using* the thing rather than counting it.
29
+
30
+ ---
31
+
32
+ ## RULE 1 - Prefer rename over delete
33
+
34
+ Rename is atomic. Recursive delete is not: it can fail half way and leave a
35
+ directory that looks present and is unusable.
36
+
37
+ ```powershell
38
+ Rename-Item -Path $target -NewName ".broken-$(Get-Date -Format 'yyyyMMdd-HHmmss')"
39
+ ```
40
+
41
+ In the incident, a venv holding `_greenlet.cp314-win_amd64.pyd` open **refused to
42
+ delete** but **renamed fine**. Had the delete been retried or forced, it would
43
+ have half-emptied the directory.
44
+
45
+ Rename first, build fresh alongside, delete the old copy later when nothing holds
46
+ it. Disk is cheap. An environment nobody can recover is not.
47
+
48
+ ## RULE 2 - Never recurse a delete through a reparse point
49
+
50
+ Junctions and symlinks are transparent to `Remove-Item -Recurse`. Deleting a
51
+ folder that contains a link to `C:\live\thing` deletes **the contents of
52
+ `C:\live\thing`**.
53
+
54
+ Check first, and **fail if the check itself cannot complete**:
55
+
56
+ ```powershell
57
+ $links = @(Get-ChildItem $path -Recurse -Force -Directory -ErrorAction Stop |
58
+ Where-Object { $_.Attributes -band [IO.FileAttributes]::ReparsePoint })
59
+ if ($links.Count) {
60
+ $links | ForEach-Object { Write-Host " $($_.FullName) -> $($_.Target)" }
61
+ throw "refusing: $($links.Count) link(s) inside $path"
62
+ }
63
+ ```
64
+
65
+ `-ErrorAction SilentlyContinue` on that scan is precisely what caused the
66
+ incident. A link inside a directory the scanner could not read was skipped in
67
+ silence and never appeared in the count. **A scan that cannot see everything must
68
+ fail, not shrug.**
69
+
70
+ To remove a link itself, unlink it - never delete through it:
71
+
72
+ ```powershell
73
+ [System.IO.Directory]::Delete($linkPath, $false) # link only, never the target
74
+ cmd /c rmdir "$linkPath" # same effect
75
+ ```
76
+
77
+ ## RULE 3 - Do not create links into live directories
78
+
79
+ The safest delete is the one with nothing to follow.
80
+
81
+ If a throwaway workspace needs dependencies, **build them there**, or point the
82
+ tool at an absolute interpreter path. Do not junction `<scratch>\.venv` to
83
+ `<live-repo>\.venv` for convenience - that is a loaded gun aimed at the repo, and
84
+ any cleanup above the link can fire it.
85
+
86
+ If you must link, remove the link the moment you are done, and never leave one
87
+ inside a directory that something else will clean up.
88
+
89
+ ## RULE 4 - Verify by using, not by counting
90
+
91
+ After any cleanup near an environment, prove it still works. These all LIE on a
92
+ half-deleted Python venv, because dist-info metadata survives while package files
93
+ are removed:
94
+
95
+ | Check | Why it lies |
96
+ |---|---|
97
+ | `Test-Path .venv\Scripts\python.exe` | Proves the interpreter exists. Says nothing about packages. |
98
+ | file or directory counts | Metadata directories inflate the count. |
99
+ | `pip list` | Reads metadata. |
100
+ | `pip check` | Reads metadata. Reported "No broken requirements found" on a venv that could not import fastapi. |
101
+ | `pip install -e .` | Reads metadata, calls the package satisfied, **skips it, and reports success**. |
102
+
103
+ The honest check is whether the interpreter can import what the project declares:
104
+
105
+ ```python
106
+ import importlib.util
107
+ importlib.util.find_spec("fastapi") is None # -> True means genuinely missing
108
+ ```
109
+
110
+ For node, check that a real entry point resolves, not that `node_modules` exists.
111
+
112
+ **Map distribution names to import names.** `pyjwt` imports as `jwt`,
113
+ `python-ulid` as `ulid`, `python-dotenv` as `dotenv`. A naive audit produces false
114
+ positives and will have you rebuilding healthy environments - which is its own way
115
+ of causing an outage.
116
+
117
+ ## RULE 5 - Stop what holds the files, or refuse
118
+
119
+ A running service turns a delete into a **partial** delete - the worst outcome.
120
+
121
+ Stop named services first. Then check for surviving processes and **refuse rather
122
+ than force**:
123
+
124
+ ```powershell
125
+ $held = @(Get-CimInstance Win32_Process -Filter "Name='python.exe'" |
126
+ Where-Object { $_.ExecutablePath -like "$venv\*" })
127
+ if ($held.Count) { throw "refusing: still held by PID $($held[0].ProcessId)" }
128
+ ```
129
+
130
+ In the incident's repair, this refused on one repo because a **VS Code language
131
+ server** had held that venv since the previous day. Not a service, not safe to
132
+ kill, not the script's business. That repo was fixed a different way. **Refusing
133
+ was correct.**
134
+
135
+ ## RULE 6 - One agent at a time on a shared resource
136
+
137
+ Two agents installing into the same environment concurrently can produce exactly
138
+ this partial state. Three sessions were live in one repository during the
139
+ incident. Whoever is repairing says so; everyone else keeps out.
140
+
141
+ ## RULE 7 - Verify against the source of truth, not the working copy
142
+
143
+ Checkouts go stale. During the same incident a subagent reported a file as absent
144
+ from a configuration, contradicting a change made hours earlier. The file was
145
+ present on `origin/main`; the working copy was **10 commits behind**.
146
+
147
+ Before asserting something is missing, check `git show origin/main:<path>`, not
148
+ the file on disk.
149
+
150
+ ---
151
+
152
+ ## Before you delete anything - the checklist
153
+
154
+ 1. Can I **rename** instead? Do that.
155
+ 2. Does the tree contain **reparse points**? Scan with `-ErrorAction Stop`. Refuse if any, or if the scan fails.
156
+ 3. Does anything **hold files open**? Stop services; refuse on surviving processes.
157
+ 4. Did I create any **links into live directories** earlier in this session? Unlink them explicitly, by name.
158
+ 5. After: **verify by using**, not by counting.
159
+ 6. If something looks wrong: check `origin/main`, not the working copy.
160
+
161
+ ## What good verification output looks like
162
+
163
+ Not this:
164
+
165
+ ```
166
+ .venv intact: True <- only proves python.exe exists
167
+ 31 unlinked, 0 failed <- says nothing about what the scan missed
168
+ No broken requirements found <- reads metadata, not reality
169
+ ```
170
+
171
+ This:
172
+
173
+ ```
174
+ service-a OK declared=24 missing=0 <- every declared dep imported
175
+ service-b OK declared=19 missing=0
176
+ ```
177
+
178
+ ## Reference implementation
179
+
180
+ The estate this skill came from keeps working tools at `.caddis/tools/`:
181
+
182
+ - `venv-audit.py` - imports every dependency each `pyproject.toml` declares
183
+ - `rebuild-venv.ps1` - renames aside, rebuilds, restarts services, refuses on links or live processes
184
+ - `README-venv-safety.md` - the incident record
185
+
186
+ Adapt rather than copy: the rules matter more than the scripts.
@@ -0,0 +1,217 @@
1
+ ---
2
+ name: using-git-worktrees
3
+ description: Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
4
+ ---
5
+
6
+ # Using Git Worktrees
7
+
8
+ ## Overview
9
+
10
+ Git worktrees create isolated workspaces sharing the same repository, allowing work on multiple branches simultaneously without switching.
11
+
12
+ **Core principle:** Systematic directory selection + safety verification = reliable isolation.
13
+
14
+ **Announce at start:** "I'm using the using-git-worktrees skill to set up an isolated workspace."
15
+
16
+ ## Directory Selection Process
17
+
18
+ Follow this priority order:
19
+
20
+ ### 1. Check Existing Directories
21
+
22
+ ```bash
23
+ # Check in priority order
24
+ ls -d .worktrees 2>/dev/null # Preferred (hidden)
25
+ ls -d worktrees 2>/dev/null # Alternative
26
+ ```
27
+
28
+ **If found:** Use that directory. If both exist, `.worktrees` wins.
29
+
30
+ ### 2. Check AGENTS.md (the canonical rules file; CLAUDE.md is an @import shim)
31
+
32
+ ```bash
33
+ grep -i "worktree.*director" AGENTS.md CLAUDE.md 2>/dev/null
34
+ ```
35
+
36
+ **If preference specified:** Use it without asking.
37
+
38
+ ### 3. Ask User
39
+
40
+ If no directory exists and no AGENTS.md preference:
41
+
42
+ ```
43
+ No worktree directory found. Where should I create worktrees?
44
+
45
+ 1. .worktrees/ (project-local, hidden)
46
+ 2. ~/.config/superpowers/worktrees/<project-name>/ (global location)
47
+
48
+ Which would you prefer?
49
+ ```
50
+
51
+ ## Safety Verification
52
+
53
+ ### For Project-Local Directories (.worktrees or worktrees)
54
+
55
+ **MUST verify directory is ignored before creating worktree:**
56
+
57
+ ```bash
58
+ # Check if directory is ignored (respects local, global, and system gitignore)
59
+ git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null
60
+ ```
61
+
62
+ **If NOT ignored:**
63
+
64
+ Per Jesse's rule "Fix broken things immediately":
65
+ 1. Add appropriate line to .gitignore
66
+ 2. Commit the change
67
+ 3. Proceed with worktree creation
68
+
69
+ **Why critical:** Prevents accidentally committing worktree contents to repository.
70
+
71
+ ### For Global Directory (~/.config/superpowers/worktrees)
72
+
73
+ No .gitignore verification needed - outside project entirely.
74
+
75
+ ## Creation Steps
76
+
77
+ ### 1. Detect Project Name
78
+
79
+ ```bash
80
+ project=$(basename "$(git rev-parse --show-toplevel)")
81
+ ```
82
+
83
+ ### 2. Create Worktree
84
+
85
+ ```bash
86
+ # Determine full path
87
+ case $LOCATION in
88
+ .worktrees|worktrees)
89
+ path="$LOCATION/$BRANCH_NAME"
90
+ ;;
91
+ ~/.config/superpowers/worktrees/*)
92
+ path="~/.config/superpowers/worktrees/$project/$BRANCH_NAME"
93
+ ;;
94
+ esac
95
+
96
+ # Create worktree with new branch
97
+ git worktree add "$path" -b "$BRANCH_NAME"
98
+ cd "$path"
99
+ ```
100
+
101
+ ### 3. Run Project Setup
102
+
103
+ Auto-detect and run appropriate setup:
104
+
105
+ ```bash
106
+ # Node.js
107
+ if [ -f package.json ]; then npm install; fi
108
+
109
+ # Rust
110
+ if [ -f Cargo.toml ]; then cargo build; fi
111
+
112
+ # Python
113
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
114
+ if [ -f pyproject.toml ]; then poetry install; fi
115
+
116
+ # Go
117
+ if [ -f go.mod ]; then go mod download; fi
118
+ ```
119
+
120
+ ### 4. Verify Clean Baseline
121
+
122
+ Run tests to ensure worktree starts clean:
123
+
124
+ ```bash
125
+ # Examples - use project-appropriate command
126
+ npm test
127
+ cargo test
128
+ pytest
129
+ go test ./...
130
+ ```
131
+
132
+ **If tests fail:** Report failures, ask whether to proceed or investigate.
133
+
134
+ **If tests pass:** Report ready.
135
+
136
+ ### 5. Report Location
137
+
138
+ ```
139
+ Worktree ready at <full-path>
140
+ Tests passing (<N> tests, 0 failures)
141
+ Ready to implement <feature-name>
142
+ ```
143
+
144
+ ## Quick Reference
145
+
146
+ | Situation | Action |
147
+ |-----------|--------|
148
+ | `.worktrees/` exists | Use it (verify ignored) |
149
+ | `worktrees/` exists | Use it (verify ignored) |
150
+ | Both exist | Use `.worktrees/` |
151
+ | Neither exists | Check AGENTS.md → Ask user |
152
+ | Directory not ignored | Add to .gitignore + commit |
153
+ | Tests fail during baseline | Report failures + ask |
154
+ | No package.json/Cargo.toml | Skip dependency install |
155
+
156
+ ## Common Mistakes
157
+
158
+ ### Skipping ignore verification
159
+
160
+ - **Problem:** Worktree contents get tracked, pollute git status
161
+ - **Fix:** Always use `git check-ignore` before creating project-local worktree
162
+
163
+ ### Assuming directory location
164
+
165
+ - **Problem:** Creates inconsistency, violates project conventions
166
+ - **Fix:** Follow priority: existing > AGENTS.md > ask
167
+
168
+ ### Proceeding with failing tests
169
+
170
+ - **Problem:** Can't distinguish new bugs from pre-existing issues
171
+ - **Fix:** Report failures, get explicit permission to proceed
172
+
173
+ ### Hardcoding setup commands
174
+
175
+ - **Problem:** Breaks on projects using different tools
176
+ - **Fix:** Auto-detect from project files (package.json, etc.)
177
+
178
+ ## Example Workflow
179
+
180
+ ```
181
+ You: I'm using the using-git-worktrees skill to set up an isolated workspace.
182
+
183
+ [Check .worktrees/ - exists]
184
+ [Verify ignored - git check-ignore confirms .worktrees/ is ignored]
185
+ [Create worktree: git worktree add .worktrees/auth -b feature/auth]
186
+ [Run npm install]
187
+ [Run npm test - 47 passing]
188
+
189
+ Worktree ready at /Users/jesse/myproject/.worktrees/auth
190
+ Tests passing (47 tests, 0 failures)
191
+ Ready to implement auth feature
192
+ ```
193
+
194
+ ## Red Flags
195
+
196
+ **Never:**
197
+ - Create worktree without verifying it's ignored (project-local)
198
+ - Skip baseline test verification
199
+ - Proceed with failing tests without asking
200
+ - Assume directory location when ambiguous
201
+ - Skip AGENTS.md check
202
+
203
+ **Always:**
204
+ - Follow directory priority: existing > AGENTS.md > ask
205
+ - Verify directory is ignored for project-local
206
+ - Auto-detect and run project setup
207
+ - Verify clean test baseline
208
+
209
+ ## Integration
210
+
211
+ **Called by:**
212
+ - **brainstorming** (Phase 4) - REQUIRED when design is approved and implementation follows
213
+ - Any skill needing isolated workspace
214
+
215
+ **Pairs with:**
216
+ - **finishing-a-development-branch** - REQUIRED for cleanup after work complete
217
+ - **executing-plans** or **subagent-driven-development** - Work happens in this worktree