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,453 @@
1
+ ---
2
+ name: vscode-extension
3
+ description: "Expert VS Code extension development guide covering Extension Host architecture, activation events, commands, contribution points (menus, keybindings, settings, views), Webview API, Language Server Protocol (LSP), TreeView/TreeDataProvider, Testing (vscode-test), packaging (vsce/ovsx), and publishing. Use when building VS Code extensions, language servers, or editor tooling."
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # VS Code Extension Development Guide
8
+
9
+ > Use this skill when building Visual Studio Code extensions. Covers the Extension API, contribution points, Webviews, Language Server Protocol, and publishing.
10
+
11
+ ## When to Use This Skill
12
+
13
+ - Building VS Code extensions (commands, UI, language features)
14
+ - Implementing language support (syntax, intellisense, diagnostics)
15
+ - Creating custom views (TreeView, Webview, sidebar panels)
16
+ - Building editor integrations (formatters, linters, debuggers)
17
+ - Publishing to VS Code Marketplace or Open VSX
18
+
19
+ ## When NOT to Use This Skill
20
+
21
+ - Browser extensions → use Browser Extension skill
22
+ - JetBrains plugins → different architecture entirely
23
+ - Standalone desktop apps → use Tauri or Electron
24
+ - VS Code themes only → simpler `contributes.themes` in package.json
25
+
26
+ ---
27
+
28
+ ## 1. Architecture Overview (CRITICAL)
29
+
30
+ ```
31
+ VS Code
32
+ ├── Main Process (Electron)
33
+ │ └── Extension Host (separate process per window)
34
+ │ ├── Your Extension (activate/deactivate)
35
+ │ ├── Other Extensions
36
+ │ └── Language Server (optional, separate process)
37
+ └── Renderer Process
38
+ ├── Editor UI
39
+ ├── Sidebar Views (TreeView, WebviewView)
40
+ └── Webview Panels (custom HTML/CSS/JS)
41
+ ```
42
+
43
+ | Component | Runs In | Access | Use For |
44
+ |-----------|---------|--------|---------|
45
+ | Extension code | Extension Host | Full VS Code API | Commands, providers, logic |
46
+ | Webview | Renderer (iframe) | Message passing only | Rich custom UI |
47
+ | Language Server | Separate process | LSP protocol | Heavy language analysis |
48
+ | TreeView | Extension Host | TreeDataProvider API | List/tree sidebar panels |
49
+
50
+ ### Extension Lifecycle
51
+
52
+ ```typescript
53
+ // extension.ts — entry point
54
+ import * as vscode from 'vscode';
55
+
56
+ export function activate(context: vscode.ExtensionContext) {
57
+ // Called when activation event fires
58
+ // Register commands, providers, listeners HERE
59
+ console.log('Extension activated');
60
+
61
+ const disposable = vscode.commands.registerCommand('myExt.helloWorld', () => {
62
+ vscode.window.showInformationMessage('Hello World!');
63
+ });
64
+
65
+ context.subscriptions.push(disposable); // Auto-cleanup on deactivate
66
+ }
67
+
68
+ export function deactivate() {
69
+ // Optional cleanup
70
+ }
71
+ ```
72
+
73
+ > **Rule**: Push ALL disposables to `context.subscriptions`. Never register listeners without cleanup.
74
+
75
+ ---
76
+
77
+ ## 2. package.json (CRITICAL)
78
+
79
+ ```json
80
+ {
81
+ "name": "my-extension",
82
+ "displayName": "My Extension",
83
+ "version": "0.1.0",
84
+ "engines": { "vscode": "^1.85.0" },
85
+ "categories": ["Other"],
86
+ "activationEvents": [],
87
+ "main": "./out/extension.js",
88
+ "contributes": {
89
+ "commands": [
90
+ {
91
+ "command": "myExt.helloWorld",
92
+ "title": "Hello World",
93
+ "category": "My Extension",
94
+ "icon": "$(sparkle)"
95
+ }
96
+ ],
97
+ "menus": {
98
+ "editor/context": [
99
+ { "command": "myExt.helloWorld", "when": "editorTextFocus" }
100
+ ],
101
+ "commandPalette": [
102
+ { "command": "myExt.helloWorld", "when": "editorLangId == typescript" }
103
+ ]
104
+ },
105
+ "keybindings": [
106
+ {
107
+ "command": "myExt.helloWorld",
108
+ "key": "ctrl+shift+h",
109
+ "mac": "cmd+shift+h",
110
+ "when": "editorTextFocus"
111
+ }
112
+ ],
113
+ "configuration": {
114
+ "title": "My Extension",
115
+ "properties": {
116
+ "myExt.enableFeature": {
117
+ "type": "boolean",
118
+ "default": true,
119
+ "description": "Enable the main feature"
120
+ },
121
+ "myExt.maxResults": {
122
+ "type": "number",
123
+ "default": 10,
124
+ "description": "Maximum number of results"
125
+ }
126
+ }
127
+ },
128
+ "viewsContainers": {
129
+ "activitybar": [
130
+ { "id": "myExtView", "title": "My Extension", "icon": "resources/icon.svg" }
131
+ ]
132
+ },
133
+ "views": {
134
+ "myExtView": [
135
+ { "id": "myExt.treeView", "name": "Explorer" }
136
+ ]
137
+ }
138
+ }
139
+ }
140
+ ```
141
+
142
+ ### Activation Events
143
+
144
+ | Event | When | Example |
145
+ |-------|------|---------|
146
+ | `onCommand:myExt.cmd` | Command executed | Always use for commands |
147
+ | `onLanguage:typescript` | File of language opened | Language features |
148
+ | `workspaceContains:**/tsconfig.json` | Workspace has file | Project-specific tools |
149
+ | `onView:myExt.treeView` | View becomes visible | Sidebar panels |
150
+ | `onUri` | Extension URI handler invoked | Deep linking |
151
+ | `*` | Always (startup) | 🔴 Avoid — slows VS Code startup |
152
+
153
+ > **Rule**: Use the most specific activation event possible. `*` is banned for production extensions.
154
+
155
+ ---
156
+
157
+ ## 3. Commands & Configuration
158
+
159
+ ### Commands
160
+
161
+ ```typescript
162
+ // Register with arguments
163
+ context.subscriptions.push(
164
+ vscode.commands.registerCommand('myExt.openFile', async (uri: vscode.Uri) => {
165
+ const doc = await vscode.workspace.openTextDocument(uri);
166
+ await vscode.window.showTextDocument(doc);
167
+ })
168
+ );
169
+
170
+ // Register text editor command (has activeTextEditor guaranteed)
171
+ context.subscriptions.push(
172
+ vscode.commands.registerTextEditorCommand('myExt.insertSnippet', (editor, edit) => {
173
+ edit.insert(editor.selection.active, 'inserted text');
174
+ })
175
+ );
176
+ ```
177
+
178
+ ### Reading Configuration
179
+
180
+ ```typescript
181
+ const config = vscode.workspace.getConfiguration('myExt');
182
+ const enabled = config.get<boolean>('enableFeature', true);
183
+ const maxResults = config.get<number>('maxResults', 10);
184
+
185
+ // Watch for config changes
186
+ context.subscriptions.push(
187
+ vscode.workspace.onDidChangeConfiguration((e) => {
188
+ if (e.affectsConfiguration('myExt.enableFeature')) {
189
+ // Re-initialize feature
190
+ }
191
+ })
192
+ );
193
+ ```
194
+
195
+ ---
196
+
197
+ ## 4. TreeView (Sidebar Panel)
198
+
199
+ ```typescript
200
+ class MyTreeProvider implements vscode.TreeDataProvider<TreeItem> {
201
+ private _onDidChangeTreeData = new vscode.EventEmitter<TreeItem | undefined>();
202
+ readonly onDidChangeTreeData = this._onDidChangeTreeData.event;
203
+
204
+ refresh(): void {
205
+ this._onDidChangeTreeData.fire(undefined);
206
+ }
207
+
208
+ getTreeItem(element: TreeItem): vscode.TreeItem {
209
+ return element;
210
+ }
211
+
212
+ async getChildren(element?: TreeItem): Promise<TreeItem[]> {
213
+ if (!element) {
214
+ // Root items
215
+ return this.getRootItems();
216
+ }
217
+ // Child items
218
+ return element.children ?? [];
219
+ }
220
+
221
+ private getRootItems(): TreeItem[] {
222
+ return [
223
+ new TreeItem('Item 1', vscode.TreeItemCollapsibleState.Collapsed),
224
+ new TreeItem('Item 2', vscode.TreeItemCollapsibleState.None),
225
+ ];
226
+ }
227
+ }
228
+
229
+ class TreeItem extends vscode.TreeItem {
230
+ children?: TreeItem[];
231
+
232
+ constructor(
233
+ label: string,
234
+ collapsibleState: vscode.TreeItemCollapsibleState,
235
+ ) {
236
+ super(label, collapsibleState);
237
+ this.tooltip = `Click to interact with ${label}`;
238
+ this.iconPath = new vscode.ThemeIcon('file');
239
+ }
240
+ }
241
+
242
+ // Register in activate()
243
+ const treeProvider = new MyTreeProvider();
244
+ const treeView = vscode.window.createTreeView('myExt.treeView', {
245
+ treeDataProvider: treeProvider,
246
+ showCollapseAll: true,
247
+ });
248
+ context.subscriptions.push(treeView);
249
+ ```
250
+
251
+ ---
252
+
253
+ ## 5. Webview Panel (Custom UI)
254
+
255
+ ```typescript
256
+ function createWebviewPanel(context: vscode.ExtensionContext) {
257
+ const panel = vscode.window.createWebviewPanel(
258
+ 'myExtWebview',
259
+ 'My Webview',
260
+ vscode.ViewColumn.One,
261
+ {
262
+ enableScripts: true,
263
+ retainContextWhenHidden: true, // Keep state when panel hidden
264
+ localResourceRoots: [
265
+ vscode.Uri.joinPath(context.extensionUri, 'media'),
266
+ ],
267
+ }
268
+ );
269
+
270
+ // Get URI for bundled resources
271
+ const scriptUri = panel.webview.asWebviewUri(
272
+ vscode.Uri.joinPath(context.extensionUri, 'media', 'main.js')
273
+ );
274
+
275
+ panel.webview.html = `
276
+ <!DOCTYPE html>
277
+ <html>
278
+ <head>
279
+ <meta http-equiv="Content-Security-Policy"
280
+ content="default-src 'none'; script-src ${panel.webview.cspSource}; style-src ${panel.webview.cspSource};">
281
+ </head>
282
+ <body>
283
+ <h1>Hello from Webview</h1>
284
+ <script src="${scriptUri}"></script>
285
+ </body>
286
+ </html>
287
+ `;
288
+
289
+ // Extension → Webview messaging
290
+ panel.webview.postMessage({ type: 'update', data: { count: 42 } });
291
+
292
+ // Webview → Extension messaging
293
+ panel.webview.onDidReceiveMessage((message) => {
294
+ switch (message.type) {
295
+ case 'save':
296
+ saveData(message.payload);
297
+ break;
298
+ }
299
+ }, undefined, context.subscriptions);
300
+ }
301
+ ```
302
+
303
+ > **Rule**: Always set Content-Security-Policy in Webviews. Never use inline scripts — load from bundled files via `asWebviewUri`.
304
+
305
+ ---
306
+
307
+ ## 6. Language Features
308
+
309
+ ### Diagnostics (Linting/Errors)
310
+
311
+ ```typescript
312
+ const diagnosticCollection = vscode.languages.createDiagnosticCollection('myExt');
313
+ context.subscriptions.push(diagnosticCollection);
314
+
315
+ function updateDiagnostics(document: vscode.TextDocument) {
316
+ const diagnostics: vscode.Diagnostic[] = [];
317
+
318
+ for (let i = 0; i < document.lineCount; i++) {
319
+ const line = document.lineAt(i);
320
+ if (line.text.includes('TODO')) {
321
+ diagnostics.push(new vscode.Diagnostic(
322
+ line.range,
323
+ 'TODO found',
324
+ vscode.DiagnosticSeverity.Warning,
325
+ ));
326
+ }
327
+ }
328
+
329
+ diagnosticCollection.set(document.uri, diagnostics);
330
+ }
331
+
332
+ context.subscriptions.push(
333
+ vscode.workspace.onDidChangeTextDocument((e) => updateDiagnostics(e.document)),
334
+ vscode.workspace.onDidOpenTextDocument(updateDiagnostics),
335
+ );
336
+ ```
337
+
338
+ ### Completion Provider
339
+
340
+ ```typescript
341
+ context.subscriptions.push(
342
+ vscode.languages.registerCompletionItemProvider('typescript', {
343
+ provideCompletionItems(document, position) {
344
+ const item = new vscode.CompletionItem('mySnippet', vscode.CompletionItemKind.Snippet);
345
+ item.insertText = new vscode.SnippetString('console.log(${1:message});');
346
+ item.documentation = 'Inserts a console.log statement';
347
+ return [item];
348
+ }
349
+ }, '.') // Trigger on '.'
350
+ );
351
+ ```
352
+
353
+ ### Language Server Protocol (LSP)
354
+
355
+ ```typescript
356
+ // For complex language features, use a separate Language Server process
357
+ import { LanguageClient, TransportKind } from 'vscode-languageclient/node';
358
+
359
+ const serverModule = context.asAbsolutePath('out/server.js');
360
+ const client = new LanguageClient(
361
+ 'myLanguageServer',
362
+ 'My Language Server',
363
+ {
364
+ run: { module: serverModule, transport: TransportKind.ipc },
365
+ debug: { module: serverModule, transport: TransportKind.ipc },
366
+ },
367
+ { documentSelector: [{ scheme: 'file', language: 'mylang' }] }
368
+ );
369
+
370
+ client.start();
371
+ context.subscriptions.push(client);
372
+ ```
373
+
374
+ > **Rule**: Use LSP for heavy language analysis (type checking, multi-file analysis). Use inline providers for lightweight features (simple completions, snippets).
375
+
376
+ ---
377
+
378
+ ## 7. Testing
379
+
380
+ ```typescript
381
+ // src/test/suite/extension.test.ts
382
+ import * as assert from 'assert';
383
+ import * as vscode from 'vscode';
384
+
385
+ suite('Extension Test Suite', () => {
386
+ test('Command registered', async () => {
387
+ const commands = await vscode.commands.getCommands(true);
388
+ assert.ok(commands.includes('myExt.helloWorld'));
389
+ });
390
+
391
+ test('Opens document', async () => {
392
+ const uri = vscode.Uri.file('/tmp/test.ts');
393
+ const doc = await vscode.workspace.openTextDocument(uri);
394
+ assert.strictEqual(doc.languageId, 'typescript');
395
+ });
396
+ });
397
+ ```
398
+
399
+ ```bash
400
+ # Run tests with VS Code test runner
401
+ npx vscode-test # Downloads VS Code, runs tests in Extension Host
402
+ ```
403
+
404
+ ---
405
+
406
+ ## 8. Packaging & Publishing
407
+
408
+ ```bash
409
+ # Install vsce
410
+ npm install -g @vscode/vsce
411
+
412
+ # Package as .vsix
413
+ vsce package
414
+
415
+ # Publish to VS Code Marketplace
416
+ vsce publish
417
+
418
+ # Publish to Open VSX (Eclipse foundation)
419
+ npx ovsx publish -p <token>
420
+ ```
421
+
422
+ ### Pre-publish Checklist
423
+
424
+ - [ ] `engines.vscode` set to minimum supported version
425
+ - [ ] `activationEvents` are specific (no `*`)
426
+ - [ ] Extension bundle is small (use esbuild/webpack)
427
+ - [ ] README has screenshots and feature descriptions
428
+ - [ ] CHANGELOG.md is up to date
429
+ - [ ] Icon is 128×128px
430
+
431
+ ---
432
+
433
+ ## 9. Common Anti-Patterns
434
+
435
+ 1. **`activationEvents: ["*"]`** — activates on every VS Code start; use specific triggers
436
+ 2. **Not disposing listeners** — memory leaks; always push to `context.subscriptions`
437
+ 3. **Synchronous file I/O** — blocks Extension Host; use `vscode.workspace.fs` async APIs
438
+ 4. **Inline scripts in Webview** — CSP violation; load from bundled files via `asWebviewUri`
439
+ 5. **Heavy computation in Extension Host** — blocks ALL extensions; offload to Language Server or Worker
440
+ 6. **Not bundling** — shipping `node_modules` → massive extension; use esbuild to bundle
441
+ 7. **Hardcoded file paths** — use `context.extensionUri` and `vscode.Uri.joinPath` for portability
442
+ 8. **Ignoring `when` clauses** — commands appear everywhere; scope with `when` in menus/keybindings
443
+ 9. **No error handling in providers** — unhandled errors crash the provider silently
444
+
445
+ ---
446
+
447
+ ## References
448
+
449
+ - [VS Code Extension API](https://code.visualstudio.com/api)
450
+ - [Extension Guidelines](https://code.visualstudio.com/api/references/extension-guidelines)
451
+ - [Extension Samples](https://github.com/microsoft/vscode-extension-samples)
452
+ - [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)
453
+ - [Publishing Extensions](https://code.visualstudio.com/api/working-with-extensions/publishing-extension)
@@ -0,0 +1,162 @@
1
+ ---
2
+ name: astro-framework
3
+ description: Comprehensive Astro framework development guide for building fast, content-driven websites using islands architecture. Use this skill when creating Astro components, implementing islands with selective hydration, working with content collections, configuring SSR adapters, building API endpoints, implementing view transitions, or integrating UI frameworks (React, Vue, Svelte, Solid). Triggers on Astro, islands architecture, content collections, client directives, view transitions, Astro SSR, hybrid rendering, static site generation, astro.config.
4
+ license: MIT
5
+ metadata:
6
+ author: delineas
7
+ version: "1.0.0"
8
+ category: framework
9
+ tags: astro, islands, ssr, ssg, content-collections, view-transitions
10
+ ---
11
+
12
+ # Astro Framework Specialist
13
+
14
+ Senior Astro specialist with deep expertise in islands architecture, content-driven websites, and hybrid rendering strategies.
15
+
16
+ ## Role Definition
17
+
18
+ You are a senior frontend engineer with extensive Astro experience. You specialize in building fast, content-focused websites using Astro's islands architecture, content collections, and hybrid rendering. You understand when to ship JavaScript and when to keep things static.
19
+
20
+ ## When to Use This Skill
21
+
22
+ Activate this skill when:
23
+ - Building content-driven websites (blogs, docs, marketing sites)
24
+ - Implementing islands architecture with selective hydration
25
+ - Creating content collections with type-safe schemas
26
+ - Setting up SSR with adapters (Node, Vercel, Netlify, Cloudflare)
27
+ - Building API endpoints and server actions
28
+ - Implementing view transitions for SPA-like navigation
29
+ - Integrating UI frameworks (React, Vue, Svelte, Solid)
30
+ - Optimizing images and performance
31
+ - Configuring `astro.config.mjs`
32
+
33
+ ## Core Workflow
34
+
35
+ 1. **Analyze requirements** → Identify static vs dynamic content, hydration needs, data sources
36
+ 2. **Design structure** → Plan pages, layouts, components, content collections
37
+ 3. **Implement components** → Create Astro components with proper client directives
38
+ 4. **Configure routing** → Set up file-based routing, dynamic routes, endpoints
39
+ 5. **Optimize delivery** → Configure adapters, image optimization, view transitions
40
+
41
+ ## Reference Documentation
42
+
43
+ Load detailed guidance based on your current task:
44
+
45
+ | Topic | Reference | When to Load |
46
+ |-------|-----------|--------------|
47
+ | Components | [references/components.md](references/components.md) | Writing Astro components, Props, slots, expressions |
48
+ | Client Directives | [references/client-directives.md](references/client-directives.md) | Hydration strategies, `client:load`, `client:visible`, `client:idle` |
49
+ | Content Collections | [references/content-collections.md](references/content-collections.md) | Schemas, loaders, `getCollection`, `getEntry` |
50
+ | Routing | [references/routing.md](references/routing.md) | Pages, dynamic routes, endpoints, redirects |
51
+ | SSR & Adapters | [references/ssr-adapters.md](references/ssr-adapters.md) | On-demand rendering, adapters, server islands |
52
+ | View Transitions | [references/view-transitions.md](references/view-transitions.md) | ClientRouter, animations, transition directives |
53
+ | Actions | [references/actions.md](references/actions.md) | Form handling, `defineAction`, validation |
54
+ | Middleware | [references/middleware.md](references/middleware.md) | `onRequest`, sequence, `context.locals` |
55
+ | Styling | [references/styling.md](references/styling.md) | Scoped CSS, global styles, `class:list` |
56
+ | Images | [references/images.md](references/images.md) | `<Image />`, `<Picture />`, optimization |
57
+ | Configuration | [references/configuration.md](references/configuration.md) | `astro.config.mjs`, TypeScript, env variables |
58
+
59
+ ## Guidelines by Context
60
+
61
+ Context-specific rules are available in the `rules/` directory:
62
+
63
+ - `rules/astro-components.rule.md` → Component structure patterns
64
+ - `rules/client-hydration.rule.md` → Hydration strategy decisions
65
+ - `rules/content-collections.rule.md` → Collection schema best practices
66
+ - `rules/astro-routing.rule.md` → Routing patterns and dynamic routes
67
+ - `rules/astro-ssr.rule.md` → SSR configuration and adapters
68
+ - `rules/astro-images.rule.md` → Image optimization patterns
69
+ - `rules/astro-typescript.rule.md` → TypeScript configuration
70
+
71
+ ## Critical Rules
72
+
73
+ ### MUST DO
74
+
75
+ - Use islands architecture—only hydrate interactive components
76
+ - Choose appropriate client directives based on interaction needs
77
+ - Define content collection schemas with Zod for type safety
78
+ - Use `<Image />` and `<Picture />` for optimized images
79
+ - Implement proper error boundaries for client components
80
+ - Use TypeScript with strict mode for type safety
81
+ - Configure appropriate adapter for deployment target
82
+ - Use `Astro.props` for component data passing
83
+
84
+ ### MUST NOT DO
85
+
86
+ - Hydrate components that don't need interactivity (use `client:` only when necessary)
87
+ - Use `client:only` without specifying the framework
88
+ - Import images with string paths (use import statements)
89
+ - Skip schema validation in content collections
90
+ - Mix `server` and `hybrid` output modes incorrectly
91
+ - Access `Astro.request` in prerendered pages
92
+ - Use browser APIs in component frontmatter (server-side code)
93
+ - Forget to install adapters for SSR deployment
94
+
95
+ ## Quick Reference
96
+
97
+ ### Component Structure
98
+
99
+ ```astro
100
+ ---
101
+ // Component Script (runs on server)
102
+ interface Props {
103
+ title: string;
104
+ count?: number;
105
+ }
106
+ const { title, count = 0 } = Astro.props;
107
+ const data = await fetch('https://api.example.com/data');
108
+ ---
109
+
110
+ <!-- Component Template -->
111
+ <div>
112
+ <h1>{title}</h1>
113
+ <p>Count: {count}</p>
114
+ </div>
115
+
116
+ <style>
117
+ /* Scoped by default */
118
+ h1 { color: navy; }
119
+ </style>
120
+ ```
121
+
122
+ ### Client Directive Priority
123
+
124
+ 1. **No directive** → Static HTML, zero JavaScript
125
+ 2. **`client:load`** → Hydrate immediately on page load
126
+ 3. **`client:idle`** → Hydrate when browser is idle
127
+ 4. **`client:visible`** → Hydrate when component enters viewport
128
+ 5. **`client:media`** → Hydrate when media query matches
129
+ 6. **`client:only`** → Skip SSR, render only on client
130
+
131
+ ### Content Collection Schema
132
+
133
+ ```typescript
134
+ // src/content/config.ts
135
+ import { defineCollection, z } from 'astro:content';
136
+
137
+ const blog = defineCollection({
138
+ type: 'content',
139
+ schema: z.object({
140
+ title: z.string(),
141
+ date: z.date(),
142
+ draft: z.boolean().default(false),
143
+ tags: z.array(z.string()).optional(),
144
+ }),
145
+ });
146
+
147
+ export const collections = { blog };
148
+ ```
149
+
150
+ ## Output Format
151
+
152
+ When implementing Astro features, provide:
153
+
154
+ 1. Component file (`.astro` with frontmatter and template)
155
+ 2. Configuration updates (`astro.config.mjs` if needed)
156
+ 3. Content collection schema (if using collections)
157
+ 4. TypeScript types (for Props and data)
158
+ 5. Brief explanation of hydration strategy chosen
159
+
160
+ ## Technologies
161
+
162
+ Astro 4+, Islands Architecture, Content Collections, Zod Schemas, View Transitions API, Server Islands, Actions, Middleware, Adapters (Node, Vercel, Netlify, Cloudflare, Deno), React/Vue/Svelte/Solid integrations, Image Optimization, MDX, Markdoc, TypeScript, Scoped CSS, Tailwind CSS