cfsa-antigravity 1.0.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 (378) hide show
  1. package/bin/cli.mjs +324 -0
  2. package/package.json +34 -0
  3. package/template/.agent/instructions/commands.md +48 -0
  4. package/template/.agent/instructions/patterns.md +61 -0
  5. package/template/.agent/instructions/structure.md +29 -0
  6. package/template/.agent/instructions/tech-stack.md +43 -0
  7. package/template/.agent/instructions/workflow.md +41 -0
  8. package/template/.agent/kit-sync.md +15 -0
  9. package/template/.agent/rules/boundary-not-placeholder.md +146 -0
  10. package/template/.agent/rules/completion-checklist.md +48 -0
  11. package/template/.agent/rules/decision-classification.md +103 -0
  12. package/template/.agent/rules/extensibility.md +47 -0
  13. package/template/.agent/rules/question-vs-command.md +81 -0
  14. package/template/.agent/rules/security-first.md +43 -0
  15. package/template/.agent/rules/specificity-standards.md +54 -0
  16. package/template/.agent/rules/tdd-contract-first.md +57 -0
  17. package/template/.agent/rules/vertical-slices.md +42 -0
  18. package/template/.agent/skill-library/MANIFEST.md +480 -0
  19. package/template/.agent/skill-library/README.md +38 -0
  20. package/template/.agent/skill-library/meta/brand-guidelines/SKILL.md +73 -0
  21. package/template/.agent/skill-library/meta/claude-code/README.md +9 -0
  22. package/template/.agent/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
  23. package/template/.agent/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
  24. package/template/.agent/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
  25. package/template/.agent/skill-library/meta/git-advanced/SKILL.md +972 -0
  26. package/template/.agent/skill-library/meta/mcp-builder/SKILL.md +236 -0
  27. package/template/.agent/skill-library/meta/product-marketing-context/SKILL.md +241 -0
  28. package/template/.agent/skill-library/meta/regex-patterns/SKILL.md +751 -0
  29. package/template/.agent/skill-library/meta/tmux-processes/SKILL.md +210 -0
  30. package/template/.agent/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
  31. package/template/.agent/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
  32. package/template/.agent/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
  33. package/template/.agent/skill-library/stack/ai/langchain/SKILL.md +530 -0
  34. package/template/.agent/skill-library/stack/ai/ollama/SKILL.md +321 -0
  35. package/template/.agent/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
  36. package/template/.agent/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
  37. package/template/.agent/skill-library/stack/api/graphql/SKILL.md +1061 -0
  38. package/template/.agent/skill-library/stack/api/trpc/SKILL.md +576 -0
  39. package/template/.agent/skill-library/stack/auth/authjs/SKILL.md +569 -0
  40. package/template/.agent/skill-library/stack/auth/clerk/SKILL.md +590 -0
  41. package/template/.agent/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
  42. package/template/.agent/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
  43. package/template/.agent/skill-library/stack/cms/shopify/SKILL.md +1193 -0
  44. package/template/.agent/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
  45. package/template/.agent/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
  46. package/template/.agent/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
  47. package/template/.agent/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
  48. package/template/.agent/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
  49. package/template/.agent/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
  50. package/template/.agent/skill-library/stack/databases/influxdb/SKILL.md +280 -0
  51. package/template/.agent/skill-library/stack/databases/lancedb/SKILL.md +415 -0
  52. package/template/.agent/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
  53. package/template/.agent/skill-library/stack/databases/neo4j/SKILL.md +839 -0
  54. package/template/.agent/skill-library/stack/databases/pgvector/SKILL.md +241 -0
  55. package/template/.agent/skill-library/stack/databases/pinecone/SKILL.md +212 -0
  56. package/template/.agent/skill-library/stack/databases/postgresql/SKILL.md +658 -0
  57. package/template/.agent/skill-library/stack/databases/qdrant/SKILL.md +312 -0
  58. package/template/.agent/skill-library/stack/databases/redis/SKILL.md +1079 -0
  59. package/template/.agent/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
  60. package/template/.agent/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
  61. package/template/.agent/skill-library/stack/databases/supabase/SKILL.md +640 -0
  62. package/template/.agent/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
  63. package/template/.agent/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
  64. package/template/.agent/skill-library/stack/databases/weaviate/SKILL.md +218 -0
  65. package/template/.agent/skill-library/stack/devops/github-actions/SKILL.md +554 -0
  66. package/template/.agent/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
  67. package/template/.agent/skill-library/stack/devops/nginx/SKILL.md +841 -0
  68. package/template/.agent/skill-library/stack/devops/terraform/SKILL.md +860 -0
  69. package/template/.agent/skill-library/stack/email/resend/SKILL.md +391 -0
  70. package/template/.agent/skill-library/stack/engines/godot/SKILL.md +488 -0
  71. package/template/.agent/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
  72. package/template/.agent/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
  73. package/template/.agent/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
  74. package/template/.agent/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
  75. package/template/.agent/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
  76. package/template/.agent/skill-library/stack/frameworks/hono/SKILL.md +90 -0
  77. package/template/.agent/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
  78. package/template/.agent/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
  79. package/template/.agent/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
  80. package/template/.agent/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
  81. package/template/.agent/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
  82. package/template/.agent/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
  83. package/template/.agent/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
  84. package/template/.agent/skill-library/stack/hosting/aws/SKILL.md +467 -0
  85. package/template/.agent/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
  86. package/template/.agent/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
  87. package/template/.agent/skill-library/stack/hosting/vercel/SKILL.md +484 -0
  88. package/template/.agent/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
  89. package/template/.agent/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
  90. package/template/.agent/skill-library/stack/languages/gdscript/SKILL.md +789 -0
  91. package/template/.agent/skill-library/stack/languages/go/SKILL.md +664 -0
  92. package/template/.agent/skill-library/stack/languages/java/SKILL.md +778 -0
  93. package/template/.agent/skill-library/stack/languages/kotlin/SKILL.md +665 -0
  94. package/template/.agent/skill-library/stack/languages/python/SKILL.md +678 -0
  95. package/template/.agent/skill-library/stack/languages/rust/SKILL.md +673 -0
  96. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
  97. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
  98. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
  99. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
  100. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
  101. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
  102. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
  103. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
  104. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
  105. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
  106. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
  107. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
  108. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
  109. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
  110. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
  111. package/template/.agent/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
  112. package/template/.agent/skill-library/stack/messaging/kafka/SKILL.md +235 -0
  113. package/template/.agent/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
  114. package/template/.agent/skill-library/stack/mobile/flutter/SKILL.md +316 -0
  115. package/template/.agent/skill-library/stack/mobile/react-native/SKILL.md +337 -0
  116. package/template/.agent/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
  117. package/template/.agent/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
  118. package/template/.agent/skill-library/stack/observability/datadog/SKILL.md +179 -0
  119. package/template/.agent/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
  120. package/template/.agent/skill-library/stack/observability/logging-best-practices/SKILL.md +168 -0
  121. package/template/.agent/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
  122. package/template/.agent/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
  123. package/template/.agent/skill-library/stack/observability/python-observability/SKILL.md +158 -0
  124. package/template/.agent/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
  125. package/template/.agent/skill-library/stack/orm/prisma/SKILL.md +744 -0
  126. package/template/.agent/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
  127. package/template/.agent/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
  128. package/template/.agent/skill-library/stack/queue/bullmq/SKILL.md +385 -0
  129. package/template/.agent/skill-library/stack/queue/inngest/SKILL.md +438 -0
  130. package/template/.agent/skill-library/stack/realtime/socketio/SKILL.md +595 -0
  131. package/template/.agent/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
  132. package/template/.agent/skill-library/stack/search/meilisearch/SKILL.md +385 -0
  133. package/template/.agent/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
  134. package/template/.agent/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
  135. package/template/.agent/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
  136. package/template/.agent/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
  137. package/template/.agent/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
  138. package/template/.agent/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
  139. package/template/.agent/skill-library/stack/state/zustand/SKILL.md +483 -0
  140. package/template/.agent/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
  141. package/template/.agent/skill-library/stack/testing/playwright/SKILL.md +641 -0
  142. package/template/.agent/skill-library/stack/testing/storybook/SKILL.md +923 -0
  143. package/template/.agent/skill-library/stack/testing/testing-library/SKILL.md +872 -0
  144. package/template/.agent/skill-library/stack/testing/vitest/SKILL.md +714 -0
  145. package/template/.agent/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
  146. package/template/.agent/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
  147. package/template/.agent/skill-library/stack/ui/react-flow/SKILL.md +425 -0
  148. package/template/.agent/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
  149. package/template/.agent/skill-library/surface/api/api-caching/SKILL.md +458 -0
  150. package/template/.agent/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
  151. package/template/.agent/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
  152. package/template/.agent/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
  153. package/template/.agent/skill-library/surface/api/api-versioning/SKILL.md +420 -0
  154. package/template/.agent/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
  155. package/template/.agent/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
  156. package/template/.agent/skill-library/surface/api/rest-api-design/SKILL.md +478 -0
  157. package/template/.agent/skill-library/surface/api/webhook-design/SKILL.md +752 -0
  158. package/template/.agent/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
  159. package/template/.agent/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
  160. package/template/.agent/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
  161. package/template/.agent/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
  162. package/template/.agent/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
  163. package/template/.agent/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
  164. package/template/.agent/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
  165. package/template/.agent/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
  166. package/template/.agent/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
  167. package/template/.agent/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
  168. package/template/.agent/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
  169. package/template/.agent/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
  170. package/template/.agent/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
  171. package/template/.agent/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
  172. package/template/.agent/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
  173. package/template/.agent/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
  174. package/template/.agent/skill-library/surface/web/ai-seo/SKILL.md +398 -0
  175. package/template/.agent/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
  176. package/template/.agent/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
  177. package/template/.agent/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
  178. package/template/.agent/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
  179. package/template/.agent/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
  180. package/template/.agent/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
  181. package/template/.agent/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
  182. package/template/.agent/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
  183. package/template/.agent/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
  184. package/template/.agent/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
  185. package/template/.agent/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
  186. package/template/.agent/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
  187. package/template/.agent/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
  188. package/template/.agent/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
  189. package/template/.agent/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
  190. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
  191. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
  192. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
  193. package/template/.agent/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
  194. package/template/.agent/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
  195. package/template/.agent/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
  196. package/template/.agent/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
  197. package/template/.agent/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
  198. package/template/.agent/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
  199. package/template/.agent/skill-library/surface/web/i18n-localization/SKILL.md +154 -0
  200. package/template/.agent/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
  201. package/template/.agent/skill-library/surface/web/page-cro/SKILL.md +182 -0
  202. package/template/.agent/skill-library/surface/web/page-cro/references/experiments.md +248 -0
  203. package/template/.agent/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
  204. package/template/.agent/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
  205. package/template/.agent/skill-library/surface/web/schema-markup/SKILL.md +179 -0
  206. package/template/.agent/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
  207. package/template/.agent/skill-library/surface/web/seo-audit/SKILL.md +394 -0
  208. package/template/.agent/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
  209. package/template/.agent/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
  210. package/template/.agent/skill-library/surface/web/web-scraping/SKILL.md +58 -0
  211. package/template/.agent/skills/accessibility/SKILL.md +522 -0
  212. package/template/.agent/skills/accessibility/references/WCAG.md +162 -0
  213. package/template/.agent/skills/adversarial-review/SKILL.md +90 -0
  214. package/template/.agent/skills/antigravity-workflows/SKILL.md +81 -0
  215. package/template/.agent/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
  216. package/template/.agent/skills/api-design-principles/SKILL.md +37 -0
  217. package/template/.agent/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  218. package/template/.agent/skills/api-design-principles/assets/rest-api-template.py +182 -0
  219. package/template/.agent/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  220. package/template/.agent/skills/api-design-principles/references/rest-best-practices.md +408 -0
  221. package/template/.agent/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  222. package/template/.agent/skills/api-versioning/SKILL.md +420 -0
  223. package/template/.agent/skills/architecture-mapping/SKILL.md +219 -0
  224. package/template/.agent/skills/bootstrap-agents/SKILL.md +259 -0
  225. package/template/.agent/skills/brainstorming/SKILL.md +236 -0
  226. package/template/.agent/skills/brand-guidelines/SKILL.md +44 -0
  227. package/template/.agent/skills/clean-code/SKILL.md +94 -0
  228. package/template/.agent/skills/code-review-pro/SKILL.md +152 -0
  229. package/template/.agent/skills/concise-planning/SKILL.md +68 -0
  230. package/template/.agent/skills/cross-layer-consistency/SKILL.md +117 -0
  231. package/template/.agent/skills/database-schema-design/SKILL.md +429 -0
  232. package/template/.agent/skills/deployment-procedures/SKILL.md +241 -0
  233. package/template/.agent/skills/design-anti-cliche/SKILL.md +159 -0
  234. package/template/.agent/skills/design-direction/SKILL.md +45 -0
  235. package/template/.agent/skills/error-handling-patterns/SKILL.md +721 -0
  236. package/template/.agent/skills/find-skills/SKILL.md +145 -0
  237. package/template/.agent/skills/git-advanced/SKILL.md +972 -0
  238. package/template/.agent/skills/git-workflow/SKILL.md +420 -0
  239. package/template/.agent/skills/idea-extraction/SKILL.md +271 -0
  240. package/template/.agent/skills/logging-best-practices/SKILL.md +851 -0
  241. package/template/.agent/skills/migration-management/SKILL.md +384 -0
  242. package/template/.agent/skills/minimalist-surgical-development/SKILL.md +69 -0
  243. package/template/.agent/skills/parallel-agents/SKILL.md +165 -0
  244. package/template/.agent/skills/parallel-debugging/SKILL.md +135 -0
  245. package/template/.agent/skills/parallel-feature-development/SKILL.md +166 -0
  246. package/template/.agent/skills/performance-budgeting/SKILL.md +144 -0
  247. package/template/.agent/skills/pipeline-rubrics/SKILL.md +51 -0
  248. package/template/.agent/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
  249. package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +21 -0
  250. package/template/.agent/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
  251. package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
  252. package/template/.agent/skills/pipeline-rubrics/references/scoring.md +28 -0
  253. package/template/.agent/skills/pipeline-rubrics/references/vision-rubric.md +11 -0
  254. package/template/.agent/skills/prd-templates/SKILL.md +88 -0
  255. package/template/.agent/skills/prd-templates/references/architecture-design-template.md +88 -0
  256. package/template/.agent/skills/prd-templates/references/be-spec-template.md +101 -0
  257. package/template/.agent/skills/prd-templates/references/data-placement-template.md +74 -0
  258. package/template/.agent/skills/prd-templates/references/decomposition-templates.md +211 -0
  259. package/template/.agent/skills/prd-templates/references/design-system-decisions.md +198 -0
  260. package/template/.agent/skills/prd-templates/references/engineering-standards-template.md +124 -0
  261. package/template/.agent/skills/prd-templates/references/fe-classification-procedures.md +47 -0
  262. package/template/.agent/skills/prd-templates/references/fe-spec-template.md +84 -0
  263. package/template/.agent/skills/prd-templates/references/infrastructure-report-template.md +71 -0
  264. package/template/.agent/skills/prd-templates/references/operational-templates.md +116 -0
  265. package/template/.agent/skills/prd-templates/references/placeholder-guard-template.md +21 -0
  266. package/template/.agent/skills/prd-templates/references/surface-model.md +61 -0
  267. package/template/.agent/skills/prd-templates/references/vision-template.md +66 -0
  268. package/template/.agent/skills/prompt-engineer/README.md +659 -0
  269. package/template/.agent/skills/prompt-engineer/SKILL.md +249 -0
  270. package/template/.agent/skills/regex-patterns/SKILL.md +751 -0
  271. package/template/.agent/skills/resolve-ambiguity/SKILL.md +278 -0
  272. package/template/.agent/skills/rest-api-design/SKILL.md +478 -0
  273. package/template/.agent/skills/security-scanning-security-hardening/SKILL.md +231 -0
  274. package/template/.agent/skills/session-continuity/SKILL.md +730 -0
  275. package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +38 -0
  276. package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +85 -0
  277. package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +70 -0
  278. package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
  279. package/template/.agent/skills/session-continuity/protocols/05-session-close.md +37 -0
  280. package/template/.agent/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
  281. package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
  282. package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +43 -0
  283. package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
  284. package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +104 -0
  285. package/template/.agent/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
  286. package/template/.agent/skills/skill-creator/LICENSE.txt +202 -0
  287. package/template/.agent/skills/skill-creator/README.md +270 -0
  288. package/template/.agent/skills/skill-creator/SKILL.md +590 -0
  289. package/template/.agent/skills/skill-creator/references/output-patterns.md +82 -0
  290. package/template/.agent/skills/skill-creator/references/workflows.md +28 -0
  291. package/template/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
  292. package/template/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
  293. package/template/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
  294. package/template/.agent/skills/spec-writing/SKILL.md +110 -0
  295. package/template/.agent/skills/systematic-debugging/CREATION-LOG.md +119 -0
  296. package/template/.agent/skills/systematic-debugging/SKILL.md +297 -0
  297. package/template/.agent/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  298. package/template/.agent/skills/systematic-debugging/condition-based-waiting.md +115 -0
  299. package/template/.agent/skills/systematic-debugging/defense-in-depth.md +122 -0
  300. package/template/.agent/skills/systematic-debugging/find-polluter.sh +63 -0
  301. package/template/.agent/skills/systematic-debugging/root-cause-tracing.md +169 -0
  302. package/template/.agent/skills/systematic-debugging/test-academic.md +14 -0
  303. package/template/.agent/skills/systematic-debugging/test-pressure-1.md +58 -0
  304. package/template/.agent/skills/systematic-debugging/test-pressure-2.md +68 -0
  305. package/template/.agent/skills/systematic-debugging/test-pressure-3.md +69 -0
  306. package/template/.agent/skills/tdd-workflow/SKILL.md +409 -0
  307. package/template/.agent/skills/tech-stack-catalog/SKILL.md +49 -0
  308. package/template/.agent/skills/tech-stack-catalog/references/constraint-questions.md +21 -0
  309. package/template/.agent/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
  310. package/template/.agent/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
  311. package/template/.agent/skills/technical-writer/SKILL.md +242 -0
  312. package/template/.agent/skills/testing-strategist/SKILL.md +932 -0
  313. package/template/.agent/skills/verification-before-completion/SKILL.md +145 -0
  314. package/template/.agent/skills/workflow-automation/SKILL.md +73 -0
  315. package/template/.agent/workflows/audit-ambiguity-execute.md +165 -0
  316. package/template/.agent/workflows/audit-ambiguity-rubrics.md +83 -0
  317. package/template/.agent/workflows/audit-ambiguity.md +64 -0
  318. package/template/.agent/workflows/bootstrap-agents-fill.md +201 -0
  319. package/template/.agent/workflows/bootstrap-agents-provision.md +197 -0
  320. package/template/.agent/workflows/bootstrap-agents.md +66 -0
  321. package/template/.agent/workflows/create-prd-architecture.md +119 -0
  322. package/template/.agent/workflows/create-prd-compile.md +138 -0
  323. package/template/.agent/workflows/create-prd-design-system.md +135 -0
  324. package/template/.agent/workflows/create-prd-security.md +113 -0
  325. package/template/.agent/workflows/create-prd-stack.md +91 -0
  326. package/template/.agent/workflows/create-prd.md +168 -0
  327. package/template/.agent/workflows/decompose-architecture-structure.md +82 -0
  328. package/template/.agent/workflows/decompose-architecture-validate.md +119 -0
  329. package/template/.agent/workflows/decompose-architecture.md +111 -0
  330. package/template/.agent/workflows/evolve-contract.md +98 -0
  331. package/template/.agent/workflows/evolve-feature-cascade.md +140 -0
  332. package/template/.agent/workflows/evolve-feature-classify.md +116 -0
  333. package/template/.agent/workflows/evolve-feature.md +56 -0
  334. package/template/.agent/workflows/ideate-discover.md +144 -0
  335. package/template/.agent/workflows/ideate-extract.md +129 -0
  336. package/template/.agent/workflows/ideate-validate.md +117 -0
  337. package/template/.agent/workflows/ideate.md +113 -0
  338. package/template/.agent/workflows/implement-slice-setup.md +113 -0
  339. package/template/.agent/workflows/implement-slice-tdd.md +198 -0
  340. package/template/.agent/workflows/implement-slice.md +50 -0
  341. package/template/.agent/workflows/plan-phase.md +202 -0
  342. package/template/.agent/workflows/propagate-decision-apply.md +135 -0
  343. package/template/.agent/workflows/propagate-decision-scan.md +147 -0
  344. package/template/.agent/workflows/propagate-decision.md +56 -0
  345. package/template/.agent/workflows/remediate-pipeline-assess.md +138 -0
  346. package/template/.agent/workflows/remediate-pipeline-execute.md +135 -0
  347. package/template/.agent/workflows/remediate-pipeline.md +55 -0
  348. package/template/.agent/workflows/resolve-ambiguity.md +82 -0
  349. package/template/.agent/workflows/sync-kit.md +209 -0
  350. package/template/.agent/workflows/update-architecture-map.md +74 -0
  351. package/template/.agent/workflows/validate-phase.md +219 -0
  352. package/template/.agent/workflows/verify-infrastructure.md +207 -0
  353. package/template/.agent/workflows/write-architecture-spec-deepen.md +139 -0
  354. package/template/.agent/workflows/write-architecture-spec-design.md +202 -0
  355. package/template/.agent/workflows/write-architecture-spec.md +63 -0
  356. package/template/.agent/workflows/write-be-spec-classify.md +165 -0
  357. package/template/.agent/workflows/write-be-spec-write.md +98 -0
  358. package/template/.agent/workflows/write-be-spec.md +76 -0
  359. package/template/.agent/workflows/write-fe-spec-classify.md +170 -0
  360. package/template/.agent/workflows/write-fe-spec-write.md +94 -0
  361. package/template/.agent/workflows/write-fe-spec.md +71 -0
  362. package/template/AGENTS.md +176 -0
  363. package/template/GEMINI.md +177 -0
  364. package/template/docs/README.md +187 -0
  365. package/template/docs/audits/.gitkeep +0 -0
  366. package/template/docs/audits/README.md +10 -0
  367. package/template/docs/plans/.gitkeep +0 -0
  368. package/template/docs/plans/README.md +21 -0
  369. package/template/docs/plans/be/.gitkeep +0 -0
  370. package/template/docs/plans/be/README.md +11 -0
  371. package/template/docs/plans/fe/.gitkeep +0 -0
  372. package/template/docs/plans/fe/README.md +11 -0
  373. package/template/docs/plans/ia/.gitkeep +0 -0
  374. package/template/docs/plans/ia/README.md +17 -0
  375. package/template/docs/plans/ia/deep-dives/.gitkeep +0 -0
  376. package/template/docs/plans/ia/deep-dives/README.md +5 -0
  377. package/template/docs/plans/phases/.gitkeep +0 -0
  378. package/template/docs/plans/phases/README.md +11 -0
