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,730 @@
1
+ ---
2
+ name: session-continuity
3
+ description: >
4
+ Cross-session progress tracking, pattern extraction, and session resumption.
5
+ Gives agents memory across sessions using markdown files in `.agent/progress/`.
6
+ Subsumes self-improving-agent — handles both implementation tracking AND
7
+ experiential learning in one skill. Workflows invoke specific protocols by name.
8
+ triggers:
9
+ - session start (via workflow.md instruction)
10
+ - plan-phase step 7 (Progress Generation Protocol)
11
+ - implement-slice step 0.5 and step 7 (Session Resumption + Progress Update)
12
+ - end of any workflow (Pattern Extraction Protocol)
13
+ ---
14
+
15
+ # Session Continuity
16
+
17
+ Cross-session memory and spec-driven implementation tracking. This skill replaces
18
+ `self-improving-agent` by combining progress tracking with pattern extraction
19
+ in a single, workflow-driven system.
20
+
21
+ ## Overview
22
+
23
+ Without this skill, agents lose all context between sessions. Work restarts from
24
+ scratch, implementations drift without spec accountability, and hard-won patterns
25
+ evaporate. This skill fixes that with five protocols that workflows invoke by name.
26
+
27
+ ### What This Skill Does
28
+
29
+ | Capability | What | When |
30
+ |------------|------|------|
31
+ | Progress tracking | Checkboxes mirroring spec depth | `/plan-phase`, `/implement-slice` |
32
+ | Session resumption | Read state, summarize, pick up where you left off | Any workflow start |
33
+ | Pattern extraction | Record what worked, what didn't, update patterns | Any workflow end |
34
+ | Blocker tracking | Log blockers, track resolution | During implementation |
35
+ | Decision analysis | Philosopher + Devil's Advocate deliberation | During design/architecture decisions |
36
+ | Spec pipeline tracking | Per-shard IA/BE/FE spec completion | `/decompose-architecture`, `write-*-spec` |
37
+ | Ambiguity gates | Micro + macro ambiguity checks | End of every spec workflow |
38
+
39
+ ### Architecture
40
+
41
+ ```
42
+ Workflows = WHAT to do (ordered steps — invoke protocols by name)
43
+ This Skill = HOW to do it (protocols — detailed step-by-step)
44
+ ```
45
+
46
+ Workflows say: "Read `.agent/skills/session-continuity/protocols/NN-protocol-name.md` and follow the **X Protocol**."
47
+ This skill defines each protocol with exact steps, file formats, and rules.
48
+
49
+ ---
50
+
51
+ ## Directory Structure
52
+
53
+ All progress state lives in `.agent/progress/`:
54
+
55
+ ```
56
+ .agent/progress/
57
+ ├── index.md # Master checklist — phases + overall %
58
+ ├── spec-pipeline.md # Spec completion tracker (IA/BE/FE per shard)
59
+ ├── phases/
60
+ │ ├── phase-01.md # Per-phase slice checklist
61
+ │ └── phase-02.md
62
+ ├── slices/
63
+ │ ├── phase-01-slice-01.md # Per-slice implementation log
64
+ │ └── phase-01-slice-02.md # (only if slice has ≥3 criteria)
65
+ ├── sessions/
66
+ │ ├── 2026-02-15.md # What happened this session
67
+ │ └── 2026-02-16.md
68
+ └── memory/
69
+ ├── patterns.md # Reusable patterns + confidence
70
+ ├── blockers.md # Active + resolved blockers
71
+ └── decisions.md # Key decisions + rationale
72
+ ```
73
+
74
+ ### Adaptive Granularity Rule
75
+
76
+ **A slice gets its own file only when it has ≥3 acceptance criteria.**
77
+
78
+ - Slice with 1-2 criteria → tracked inline in the phase file
79
+ - Slice with 3+ criteria → gets `slices/phase-NN-slice-NN.md`
80
+
81
+ This prevents file explosion for simple specs while giving granular tracking
82
+ for complex ones.
83
+
84
+ ---
85
+
86
+ ## Protocol 1: Session Resumption
87
+
88
+ **Invoked by**: Any workflow start, or `instructions/workflow.md` step 1
89
+
90
+ **Purpose**: Load cross-session context so the agent knows where to resume.
91
+
92
+ ### Steps
93
+
94
+ 1. **Check if `.agent/progress/index.md` exists**
95
+ - If no: this is a fresh project with no tracked progress. Skip resumption.
96
+ - If yes: continue.
97
+
98
+ 2. **Read `index.md`** — get overall status, phase progress percentages.
99
+
100
+ 3. **Find in-progress items** — scan for `[/]` markers (in-progress) in phase files.
101
+ - If found: this is the resumption point.
102
+ - If none: find the next unchecked `[ ]` item.
103
+
104
+ 4. **Read the latest session log** — `sessions/` directory, most recent file.
105
+ - What was accomplished last session?
106
+ - What was deferred and why?
107
+ - What's the recommended starting point?
108
+
109
+ 5. **Read `memory/blockers.md`** — are there unresolved blockers?
110
+
111
+ 6. **Read `memory/decisions.md`** — load key decisions for context.
112
+
113
+ 7. **Summarize for the current task**:
114
+ ```
115
+ Status: Phase 2 in progress — 3/7 slices complete (43%)
116
+ Last session: Completed auth middleware slice, deferred rate limiting (blocked on Redis)
117
+ Blockers: 1 active — Redis connection config needed
118
+ Resume at: Phase 2, Slice 4 — Rate limiting middleware
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Protocol 2: Progress Generation
124
+
125
+ **Invoked by**: `/plan-phase` step 7
126
+
127
+ **Purpose**: Create progress tracking files from a newly planned phase.
128
+
129
+ ### Steps
130
+
131
+ 1. **Read the phase plan** that was just created (the output of `/plan-phase`).
132
+
133
+ 2. **Create or update `index.md`**:
134
+ ```markdown
135
+ # Implementation Progress
136
+
137
+ **Project**: {{PROJECT_NAME}}
138
+ **Last updated**: {{DATE}}
139
+ **Overall**: 0/{{TOTAL}} slices (0%)
140
+
141
+ ## Phases
142
+
143
+ | Phase | Status | Progress | Link |
144
+ |-------|--------|----------|------|
145
+ | Phase 1: {{NAME}} | not-started | 0/{{N}} | [→](phases/phase-01.md) |
146
+ ```
147
+
148
+ 3. **Create `phases/phase-NN.md`**:
149
+ ```markdown
150
+ # Phase {{N}}: {{NAME}}
151
+
152
+ **Status**: not-started
153
+ **Progress**: 0/{{TOTAL}} slices
154
+
155
+ ## Slices
156
+
157
+ - [ ] **Slice 1**: {{DESCRIPTION}} ({{S|M|L}})
158
+ - [ ] Contract: Zod schema for {{entity}}
159
+ - [ ] `BE` API endpoints for {{entity}}
160
+ - [ ] Subtask 1
161
+ - [ ] Subtask 2
162
+ - [ ] `FE` {{entity}} page and components
163
+ - [ ] Subtask 1
164
+ - [ ] Subtask 2
165
+ - [ ] `QA` Integration tests for {{entity}}
166
+ - [ ] Subtask 1
167
+ → [log](../slices/phase-01-slice-01.md)
168
+
169
+ - [ ] **Slice 2**: {{DESCRIPTION}} ({{S}})
170
+ - [ ] Criterion 1
171
+ ```
172
+
173
+ **Surface tag rules for Progress Generation:**
174
+ - Tag tasks (Level 3) with `BE`, `FE`, or `QA` as a backtick-wrapped prefix
175
+ - Untagged tasks are sequential (handled by orchestrator before parallel dispatch)
176
+ - `files:` blocks are NOT written during generation — only during claim (Protocol 9)
177
+ - Subtasks under tagged tasks inherit the parent's surface ownership
178
+
179
+ 4. **Create `slices/phase-NN-slice-NN.md`** for each slice with ≥3 criteria:
180
+ ```markdown
181
+ # Phase {{P}} / Slice {{S}}: {{NAME}}
182
+
183
+ **Status**: not-started
184
+ **Complexity**: {{S|M|L}}
185
+
186
+ ## Acceptance Criteria
187
+ - [ ] Criterion 1
188
+ - [ ] Criterion 2
189
+ - [ ] Criterion 3
190
+
191
+ ## Implementation Notes
192
+ <!-- Filled during /implement-slice -->
193
+
194
+ ## Files Changed
195
+ <!-- List of files created/modified -->
196
+ ```
197
+
198
+ 5. **Initialize memory files** (only if they don't already exist):
199
+ - `memory/patterns.md` — empty with header
200
+ - `memory/blockers.md` — empty with header
201
+ - `memory/decisions.md` — empty with header
202
+
203
+ ---
204
+
205
+ ## Protocol 3: Progress Update
206
+
207
+ **Invoked by**: `/implement-slice` step 7
208
+
209
+ **Purpose**: Mark completed work, release claims, and propagate status changes upward.
210
+
211
+ ### Steps
212
+
213
+ 1. **Mark acceptance criteria `[x]`** in the slice's tracking location:
214
+ - If slice has its own file: update `slices/phase-NN-slice-NN.md`
215
+ - If inline: update `phases/phase-NN.md`
216
+
217
+ 2. **Release any claimed tasks** — if the completed task had `[!]`:
218
+ - Change status from `[/]` to `[x]`
219
+ - Remove the `[!]` flag from the task line
220
+ - Remove the `files:` block under the task (lock released)
221
+ ```markdown
222
+ # Before (during parallel work)
223
+ - [/] `BE` API endpoints for user profile [!]
224
+ - files: src/api/users/[id].ts, src/db/queries/user.ts
225
+ - [x] GET endpoint
226
+ - [x] PUT endpoint
227
+
228
+ # After (task complete)
229
+ - [x] `BE` API endpoints for user profile
230
+ - [x] GET endpoint
231
+ - [x] PUT endpoint
232
+ ```
233
+
234
+ 3. **Mark the slice itself `[x]`** in the phase file (only when ALL tasks are `[x]`):
235
+ ```markdown
236
+ - [x] **Slice 3**: Auth middleware (M) ✅ 2026-02-15
237
+ ```
238
+
239
+ 4. **Update phase progress** in the phase file header:
240
+ ```markdown
241
+ **Status**: in-progress
242
+ **Progress**: 4/7 slices
243
+ ```
244
+
245
+ 5. **Update `index.md`** — recalculate overall progress:
246
+ ```markdown
247
+ **Overall**: 12/20 slices (60%)
248
+ ```
249
+ Update the phase row's status and progress count.
250
+
251
+ 6. **Log implementation notes** (if slice file exists):
252
+ - What approach was taken
253
+ - Key files changed
254
+ - Any deviations from the plan
255
+
256
+ 7. **Log blockers** encountered during implementation to `memory/blockers.md`:
257
+ ```markdown
258
+ ## Active Blockers
259
+
260
+ ### BLK-003: Redis config missing (2026-02-15)
261
+ - **Slice**: Phase 2, Slice 4 — Rate limiting
262
+ - **Impact**: Cannot implement rate limiter without Redis connection
263
+ - **Needs**: VPS Redis setup or config from user
264
+
265
+ ## Resolved Blockers
266
+
267
+ ### BLK-002: Firebase admin SDK version conflict (2026-02-14)
268
+ - **Resolution**: Pinned to v12.0.0, added to package.json overrides
269
+ - **Resolved**: 2026-02-14
270
+ ```
271
+
272
+ ---
273
+
274
+ ## Protocol 4: Pattern Extraction
275
+
276
+ **Invoked by**: End of any workflow (replaces `self-improving-agent` step)
277
+
278
+ **Purpose**: Extract reusable patterns from what just happened.
279
+
280
+ ### Steps
281
+
282
+ 1. **Reflect on the task**:
283
+ - What happened? (summary)
284
+ - What worked well? (repeat this)
285
+ - What didn't work? (avoid this)
286
+ - Was there a surprise or insight?
287
+
288
+ 2. **Classify the pattern**:
289
+
290
+ | Classification | Criteria | Action |
291
+ |---------------|----------|--------|
292
+ | Best practice | Worked well, likely reusable | Add to patterns.md |
293
+ | Anti-pattern | Caused problems, should avoid | Add to patterns.md as "avoid" |
294
+ | Context-specific | Only applies to this situation | Log in session but don't generalize |
295
+ | Not significant | Routine, nothing new learned | Skip |
296
+
297
+ 3. **Write to `memory/patterns.md`** (only for best-practice or anti-pattern):
298
+ ```markdown
299
+ ### PAT-007: Zod schema coercion for URL params (2026-02-15)
300
+ - **Type**: best-practice
301
+ - **Confidence**: 0.7 (applied 1 time)
302
+ - **Context**: Astro API routes receive all params as strings
303
+ - **Pattern**: Use `z.coerce.number()` instead of `z.number()` for URL params
304
+ - **Source**: Phase 2, Slice 3 implementation
305
+ ```
306
+
307
+ 4. **Update confidence on existing patterns** if reapplied:
308
+ - Increment `applied` count
309
+ - Increase confidence: `new_confidence = min(0.95, old + 0.1)`
310
+
311
+ 5. **Post-decision pushback** — for each decision made during this workflow
312
+ (logged via Protocol 6 or made implicitly), challenge it with hindsight:
313
+
314
+ - **Did it hold up?** — Did implementation confirm or undermine the reasoning?
315
+ - **Surprises?** — Did anything unexpected happen because of this choice?
316
+ - **Would you choose differently now?** — With what you learned during impl, same call?
317
+ - **Scope creep?** — Did the decision force unplanned work or workarounds?
318
+
319
+ If the answer to "would you choose differently" is **yes**, log it as a
320
+ revision candidate in `memory/decisions.md` with the original decision ID:
321
+ ```markdown
322
+ ### DEC-004-REVIEW: Middleware decision revisited (2026-02-16)
323
+ - **Original**: DEC-004 — middleware over per-route auth
324
+ - **What changed**: Discovered 3 public routes need explicit exclusions, increasing complexity
325
+ - **Verdict**: Still correct, but add route-level override capability
326
+ - **Action**: Create follow-up slice for route exclusion config
327
+ ```
328
+
329
+ If no significant decisions were made during this workflow, skip this step.
330
+
331
+ ---
332
+
333
+ ## Protocol 5: Session Close
334
+
335
+ **Invoked by**: End of session (agent should do this before signing off)
336
+
337
+ **Purpose**: Write a session log so the next session can resume cleanly.
338
+
339
+ ### Steps
340
+
341
+ 1. **Create `sessions/YYYY-MM-DD.md`**:
342
+ ```markdown
343
+ # Session: 2026-02-15
344
+
345
+ ## Context
346
+ - Resumed from: Phase 2, Slice 3
347
+ - Goal for session: Implement auth middleware + rate limiting
348
+
349
+ ## Accomplished
350
+ - [x] Phase 2, Slice 3 — Auth middleware (complete)
351
+ - [x] Phase 2, Slice 3a — Token refresh logic (complete)
352
+
353
+ ## Deferred
354
+ - [ ] Phase 2, Slice 4 — Rate limiting (blocked on Redis config)
355
+
356
+ ## Patterns Learned
357
+ - PAT-007: Zod coercion for URL params
358
+
359
+ ## Next Session
360
+ - Resolve BLK-003 (Redis config)
361
+ - Start Phase 2, Slice 4 if unblocked
362
+ - Otherwise skip to Phase 2, Slice 5
363
+ ```
364
+
365
+ 2. **If a session log for today already exists**, append to it (don't overwrite).
366
+
367
+ ---
368
+
369
+ ## Protocol 6: Decision Effect Analysis
370
+
371
+ **Invoked by**: Any moment a non-trivial decision needs to be made
372
+
373
+ **Purpose**: Two-pass deliberation — the Philosopher explores, the Analyst
374
+ stress-tests. Same questions, different lenses. They loop until they agree.
375
+ No code is written until convergence.
376
+
377
+ ### Triage: Should This Protocol Be Invoked?
378
+
379
+ **Does this decision have upstream or downstream effects?**
380
+
381
+ - **Isolated** (UI element shape, variable name, test structure) → **Skip**. Just decide.
382
+ - **Has ripple effects** (touches other components, changes contracts, affects data
383
+ flow, sets precedent) → **Invoke**.
384
+
385
+ Rule of thumb: if changing this later requires editing more than the current file,
386
+ it has ripple effects.
387
+
388
+ ### Pass 1: The Philosopher
389
+
390
+ 1. **What are the project's established guidelines and protocols for this?**
391
+ Read the relevant rules, instructions, specs, and existing patterns.
392
+
393
+ 2. **What are the different ways to accomplish this within those guidelines?**
394
+ List at least 3 viable approaches (forcing function against first-idea bias).
395
+
396
+ 3. **What are the pros and cons of each?**
397
+ Be specific — name concrete trade-offs, not vague qualities.
398
+
399
+ 4. **Which one is the clear winner and why?**
400
+ State the recommendation with reasoning.
401
+
402
+ ### Pass 2: The Devil's Advocate
403
+
404
+ Take the Philosopher's recommendation and **try to find flaws in it**:
405
+
406
+ 1. **What are the project's established guidelines and protocols for this?**
407
+ Did the Philosopher miss any? Misinterpret any?
408
+
409
+ 2. **What are the different ways to accomplish this within those guidelines?**
410
+ Review the options the Philosopher considered. Did they overlook any?
411
+
412
+ 3. **What are the pros and cons of each?**
413
+ Did the Philosopher underweight a con or overweight a pro?
414
+ Are there hidden costs they didn't surface?
415
+
416
+ 4. **Do I agree with the Philosopher's recommendation, or is there a better way?**
417
+ - **If agree** → proceed to Record step
418
+ - **If disagree** → state what's better and why, then **push findings back
419
+ to the Philosopher** for another pass
420
+
421
+ ### Convergence Loop
422
+
423
+ If the Devil's Advocate disagrees, the Philosopher reviews those findings and
424
+ re-evaluates. The Devil's Advocate then scrutinizes again. **Repeat until both
425
+ agree.**
426
+
427
+ They are twins with different jobs — the Philosopher explores and proposes,
428
+ the Devil's Advocate stress-tests and finds flaws. Together they catch blind spots.
429
+
430
+ ### Record
431
+
432
+ Once converged, write to `memory/decisions.md`:
433
+ ```markdown
434
+ ### DEC-004: Use middleware over per-route auth (2026-02-15)
435
+ - **Problem**: 12+ routes need identical auth enforcement
436
+ - **Guidelines checked**: security-first rule, extensibility rule, DRY principle
437
+ - **Options considered**: Per-route checks, middleware, decorator pattern
438
+ - **Decision**: Middleware — single enforcement point
439
+ - **Philosopher reasoning**: DRY, single place to enforce and audit
440
+ - **Devil's Advocate concurrence**: Agreed — per-route is a security risk (forgotten routes)
441
+ - **Upstream**: Depends on Firebase Admin SDK token verification
442
+ - **Downstream**: All future routes auto-protected; public routes need opt-out
443
+ - **Reversibility**: Medium — mechanical but touches every route file
444
+ ```
445
+
446
+ ### Proceed
447
+
448
+ The decision is justified, stress-tested, and recorded. Implement it.
449
+
450
+ ---
451
+
452
+ ## Protocol 7: Spec Pipeline Generation
453
+
454
+ **Invoked by**: `/decompose-architecture` (after creating indexes)
455
+
456
+ **Purpose**: Create a spec pipeline tracker so you always know which shards
457
+ have IA specs, BE specs, and FE specs completed.
458
+
459
+ ### Steps
460
+
461
+ 1. **Read the IA index** — `docs/plans/ia/index.md` — to get the list of shards.
462
+
463
+ 2. **Create `.agent/progress/spec-pipeline.md`**:
464
+ ```markdown
465
+ # Spec Pipeline Progress
466
+
467
+ **Project**: {{PROJECT_NAME}}
468
+ **Last updated**: {{DATE}}
469
+ **Overall**: 0/{{N×3}} specs (0%)
470
+
471
+ ## Shard Spec Status
472
+
473
+ | # | Shard | IA Spec | BE Spec | FE Spec |
474
+ |---|-------|---------|---------|---------|
475
+ | 00 | {{shard-name}} | ❌ | ❌ | ❌ |
476
+ | 01 | {{shard-name}} | ❌ | ❌ | ❌ |
477
+ | ... | ... | ... | ... | ... |
478
+
479
+ ## Spec Completion Tracking
480
+
481
+ Shards with all three specs complete (tracking only — /plan-phase requires ALL shards to be complete, not just individual ones):
482
+ - (none yet)
483
+ ```
484
+
485
+ 3. **Initialize memory files** if they don't exist (same as Protocol 2, step 5).
486
+
487
+ ---
488
+
489
+ ## Protocol 8: Spec Pipeline Update
490
+
491
+ **Invoked by**: `/write-architecture-spec`, `/write-be-spec`, `/write-fe-spec`
492
+ (after updating the layer index)
493
+
494
+ **Purpose**: Mark a spec column done and report pipeline progress.
495
+
496
+ ### Steps
497
+
498
+ 1. **Identify the shard and layer** — which shard just got its spec completed,
499
+ and which layer (IA, BE, or FE)?
500
+
501
+ 2. **Update `spec-pipeline.md`** — change the relevant ❌ to ✅:
502
+ ```markdown
503
+ | 03 | user-profiles | ✅ | ✅ | ❌ |
504
+ ```
505
+
506
+ 3. **Recalculate overall progress**:
507
+ ```markdown
508
+ **Overall**: 8/45 specs (18%)
509
+ ```
510
+
511
+ 4. **Update "Spec Completion Tracking"** — if a shard now has all three specs
512
+ complete (IA ✅ + BE ✅ + FE ✅), add it to the completion tracking list. Note: /plan-phase requires ALL shards to be complete, not just this one.
513
+ ```markdown
514
+ ## Spec Completion Tracking
515
+
516
+ Shards with all three specs complete (tracking only — /plan-phase requires ALL shards to be complete, not just individual ones):
517
+ - ✅ Shard 00: API conventions
518
+ - ✅ Shard 01: Authentication
519
+ ```
520
+
521
+ 5. **Report status** — log what was completed and what's next.
522
+
523
+ ---
524
+
525
+ ## Ambiguity Gates (Micro + Macro)
526
+
527
+ **Invoked by**: Every `write-*-spec` workflow, before "Request review"
528
+
529
+ **Purpose**: Ensure no guesses pass downstream. Two levels:
530
+
531
+ ### Micro Ambiguity Check
532
+
533
+ Walk **each individual element** in the spec and ask:
534
+ > "Would an implementer need to guess about this?"
535
+
536
+ | Workflow | What to check |
537
+ |----------|---------------|
538
+ | `/write-architecture-spec` | Each feature, interaction, data model field, access rule, edge case |
539
+ | `/write-be-spec` | Each endpoint, request/response field, error code, schema constraint, middleware rule |
540
+ | `/write-fe-spec` | Each component, prop, interaction, state transition, responsive breakpoint, a11y rule |
541
+
542
+ For every element where the answer is "yes" → **fix it now**. Add the missing
543
+ detail, type, behavior, or constraint. Don't flag it — resolve it.
544
+
545
+ ### Macro Ambiguity Check
546
+
547
+ Step back and ask about the **entire spec**:
548
+ > "Does the next downstream phase have everything it needs?"
549
+
550
+ | Workflow | Downstream question |
551
+ |----------|--------------------|
552
+ | `/write-architecture-spec` | Would the BE spec writer need to guess anything from this IA shard? |
553
+ | `/write-be-spec` | Would the FE spec writer need to guess anything from this BE spec? |
554
+ | `/write-fe-spec` | Would an implementer running `/implement-slice` need to guess anything? |
555
+
556
+ If the answer is "yes" → **fix it now**. The spec is not complete until the
557
+ downstream phase can work from it without assumptions.
558
+
559
+ ### Relationship to `/audit-ambiguity`
560
+
561
+ The ambiguity gates are **inline, lightweight, fix-it-now** checks. The
562
+ `/audit-ambiguity` workflow is a **standalone, scored, report-generating**
563
+ audit you run across multiple documents at once. They complement each other:
564
+
565
+ - Gates: prevent ambiguity from entering (at write time)
566
+ - Audit: detect ambiguity that slipped through (after the fact)
567
+
568
+ ---
569
+
570
+ ## Protocol 9: Parallel Claim
571
+
572
+ **Invoked by**: `/implement-slice` step 1.5 (parallel dispatch)
573
+
574
+ **Purpose**: Coordinate parallel agent ownership of tasks using claim markers
575
+ and file-level locks. Prevents two agents from modifying the same files.
576
+
577
+ ### Concepts
578
+
579
+ | Concept | Description |
580
+ |---------|-------------|
581
+ | **Surface tag** | `BE`, `FE`, or `QA` prefix on a task, determines which agent type handles it |
582
+ | **Claim flag `[!]`** | Appended to a task line — means an agent owns this task and all subtasks |
583
+ | **`files:` block** | Listed directly under a claimed task — hard lock on those files |
584
+ | **Frozen files** | Files no parallel agent may touch — see Frozen Files list below |
585
+
586
+ ### Frozen Files
587
+
588
+ Files no parallel agent may touch:
589
+
590
+ - `package.json` (or equivalent dependency manifest for the project's package manager)
591
+ - `{{PACKAGE_MANAGER}}` lock file (e.g., `pnpm-lock.yaml`, `yarn.lock`, `package-lock.json`)
592
+ - `{{FRONTEND_FRAMEWORK}}` config file (e.g., `astro.config.mjs`, `next.config.js`, `vite.config.ts`)
593
+ - `{{CONTRACTS_DIR}}` (e.g., `src/contracts/*`)
594
+ - Language config file (e.g., `tsconfig.json` for TypeScript, `pyproject.toml` for Python)
595
+ - `.env`
596
+
597
+ ### Claiming a Task
598
+
599
+ When an agent is dispatched to a surface-tagged task:
600
+
601
+ 1. **Change status** from `[ ]` to `[/]`
602
+ 2. **Append `[!]`** to the end of the task line
603
+ 3. **Write `files:` block** directly under the task line, listing every file the agent will modify:
604
+ ```markdown
605
+ - [/] `BE` API endpoints for user profile [!]
606
+ - files: src/api/users/[id].ts, src/db/queries/user.ts
607
+ - [ ] GET /api/users/:id
608
+ - [ ] PUT /api/users/:id
609
+ ```
610
+ 4. **Subtasks inherit the claim** — the agent owns all nested items under the claimed task
611
+
612
+ ### Collision Check
613
+
614
+ Before dispatching agents, the orchestrator must verify no file overlap:
615
+
616
+ 1. **Collect `files:` lists** from all tasks about to be claimed
617
+ 2. **Check intersection** — if any file appears in more than one list:
618
+ - **Same tag** → merge tasks (shouldn't happen if planned well)
619
+ - **Different tags** → cannot parallelize. Run sequentially, assign to
620
+ whichever tag owns the majority of files
621
+ 3. **Check frozen files** — if any agent's `files:` list includes a frozen file,
622
+ reject the claim and require a `// BOUNDARY:` stub approach instead
623
+ 4. **Empty intersection** → ✅ safe to dispatch in parallel
624
+
625
+ ### Releasing a Task
626
+
627
+ When an agent completes all subtasks under a claimed task:
628
+
629
+ 1. **Change status** from `[/]` to `[x]`
630
+ 2. **Remove `[!]`** from the task line
631
+ 3. **Remove the `files:` block** (lock released)
632
+ 4. All subtasks should be `[x]`
633
+
634
+ See Protocol 3 (Progress Update) step 2 for the exact format.
635
+
636
+ ### Dependency Rules (TDD Order)
637
+
638
+ > **Tests are the rock. Code is malleable.** If tests fail, the code changes —
639
+ > never the tests. Shallow or simplified tests that force passing results are
640
+ > the single greatest failure mode. Comprehensive tests are non-negotiable.
641
+
642
+ The dependency chain follows strict TDD: Red → Green → Verify.
643
+
644
+ | Phase | Tag | What Happens | Depends On |
645
+ |-------|-----|-------------|------------|
646
+ | 1. Contract | (untagged) | Orchestrator writes Zod schemas | Nothing |
647
+ | 2. QA-RED | `QA` | Write comprehensive failing tests from acceptance criteria | Contract `[x]` |
648
+ | 3. BE + FE | `BE`, `FE` | Implement in parallel to make tests pass | QA-RED `[x]` |
649
+ | 4. QA-GREEN | `QA` | Second pass — verify all tests pass, check for cheating, add integration/E2E | BE `[x]` + FE `[x]` |
650
+
651
+ ### Iterative Correction Loop
652
+
653
+ If QA-GREEN finds failures:
654
+
655
+ 1. **Never weaken or simplify tests** — tests encode the acceptance criteria
656
+ 2. **Report failures** to orchestrator with specific test names and error output
657
+ 3. **Orchestrator re-dispatches** `BE` and/or `FE` agents to fix failing code
658
+ 4. **QA-GREEN runs again** — repeat until all tests pass
659
+ 5. **Only the orchestrator may terminate the loop** — agents cannot declare "good enough"
660
+
661
+ ```
662
+ Contract → QA-RED → BE+FE (parallel) → QA-GREEN
663
+
664
+ Tests pass? ──Yes──→ Slice complete
665
+ ↓ No
666
+ Re-dispatch BE/FE → QA-GREEN (repeat)
667
+ ```
668
+
669
+ ### Stale Lock Recovery
670
+
671
+ If an agent crashes mid-task (leaving `[!]` without completing):
672
+
673
+ 1. **Manual cleanup**: User or orchestrator resets the task from `[/]` to `[ ]`,
674
+ removes `[!]` and `files:` block
675
+ 2. **Subtask state preserved**: Any subtasks already marked `[x]` remain — the
676
+ new agent picks up from the first `[ ]` subtask
677
+ 3. **Prevention**: Agents should update subtask status incrementally, not batch
678
+ at the end
679
+
680
+ ### Level Hierarchy Reference
681
+
682
+ ```
683
+ Level 1: Phase [ ] [/] [x] — no tags, no [!]
684
+ Level 2: Slice [ ] [/] [x] — no tags, no [!]
685
+ Level 3: Task [ ] [/] [x] + [!] — has BE/FE/QA tag, claimable
686
+ Level 4+: Subtask [ ] [/] [x] — no [!], owned by parent task's agent
687
+ ```
688
+
689
+ ---
690
+
691
+ ## Integration Points
692
+
693
+ Workflows reference this skill's protocols, not its internals:
694
+
695
+ | Workflow | Step | Protocol |
696
+ |----------|------|----------|
697
+ | `instructions/workflow.md` | Step 1 (context) | Session Resumption |
698
+ | `/decompose-architecture` | After creating indexes | Spec Pipeline Generation |
699
+ | `/write-architecture-spec` | After updating IA index | Spec Pipeline Update |
700
+ | `/write-architecture-spec` | Before request review | Ambiguity Gates (micro + macro) |
701
+ | `/write-architecture-spec` | During design choices | Decision Effect Analysis |
702
+ | `/write-be-spec` | After updating BE index | Spec Pipeline Update |
703
+ | `/write-be-spec` | Before request review | Ambiguity Gates (micro + macro) |
704
+ | `/write-fe-spec` | After updating FE index | Spec Pipeline Update |
705
+ | `/write-fe-spec` | Before request review | Ambiguity Gates (micro + macro) |
706
+ | `/plan-phase` | Step 7 | Progress Generation |
707
+ | `/create-prd` | During design choices | Decision Effect Analysis |
708
+ | `/implement-slice` | Step 0 | Session Resumption |
709
+ | `/implement-slice` | Step 1.5 | Parallel Claim |
710
+ | `/implement-slice` | Step 4 (during impl) | Decision Effect Analysis |
711
+ | `/implement-slice` | Step 7 | Progress Update (incl. claim release) |
712
+ | `/fix-bug` | End | Pattern Extraction |
713
+ | `/refactor` | End | Pattern Extraction |
714
+ | Any workflow | End | Pattern Extraction + Session Close |
715
+
716
+ ## DO / DON'T
717
+
718
+ ### DO
719
+ - ✅ Create progress files that mirror spec depth exactly
720
+ - ✅ Mark items immediately when complete (never defer check-offs)
721
+ - ✅ Log blockers the moment they're encountered
722
+ - ✅ Write session close log before ending any session
723
+ - ✅ Only add patterns with genuine reuse value
724
+
725
+ ### DON'T
726
+ - ❌ Over-generalize from a single experience (set confidence low)
727
+ - ❌ Create slice files for trivial slices (< 3 criteria)
728
+ - ❌ Skip session resumption at workflow start
729
+ - ❌ Let progress files drift from actual state
730
+ - ❌ Log every minor observation as a "pattern"