@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,305 @@
1
+ ---
2
+ name: backend-development
3
+ description: Backend API design, database architecture, microservices patterns, and test-driven development. Use for designing APIs, database schemas, or backend system architecture.
4
+ source: wshobson/agents
5
+ license: MIT
6
+ ---
7
+
8
+ # Backend Development
9
+
10
+ ## API Design
11
+
12
+ ### RESTful Conventions
13
+ ```
14
+ GET /users # List users
15
+ POST /users # Create user
16
+ GET /users/:id # Get user
17
+ PUT /users/:id # Update user (full)
18
+ PATCH /users/:id # Update user (partial)
19
+ DELETE /users/:id # Delete user
20
+
21
+ GET /users/:id/posts # List user's posts
22
+ POST /users/:id/posts # Create post for user
23
+ ```
24
+
25
+ ### Response Format
26
+ ```json
27
+ {
28
+ "data": { ... },
29
+ "meta": {
30
+ "page": 1,
31
+ "per_page": 20,
32
+ "total": 100
33
+ }
34
+ }
35
+ ```
36
+
37
+ ### Error Format
38
+ ```json
39
+ {
40
+ "error": {
41
+ "code": "VALIDATION_ERROR",
42
+ "message": "Invalid input",
43
+ "details": [
44
+ { "field": "email", "message": "Invalid format" }
45
+ ]
46
+ }
47
+ }
48
+ ```
49
+
50
+ ## Database Patterns
51
+
52
+ ### Schema Design
53
+ ```sql
54
+ -- Use UUIDs for public IDs
55
+ CREATE TABLE users (
56
+ id SERIAL PRIMARY KEY,
57
+ public_id UUID DEFAULT gen_random_uuid() UNIQUE,
58
+ email VARCHAR(255) UNIQUE NOT NULL,
59
+ created_at TIMESTAMPTZ DEFAULT NOW(),
60
+ updated_at TIMESTAMPTZ DEFAULT NOW()
61
+ );
62
+
63
+ -- Soft deletes
64
+ ALTER TABLE users ADD COLUMN deleted_at TIMESTAMPTZ;
65
+
66
+ -- Indexes
67
+ CREATE INDEX idx_users_email ON users(email);
68
+ CREATE INDEX idx_users_created ON users(created_at DESC);
69
+ ```
70
+
71
+ ### Query Patterns
72
+ ```sql
73
+ -- Pagination with cursor
74
+ SELECT * FROM posts
75
+ WHERE created_at < $cursor
76
+ ORDER BY created_at DESC
77
+ LIMIT 20;
78
+
79
+ -- Efficient counting
80
+ SELECT reltuples::bigint AS estimate
81
+ FROM pg_class WHERE relname = 'users';
82
+ ```
83
+
84
+ ## Authentication
85
+
86
+ ### JWT Pattern
87
+ ```typescript
88
+ interface TokenPayload {
89
+ sub: string; // User ID
90
+ iat: number; // Issued at
91
+ exp: number; // Expiration
92
+ scope: string[]; // Permissions
93
+ }
94
+
95
+ function verifyToken(token: string): TokenPayload {
96
+ return jwt.verify(token, SECRET) as TokenPayload;
97
+ }
98
+ ```
99
+
100
+ ### Middleware
101
+ ```typescript
102
+ async function authenticate(req: Request, res: Response, next: Next) {
103
+ const token = req.headers.authorization?.replace('Bearer ', '');
104
+ if (!token) {
105
+ return res.status(401).json({ error: 'Unauthorized' });
106
+ }
107
+
108
+ try {
109
+ req.user = verifyToken(token);
110
+ next();
111
+ } catch {
112
+ res.status(401).json({ error: 'Invalid token' });
113
+ }
114
+ }
115
+ ```
116
+
117
+ ## Caching Strategy
118
+
119
+ ```typescript
120
+ // Cache-aside pattern
121
+ async function getUser(id: string): Promise<User> {
122
+ const cached = await redis.get(`user:${id}`);
123
+ if (cached) return JSON.parse(cached);
124
+
125
+ const user = await db.users.findById(id);
126
+ await redis.setex(`user:${id}`, 3600, JSON.stringify(user));
127
+ return user;
128
+ }
129
+
130
+ // Cache invalidation
131
+ async function updateUser(id: string, data: Partial<User>) {
132
+ await db.users.update(id, data);
133
+ await redis.del(`user:${id}`);
134
+ }
135
+ ```
136
+
137
+ ## Architecture Patterns
138
+
139
+ ### Repository Pattern
140
+ Abstract data access from business logic for testability and swappable backends.
141
+
142
+ ```typescript
143
+ interface UserRepository {
144
+ findAll(filters?: UserFilters): Promise<User[]>
145
+ findById(id: string): Promise<User | null>
146
+ create(data: CreateUserDto): Promise<User>
147
+ update(id: string, data: UpdateUserDto): Promise<User>
148
+ delete(id: string): Promise<void>
149
+ }
150
+ ```
151
+
152
+ ### Service Layer Pattern
153
+ Separate business logic from data access and HTTP concerns.
154
+
155
+ ```typescript
156
+ class UserService {
157
+ constructor(private userRepo: UserRepository) {}
158
+
159
+ async createUser(data: CreateUserDto): Promise<User> {
160
+ // Business logic: validation, enrichment, side effects
161
+ const existing = await this.userRepo.findByEmail(data.email);
162
+ if (existing) throw new ConflictError('Email already registered');
163
+ return this.userRepo.create(data);
164
+ }
165
+ }
166
+ ```
167
+
168
+ ### N+1 Query Prevention
169
+ ```typescript
170
+ // Bad: N+1 queries
171
+ const posts = await getPosts();
172
+ for (const post of posts) {
173
+ post.author = await getUser(post.author_id); // N queries
174
+ }
175
+
176
+ // Good: Batch fetch
177
+ const posts = await getPosts();
178
+ const authorIds = posts.map(p => p.author_id);
179
+ const authors = await getUsers(authorIds); // 1 query
180
+ const authorMap = new Map(authors.map(a => [a.id, a]));
181
+ posts.forEach(post => { post.author = authorMap.get(post.author_id); });
182
+ ```
183
+
184
+ ## Rate Limiting
185
+
186
+ ```typescript
187
+ // Library-based approach
188
+ const limiter = rateLimit({
189
+ windowMs: 60 * 1000, // 1 minute
190
+ max: 100, // 100 requests per window
191
+ keyGenerator: (req) => req.ip,
192
+ handler: (req, res) => {
193
+ res.status(429).json({ error: 'Too many requests' });
194
+ }
195
+ });
196
+ ```
197
+
198
+ ## Error Handling
199
+
200
+ ### Retry with Exponential Backoff
201
+ ```typescript
202
+ async function fetchWithRetry<T>(
203
+ fn: () => Promise<T>,
204
+ maxRetries = 3
205
+ ): Promise<T> {
206
+ let lastError: Error;
207
+ for (let i = 0; i < maxRetries; i++) {
208
+ try {
209
+ return await fn();
210
+ } catch (error) {
211
+ lastError = error as Error;
212
+ if (i < maxRetries - 1) {
213
+ const delay = Math.pow(2, i) * 1000;
214
+ await new Promise(resolve => setTimeout(resolve, delay));
215
+ }
216
+ }
217
+ }
218
+ throw lastError!;
219
+ }
220
+ ```
221
+
222
+ ### Centralized Error Handler
223
+ ```typescript
224
+ class ApiError extends Error {
225
+ constructor(public statusCode: number, message: string, public isOperational = true) {
226
+ super(message);
227
+ }
228
+ }
229
+
230
+ function errorHandler(error: unknown, req: Request): Response {
231
+ if (error instanceof ApiError) {
232
+ return json({ error: error.message }, { status: error.statusCode });
233
+ }
234
+ if (error instanceof z.ZodError) {
235
+ return json({ error: 'Validation failed', details: error.errors }, { status: 400 });
236
+ }
237
+ console.error('Unexpected error:', error);
238
+ return json({ error: 'Internal server error' }, { status: 500 });
239
+ }
240
+ ```
241
+
242
+ ## Role-Based Access Control
243
+
244
+ ```typescript
245
+ type Permission = 'read' | 'write' | 'delete' | 'admin';
246
+
247
+ const rolePermissions: Record<string, Permission[]> = {
248
+ admin: ['read', 'write', 'delete', 'admin'],
249
+ moderator: ['read', 'write', 'delete'],
250
+ user: ['read', 'write']
251
+ };
252
+
253
+ function hasPermission(user: { role: string }, permission: Permission): boolean {
254
+ return (rolePermissions[user.role] || []).includes(permission);
255
+ }
256
+ ```
257
+
258
+ ## Background Jobs and Queues
259
+
260
+ ```typescript
261
+ class JobQueue<T> {
262
+ private queue: T[] = [];
263
+ private processing = false;
264
+
265
+ async add(job: T): Promise<void> {
266
+ this.queue.push(job);
267
+ if (!this.processing) this.process();
268
+ }
269
+
270
+ private async process(): Promise<void> {
271
+ this.processing = true;
272
+ while (this.queue.length > 0) {
273
+ const job = this.queue.shift()!;
274
+ try { await this.execute(job); }
275
+ catch (error) { console.error('Job failed:', error); }
276
+ }
277
+ this.processing = false;
278
+ }
279
+
280
+ private async execute(job: T): Promise<void> { /* implementation */ }
281
+ }
282
+ ```
283
+
284
+ ## Observability
285
+
286
+ ### Structured Logging
287
+ ```typescript
288
+ class Logger {
289
+ log(level: 'info' | 'warn' | 'error', message: string, context?: Record<string, unknown>) {
290
+ console.log(JSON.stringify({
291
+ timestamp: new Date().toISOString(), level, message, ...context
292
+ }));
293
+ }
294
+ info(msg: string, ctx?: Record<string, unknown>) { this.log('info', msg, ctx); }
295
+ warn(msg: string, ctx?: Record<string, unknown>) { this.log('warn', msg, ctx); }
296
+ error(msg: string, err: Error, ctx?: Record<string, unknown>) {
297
+ this.log('error', msg, { ...ctx, error: err.message, stack: err.stack });
298
+ }
299
+ }
300
+ ```
301
+
302
+ ### Health and Monitoring
303
+ - **Metrics**: Request latency, error rates, queue depths
304
+ - **Tracing**: Distributed tracing with correlation IDs
305
+ - **Health checks**: `/health` and `/ready` endpoints
@@ -0,0 +1,140 @@
1
+ ---
2
+ name: code-review
3
+ context: fork
4
+ description: Automated code review for pull requests using specialized review patterns. Analyzes code for quality, security, performance, and best practices. Use when reviewing code changes, PRs, or doing code audits.
5
+ source: anthropics/claude-code
6
+ license: Apache-2.0
7
+ ---
8
+
9
+ # Code Review
10
+
11
+ > **On Claude Code, prefer the native `/code-review`.** It is a command, not a skill, so it always
12
+ > fires — including headless — and it has grown capabilities this one does not have: effort levels
13
+ > (`low`…`max`), an `ultra` mode that runs a multi-agent review in the cloud, `--comment` to post
14
+ > findings as inline PR comments, and `--fix` to apply them to the working tree. Reach for it first.
15
+ >
16
+ > This surface remains because caddis ships to harnesses that have **no** native equivalent — agy,
17
+ > Codex and Copilot. There it is the only review you get. Do not delete it to tidy up Claude Code.
18
+ >
19
+ > `/caddis:cross-review` is NOT replaced by either. It sends the diff to a **different vendor's**
20
+ > model, which neither this nor the native reviewer can do.
21
+
22
+ ## Review Categories
23
+
24
+ ### 1. Security Review
25
+ Check for:
26
+ - SQL injection vulnerabilities
27
+ - XSS (Cross-Site Scripting)
28
+ - Command injection
29
+ - Insecure deserialization
30
+ - Hardcoded secrets/credentials
31
+ - Improper authentication/authorization
32
+ - Insecure direct object references
33
+
34
+ ### 2. Performance Review
35
+ Check for:
36
+ - N+1 queries
37
+ - Missing database indexes
38
+ - Unnecessary re-renders (React)
39
+ - Memory leaks
40
+ - Blocking operations in async code
41
+ - Missing caching opportunities
42
+ - Large bundle sizes
43
+
44
+ ### 3. Code Quality Review
45
+ Check for:
46
+ - Code duplication (DRY violations)
47
+ - Functions doing too much (SRP violations)
48
+ - Deep nesting / complex conditionals
49
+ - Magic numbers/strings
50
+ - Poor naming
51
+ - Missing error handling
52
+ - Incomplete type coverage
53
+
54
+ ### 4. Testing Review
55
+ Check for:
56
+ - Missing test coverage for new code
57
+ - Tests that don't test behavior
58
+ - Flaky test patterns
59
+ - Missing edge cases
60
+ - Mocked external dependencies
61
+
62
+ ## Review Output Format
63
+
64
+ ```markdown
65
+ ## Code Review Summary
66
+
67
+ ### 🔴 Critical (Must Fix)
68
+ - **[File:Line]** [Issue description]
69
+ - **Why:** [Explanation]
70
+ - **Fix:** [Suggested fix]
71
+
72
+ ### 🟡 Suggestions (Should Consider)
73
+ - **[File:Line]** [Issue description]
74
+ - **Why:** [Explanation]
75
+ - **Fix:** [Suggested fix]
76
+
77
+ ### 🟢 Nits (Optional)
78
+ - **[File:Line]** [Minor suggestion]
79
+
80
+ ### ✅ What's Good
81
+ - [Positive feedback on good patterns]
82
+ ```
83
+
84
+ ## Common Patterns to Flag
85
+
86
+ ### Security
87
+ ```javascript
88
+ // BAD: SQL injection
89
+ const query = `SELECT * FROM users WHERE id = ${userId}`;
90
+
91
+ // GOOD: Parameterized query
92
+ const query = 'SELECT * FROM users WHERE id = $1';
93
+ await db.query(query, [userId]);
94
+ ```
95
+
96
+ ### Performance
97
+ ```javascript
98
+ // BAD: N+1 query
99
+ users.forEach(async user => {
100
+ const posts = await getPosts(user.id);
101
+ });
102
+
103
+ // GOOD: Batch query
104
+ const userIds = users.map(u => u.id);
105
+ const posts = await getPostsForUsers(userIds);
106
+ ```
107
+
108
+ ### Error Handling
109
+ ```javascript
110
+ // BAD: Swallowing errors
111
+ try {
112
+ await riskyOperation();
113
+ } catch (e) {}
114
+
115
+ // GOOD: Handle or propagate
116
+ try {
117
+ await riskyOperation();
118
+ } catch (e) {
119
+ logger.error('Operation failed', { error: e });
120
+ throw new AppError('Operation failed', { cause: e });
121
+ }
122
+ ```
123
+
124
+ ## Review Checklist
125
+
126
+ - [ ] No hardcoded secrets
127
+ - [ ] Input validation present
128
+ - [ ] Error handling complete
129
+ - [ ] Types/interfaces defined
130
+ - [ ] Tests added for new code
131
+ - [ ] No obvious performance issues
132
+ - [ ] Code is readable and documented
133
+ - [ ] Breaking changes documented
134
+
135
+ ## Machine Verdict (automated / headless runs)
136
+
137
+ **Then, as the very last line of your output (nothing after it), emit the machine verdict:**
138
+ `REVIEW: CLEAN` (no blocking issues found across the categories above) or `REVIEW: BLOCKING` (one
139
+ or more blocking issues). Automated runners read only this line; it must exactly match one of
140
+ those two forms.
@@ -0,0 +1,204 @@
1
+ ---
2
+ name: codebase-audit
3
+ context: fork
4
+ description: Systematic codebase audit methodology for unfamiliar codebases before architecture or implementation work. Use for new codebase, unfamiliar codebase, pre-implementation audit, codebase review, technical due diligence, or onboarding to an existing project. Produces AUDIT-FINDINGS.md and QUESTIONS.md. Routes to Architect, Planner, or Code Reviewer agents.
5
+ ---
6
+
7
+ # Codebase Audit Skill
8
+
9
+ Systematic 6-step audit for entering an unfamiliar codebase before architecture changes, major features, or refactoring. Do not guess patterns — audit first.
10
+
11
+ ## 1. When to Apply This Skill
12
+
13
+ **Trigger conditions:**
14
+ - "I'm new to this codebase"
15
+ - "Audit this project before we start building"
16
+ - "I need to understand what's here before changing it"
17
+ - "Pre-implementation review"
18
+ - Any major feature in a codebase you haven't worked in this session
19
+
20
+ **Do not skip the audit** even when the task seems small — hidden coupling causes broken assumptions.
21
+
22
+ ## 2. Audit Scope — 20 Areas
23
+
24
+ | # | Area | What to Look For |
25
+ |---|---|---|
26
+ | 1 | **Architecture** | Monolith/microservice/monorepo, layer separation, module boundaries |
27
+ | 2 | **Entry Points** | Main files, router setup, CLI entry, exports index |
28
+ | 3 | **Framework & Runtime** | React version, Next.js, FastAPI, Django, Node version, Python version |
29
+ | 4 | **Dependencies** | `package.json`/`pyproject.toml` — packages, versions, peer deps, outdated |
30
+ | 5 | **Code Quality** | Lint config, formatter, TypeScript strict mode, type coverage |
31
+ | 6 | **Testing** | Test runner, coverage %, which layers are tested, missing tests |
32
+ | 7 | **Security Posture** | Auth implementation, env var usage, hardcoded secrets, CORS |
33
+ | 8 | **Documentation** | README completeness, inline comments, API docs |
34
+ | 9 | **Performance Signals** | Caching, lazy loading, database indexes, N+1 queries |
35
+ | 10 | **DevOps / CI** | Build commands, CI config, deployment method, Dockerfile |
36
+ | 11 | **API Design** | REST conventions, versioning, error response format, input validation |
37
+ | 12 | **Data Layer** | ORM vs raw SQL, migration strategy, schema location |
38
+ | 13 | **State Management** | Client state (Zustand, Redux, Context), server state (React Query) |
39
+ | 14 | **Error Handling** | Global error boundary, unhandled promise rejections, logging |
40
+ | 15 | **Environment Config** | `.env.example`, `pydantic-settings`, config validation on startup |
41
+ | 16 | **Dead Code / Tech Debt** | TODOs, commented-out code, unused packages, deprecated calls |
42
+ | 17 | **Naming Conventions** | Consistent file/folder naming, component vs module patterns |
43
+ | 18 | **Shared Libraries** | Utility functions, hooks, services — shared vs duplicated |
44
+ | 19 | **Accessibility** | ARIA usage, keyboard nav, color contrast, skip-nav |
45
+ | 20 | **Observability** | Logging format, tracing, health endpoints, error reporting |
46
+
47
+ ## 3. 6-Step Audit Method
48
+
49
+ ### Step 1 — Map the Repository
50
+ ```
51
+ actions:
52
+ - List top-level directories and understand intent of each
53
+ - Identify the project type (app, library, monorepo, microservice)
54
+ - Read README.md fully — note setup instructions, known issues
55
+ - Check for CONTRIBUTING.md, ARCHITECTURE.md, or ADR folders
56
+ ```
57
+
58
+ ### Step 2 — Find Entry Points
59
+ ```
60
+ actions:
61
+ - Identify main application entry (main.py, app.py, src/index.ts, src/main.ts)
62
+ - Trace the request lifecycle from entry to response (1 complete path)
63
+ - Identify router/controller/handler layers
64
+ - Find test entry (jest.config.ts, vite.config.ts, pytest.ini/pyproject.toml)
65
+ - Find build entry (package.json scripts, Makefile, Dockerfile)
66
+ ```
67
+
68
+ ### Step 3 — Dependencies and Versions
69
+ ```
70
+ actions:
71
+ - Read package.json / pyproject.toml — note major dependencies and versions
72
+ - Check for deprecated or significantly outdated packages
73
+ - Identify direct vs transitive dependency conflicts
74
+ - Note peer dependency version mismatches
75
+ - Check for security advisories (mental note or npm audit / pip-audit)
76
+ ```
77
+
78
+ ### Step 4 — Audit by Severity
79
+ ```
80
+ For each area in §2, assign:
81
+ 🔴 CRITICAL — Security vulnerability, data loss risk, broken functionality
82
+ 🟡 WARNING — Performance issue, tech debt, missing validation
83
+ 🟢 NOTE — Style inconsistency, minor improvement opportunity
84
+ ⚪ OK — Meets expectations, no action needed
85
+ ```
86
+
87
+ ### Step 5 — Compile Questions
88
+ ```
89
+ For every assumption or ambiguity discovered:
90
+ - Business context: "Why does X exist? Is it still needed?"
91
+ - Architecture: "Is this pattern intentional or historical?"
92
+ - Implementation: "Is there a newer pattern preferred for this?"
93
+ - Scope: "Which areas are off-limits for this change?"
94
+ ```
95
+
96
+ ### Step 6 — Write Deliverables
97
+ Write two files in the project root (or `docs/` if it exists):
98
+ - `AUDIT-FINDINGS.md`
99
+ - `QUESTIONS.md`
100
+
101
+ ## 4. Output Templates
102
+
103
+ ### `AUDIT-FINDINGS.md`
104
+ ```markdown
105
+ # Codebase Audit Findings
106
+
107
+ **Project**: [name]
108
+ **Audited**: [date]
109
+ **Scope**: [what was covered]
110
+
111
+ ## Summary
112
+ [2–3 sentence high-level assessment]
113
+
114
+ ## Critical Findings 🔴
115
+
116
+ ### CRIT-001: [Title]
117
+ **File**: `path/to/file.ts` (line N)
118
+ **Issue**: [What is wrong and why]
119
+ **Risk**: [What can go wrong]
120
+ **Recommendation**: [Specific fix]
121
+
122
+ ## Warnings 🟡
123
+
124
+ ### WARN-001: [Title]
125
+ **File**: `path/to/file.py`
126
+ **Issue**: [What needs attention]
127
+ **Recommendation**: [Specific improvement]
128
+
129
+ ## Notes 🟢
130
+
131
+ - [Minor observations, style, preferences]
132
+
133
+ ## Architecture Overview
134
+ [Brief description of what was found — layers, patterns, notable design decisions]
135
+
136
+ ## Scope for Current Task
137
+ Based on the requested change, these areas are in scope: …
138
+ These areas should NOT be touched: …
139
+ ```
140
+
141
+ ### `QUESTIONS.md`
142
+ ```markdown
143
+ # Pre-Implementation Questions
144
+
145
+ **For**: [next agent or human reviewer]
146
+ **Context**: [what we're about to build]
147
+
148
+ ## Blocking Questions (must answer before code changes)
149
+
150
+ ### Q1: [Question]
151
+ **Context**: [why this matters]
152
+ **Impact if wrong**: [what breaks]
153
+
154
+ ### Q2: [Question]
155
+
156
+ ## Advisory Questions (inform decisions but don't block)
157
+
158
+ ### Q3: [Question]
159
+
160
+ ## Assumptions Made
161
+ If we proceed without answers, these assumptions apply:
162
+ - [assumption 1]
163
+ - [assumption 2]
164
+ ```
165
+
166
+ ## 5. Severity Tags
167
+
168
+ | Tag | Code | Meaning |
169
+ |---|---|---|
170
+ | 🔴 Critical | `CRIT-NNN` | Fix before any changes proceed |
171
+ | 🟡 Warning | `WARN-NNN` | Address in current or next sprint |
172
+ | 🟢 Note | `NOTE-NNN` | Backlog item or stylistic observation |
173
+ | ⚪ OK | — | No action needed |
174
+
175
+ ## 6. Handoff Guidance
176
+
177
+ After completing the audit:
178
+
179
+ | Finding Type | Route To |
180
+ |---|---|
181
+ | Architecture redesign needed | `@Architect` — provide `AUDIT-FINDINGS.md` |
182
+ | Implementation can proceed with caution | `@Planner` — provide findings + questions |
183
+ | Major quality/security issues | `@Code-Reviewer` + `@Security-Analyst` |
184
+ | Only minor notes, clear path | Proceed directly with `@Implement` or `@Anchor` |
185
+
186
+ ### Prompt template for handoff:
187
+ ```
188
+ @[Agent]: I've completed a codebase audit.
189
+ Findings: [link or inline AUDIT-FINDINGS.md]
190
+ Blocking questions: [key Q from QUESTIONS.md]
191
+ The task is: [original task description]
192
+ Please [design solution / create plan / review / implement] with these findings in mind.
193
+ ```
194
+
195
+ ## 7. Checklist
196
+
197
+ - [ ] README.md read fully
198
+ - [ ] Entry point traced end-to-end (one complete request/render cycle)
199
+ - [ ] All 20 audit areas assessed (even if just ⚪ OK)
200
+ - [ ] Critical findings have file + line citation
201
+ - [ ] `AUDIT-FINDINGS.md` written to disk
202
+ - [ ] `QUESTIONS.md` written to disk
203
+ - [ ] Blocking questions identified separately
204
+ - [ ] Agent handoff prompt prepared