@@ -0,0 +1,488 @@
1
+ ---
2
+ name: godot
3
+ description: "Expert Godot 4.x engine guide covering GDScript best practices (static typing, signals, exports, @onready), scene tree architecture, node composition patterns, physics (CharacterBody2D/3D, Area, RigidBody), navigation (NavigationAgent), networking (MultiplayerSynchronizer, RPCs), resource management, animation (AnimationPlayer, AnimationTree, Tweens), UI (Control nodes, themes), and export/deployment. Use when building games or interactive applications with Godot Engine."
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # Godot 4.x Expert Guide
8
+
9
+ > Use this skill when designing Godot projects, writing GDScript, structuring scene trees, implementing physics, networking, or UI. Targets Godot 4.x with GDScript (not C# or GDExtension).
10
+
11
+ ## When to Use This Skill
12
+
13
+ - Building 2D or 3D games with Godot Engine
14
+ - Designing scene tree architecture and node hierarchies
15
+ - Implementing player controllers, AI, or physics interactions
16
+ - Setting up multiplayer/networking
17
+ - Creating UI systems with Control nodes
18
+ - Optimizing game performance
19
+
20
+ ## When NOT to Use This Skill
21
+
22
+ - Unity or Unreal Engine projects
23
+ - Non-game Godot applications using C# → use C#-specific patterns
24
+ - Web-only applications → use a frontend framework
25
+
26
+ ---
27
+
28
+ ## 1. GDScript Best Practices (CRITICAL)
29
+
30
+ ### Class Declaration Order
31
+
32
+ Follow the official style guide ordering:
33
+
34
+ ```gdscript
35
+ class_name Player
36
+ extends CharacterBody2D
37
+
38
+ ## Emitted when the player takes damage.
39
+ signal health_changed(new_health: int)
40
+ signal died
41
+
42
+ enum State { IDLE, RUN, JUMP, ATTACK }
43
+
44
+ const MAX_HEALTH: int = 100
45
+ const GRAVITY: float = 980.0
46
+
47
+ @export_group("Movement")
48
+ @export var move_speed: float = 200.0
49
+ @export var jump_force: float = -400.0
50
+
51
+ @export_group("Combat")
52
+ @export var attack_power: int = 25
53
+ @export var defense: int = 15
54
+
55
+ var health: int = MAX_HEALTH:
56
+ set(value):
57
+ health = clampi(value, 0, MAX_HEALTH)
58
+ health_changed.emit(health)
59
+ if health <= 0:
60
+ died.emit()
61
+
62
+ var _state: State = State.IDLE
63
+ var _velocity_cache: Vector2 = Vector2.ZERO
64
+
65
+ @onready var animation_player: AnimationPlayer = $AnimationPlayer
66
+ @onready var sprite: Sprite2D = $Sprite2D
67
+ @onready var collision: CollisionShape2D = $CollisionShape2D
68
+
69
+
70
+ func _ready() -> void:
71
+ pass
72
+
73
+ func _physics_process(delta: float) -> void:
74
+ pass
75
+
76
+ func _unhandled_input(event: InputEvent) -> void:
77
+ pass
78
+
79
+ # Public methods
80
+ func take_damage(amount: int) -> void:
81
+ health -= max(0, amount - defense)
82
+
83
+ # Private methods
84
+ func _update_animation() -> void:
85
+ pass
86
+ ```
87
+
88
+ ### Static Typing
89
+
90
+ **Always use static typing.** It catches bugs at parse time and enables editor autocompletion:
91
+
92
+ ```gdscript
93
+ # ✅ Typed
94
+ var speed: float = 300.0
95
+ var items: Array[Item] = []
96
+ var target: Node2D = null
97
+ func get_damage() -> int:
98
+ return attack_power
99
+
100
+ # ❌ Untyped
101
+ var speed = 300.0
102
+ var items = []
103
+ func get_damage():
104
+ return attack_power
105
+ ```
106
+
107
+ > Enable `Text Editor > Completion > Add Type Hints` in Editor Settings.
108
+
109
+ ### Signals
110
+
111
+ Prefer signals over direct references for decoupling:
112
+
113
+ ```gdscript
114
+ # ✅ Signal-based communication
115
+ signal coin_collected(value: int)
116
+
117
+ func _on_pickup_area_body_entered(body: Node2D) -> void:
118
+ if body is Player:
119
+ coin_collected.emit(coin_value)
120
+ queue_free()
121
+
122
+ # Connect in parent scene
123
+ func _ready() -> void:
124
+ coin.coin_collected.connect(_on_coin_collected)
125
+
126
+ func _on_coin_collected(value: int) -> void:
127
+ score += value
128
+ ```
129
+
130
+ ### Export Variables
131
+
132
+ Use `@export` with type hints and grouping for editor usability:
133
+
134
+ ```gdscript
135
+ @export_group("Stats")
136
+ @export var max_health: int = 100
137
+ @export_range(0.0, 1.0, 0.05) var crit_chance: float = 0.1
138
+ @export var character_class: StringName = &"Warrior"
139
+
140
+ @export_group("References")
141
+ @export var projectile_scene: PackedScene
142
+ @export_file("*.json") var config_path: String
143
+ @export_node_path("Area2D") var hitbox_path: NodePath
144
+ ```
145
+
146
+ ---
147
+
148
+ ## 2. Scene Tree Architecture (CRITICAL)
149
+
150
+ ### Composition Over Inheritance
151
+
152
+ Build game entities by composing nodes, not deep inheritance chains:
153
+
154
+ ```
155
+ Player (CharacterBody2D)
156
+ ├── Sprite2D
157
+ ├── CollisionShape2D
158
+ ├── AnimationPlayer
159
+ ├── HitboxComponent (Area2D)
160
+ │ └── CollisionShape2D
161
+ ├── HurtboxComponent (Area2D)
162
+ │ └── CollisionShape2D
163
+ ├── HealthComponent (Node)
164
+ ├── StateMachine (Node)
165
+ │ ├── IdleState
166
+ │ ├── RunState
167
+ │ └── AttackState
168
+ └── NavigationAgent2D
169
+ ```
170
+
171
+ ### Reusable Components
172
+
173
+ Extract shared behaviors into reusable scenes:
174
+
175
+ ```gdscript
176
+ # health_component.gd
177
+ class_name HealthComponent
178
+ extends Node
179
+
180
+ signal health_changed(current: int, maximum: int)
181
+ signal died
182
+
183
+ @export var max_health: int = 100
184
+ var current_health: int
185
+
186
+ func _ready() -> void:
187
+ current_health = max_health
188
+
189
+ func take_damage(amount: int) -> void:
190
+ current_health = max(0, current_health - amount)
191
+ health_changed.emit(current_health, max_health)
192
+ if current_health <= 0:
193
+ died.emit()
194
+
195
+ func heal(amount: int) -> void:
196
+ current_health = min(max_health, current_health + amount)
197
+ health_changed.emit(current_health, max_health)
198
+ ```
199
+
200
+ ### Autoloads (Singletons)
201
+
202
+ Use sparingly for truly global systems:
203
+
204
+ ```gdscript
205
+ # game_manager.gd — registered as Autoload "GameManager"
206
+ extends Node
207
+
208
+ signal game_paused
209
+ signal game_resumed
210
+
211
+ var score: int = 0
212
+ var is_paused: bool = false
213
+
214
+ func pause_game() -> void:
215
+ is_paused = true
216
+ get_tree().paused = true
217
+ game_paused.emit()
218
+
219
+ func resume_game() -> void:
220
+ is_paused = false
221
+ get_tree().paused = false
222
+ game_resumed.emit()
223
+ ```
224
+
225
+ > **Rule**: Only Autoload managers for global state (AudioManager, GameManager, SaveManager). Never Autoload game entities.
226
+
227
+ ---
228
+
229
+ ## 3. Physics & Movement
230
+
231
+ ### CharacterBody2D/3D
232
+
233
+ ```gdscript
234
+ extends CharacterBody2D
235
+
236
+ @export var speed: float = 300.0
237
+ @export var jump_force: float = -400.0
238
+ @export var gravity: float = 980.0
239
+
240
+ func _physics_process(delta: float) -> void:
241
+ # Gravity
242
+ if not is_on_floor():
243
+ velocity.y += gravity * delta
244
+
245
+ # Jump
246
+ if Input.is_action_just_pressed("jump") and is_on_floor():
247
+ velocity.y = jump_force
248
+
249
+ # Horizontal movement
250
+ var direction: float = Input.get_axis("move_left", "move_right")
251
+ velocity.x = direction * speed
252
+
253
+ move_and_slide()
254
+ ```
255
+
256
+ ### Area2D for Detection
257
+
258
+ ```gdscript
259
+ # hitbox_component.gd
260
+ extends Area2D
261
+
262
+ @export var damage: int = 10
263
+
264
+ func _on_body_entered(body: Node2D) -> void:
265
+ if body.has_method("take_damage"):
266
+ body.take_damage(damage)
267
+ ```
268
+
269
+ ### Navigation
270
+
271
+ ```gdscript
272
+ extends CharacterBody2D
273
+
274
+ @export var speed: float = 200.0
275
+ @onready var nav_agent: NavigationAgent2D = $NavigationAgent2D
276
+
277
+ func set_target(target_pos: Vector2) -> void:
278
+ nav_agent.target_position = target_pos
279
+
280
+ func _physics_process(delta: float) -> void:
281
+ if nav_agent.is_navigation_finished():
282
+ return
283
+
284
+ var next_pos: Vector2 = nav_agent.get_next_path_position()
285
+ var direction: Vector2 = global_position.direction_to(next_pos)
286
+ velocity = direction * speed
287
+ move_and_slide()
288
+ ```
289
+
290
+ > **Tip**: For 100+ AI agents, enable `NavigationAgent.avoidance_enabled` and time-slice pathfinding over multiple frames.
291
+
292
+ ---
293
+
294
+ ## 4. State Machines
295
+
296
+ ```gdscript
297
+ # state_machine.gd
298
+ class_name StateMachine
299
+ extends Node
300
+
301
+ @export var initial_state: State
302
+ var current_state: State
303
+
304
+ func _ready() -> void:
305
+ for child in get_children():
306
+ if child is State:
307
+ child.state_machine = self
308
+ current_state = initial_state
309
+ current_state.enter()
310
+
311
+ func _physics_process(delta: float) -> void:
312
+ current_state.physics_update(delta)
313
+
314
+ func _unhandled_input(event: InputEvent) -> void:
315
+ current_state.handle_input(event)
316
+
317
+ func transition_to(target_state: State) -> void:
318
+ current_state.exit()
319
+ current_state = target_state
320
+ current_state.enter()
321
+ ```
322
+
323
+ ```gdscript
324
+ # state.gd
325
+ class_name State
326
+ extends Node
327
+
328
+ var state_machine: StateMachine
329
+
330
+ func enter() -> void: pass
331
+ func exit() -> void: pass
332
+ func handle_input(_event: InputEvent) -> void: pass
333
+ func physics_update(_delta: float) -> void: pass
334
+ ```
335
+
336
+ ---
337
+
338
+ ## 5. Resources (Data-Driven Design)
339
+
340
+ ```gdscript
341
+ # weapon_data.gd
342
+ class_name WeaponData
343
+ extends Resource
344
+
345
+ @export var name: StringName
346
+ @export var damage: int
347
+ @export var attack_speed: float
348
+ @export var projectile_scene: PackedScene
349
+ @export var icon: Texture2D
350
+ ```
351
+
352
+ Create `.tres` files in the editor to define weapon variations without code changes:
353
+
354
+ ```gdscript
355
+ # Usage in a weapon node
356
+ @export var weapon_data: WeaponData
357
+
358
+ func attack() -> void:
359
+ var projectile = weapon_data.projectile_scene.instantiate()
360
+ projectile.damage = weapon_data.damage
361
+ get_tree().current_scene.add_child(projectile)
362
+ ```
363
+
364
+ ---
365
+
366
+ ## 6. Networking (Multiplayer)
367
+
368
+ ### High-Level Multiplayer
369
+
370
+ ```gdscript
371
+ # lobby.gd
372
+ extends Node
373
+
374
+ var peer: ENetMultiplayerPeer = ENetMultiplayerPeer.new()
375
+
376
+ func host_game(port: int = 7000) -> void:
377
+ peer.create_server(port)
378
+ multiplayer.multiplayer_peer = peer
379
+ multiplayer.peer_connected.connect(_on_peer_connected)
380
+
381
+ func join_game(address: String, port: int = 7000) -> void:
382
+ peer.create_client(address, port)
383
+ multiplayer.multiplayer_peer = peer
384
+ ```
385
+
386
+ ### MultiplayerSynchronizer
387
+
388
+ Sync only essential state — never position every frame:
389
+
390
+ ```gdscript
391
+ # In scene: MultiplayerSynchronizer node
392
+ # Sync properties: health, mana, state
393
+ # Do NOT sync: position (use client-side prediction at 10-20Hz corrections)
394
+ ```
395
+
396
+ ### RPCs
397
+
398
+ ```gdscript
399
+ @rpc("any_peer", "call_local", "reliable")
400
+ func deal_damage(target_id: int, amount: int) -> void:
401
+ if multiplayer.is_server():
402
+ var target = get_node_or_null(str(target_id))
403
+ if target:
404
+ target.take_damage(amount)
405
+ ```
406
+
407
+ > **Rule**: Client sends *intent* ("I cast spell Q at direction V"), server validates and calculates results. Never trust client-computed damage.
408
+
409
+ ---
410
+
411
+ ## 7. Animation
412
+
413
+ ### AnimationPlayer + AnimationTree
414
+
415
+ ```gdscript
416
+ @onready var anim_tree: AnimationTree = $AnimationTree
417
+ @onready var state_machine: AnimationNodeStateMachinePlayback = anim_tree["parameters/playback"]
418
+
419
+ func _physics_process(delta: float) -> void:
420
+ anim_tree["parameters/blend_position"] = velocity.normalized()
421
+
422
+ if is_attacking:
423
+ state_machine.travel("attack")
424
+ elif velocity.length() > 0:
425
+ state_machine.travel("run")
426
+ else:
427
+ state_machine.travel("idle")
428
+ ```
429
+
430
+ ### Tweens (Procedural Animation)
431
+
432
+ ```gdscript
433
+ func flash_damage() -> void:
434
+ var tween: Tween = create_tween()
435
+ tween.tween_property(sprite, "modulate", Color.RED, 0.1)
436
+ tween.tween_property(sprite, "modulate", Color.WHITE, 0.1)
437
+
438
+ func smooth_camera_shake(intensity: float) -> void:
439
+ var tween: Tween = create_tween()
440
+ tween.tween_property(camera, "offset", Vector2(randf_range(-intensity, intensity), randf_range(-intensity, intensity)), 0.05)
441
+ tween.tween_property(camera, "offset", Vector2.ZERO, 0.05)
442
+ ```
443
+
444
+ ---
445
+
446
+ ## 8. UI (Control Nodes)
447
+
448
+ ```gdscript
449
+ # hud.gd
450
+ extends CanvasLayer
451
+
452
+ @onready var health_bar: ProgressBar = %HealthBar
453
+ @onready var score_label: Label = %ScoreLabel
454
+
455
+ func update_health(current: int, maximum: int) -> void:
456
+ health_bar.max_value = maximum
457
+ health_bar.value = current
458
+
459
+ func update_score(score: int) -> void:
460
+ score_label.text = "Score: %d" % score
461
+ ```
462
+
463
+ > Use `%UniqueNode` (unique name) syntax for UI references — more robust than `$Path/To/Node`.
464
+
465
+ ---
466
+
467
+ ## 9. Common Anti-Patterns
468
+
469
+ 1. **Deep inheritance chains** — use composition (component nodes) instead of 5-level class hierarchies
470
+ 2. **`get_node()` with long paths** — use `@onready`, `%UniqueName`, or signals for decoupling
471
+ 3. **Processing when idle** — use `set_physics_process(false)` / `set_process(false)` for inactive entities
472
+ 4. **`String` for IDs** — use `StringName` (`&"my_id"`) for identifiers and dictionary keys
473
+ 5. **Untyped GDScript** — always use static typing for safety and performance
474
+ 6. **Giant scripts** — split into component nodes (HealthComponent, StateMachine, etc.)
475
+ 7. **Client-authoritative multiplayer** — server must validate all game-affecting actions
476
+ 8. **Syncing everything every frame** — sync corrections at 10-20Hz, use prediction client-side
477
+ 9. **Too many Autoloads** — only for truly global managers, not game logic
478
+
479
+ ---
480
+
481
+ ## References
482
+
483
+ - [Godot 4.x Documentation](https://docs.godotengine.org/en/stable/)
484
+ - [GDScript Style Guide](https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html)
485
+ - [GDScript Static Typing](https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/static_typing.html)
486
+ - [Best Practices](https://docs.godotengine.org/en/stable/tutorials/best_practices/)
487
+ - [Networking](https://docs.godotengine.org/en/stable/tutorials/networking/)
488
+ - MOBA patterns adapted from [thedivergentai/gd-agentic-skills](https://github.com/thedivergentai/gd-agentic-skills) (MIT)