@ruaruababa/vibe-kit 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 (462) hide show
  1. package/CATALOG.md +317 -0
  2. package/README.md +121 -0
  3. package/aliases.json +65 -0
  4. package/bin/vibe.js +2 -0
  5. package/bundles.json +265 -0
  6. package/catalog.json +1560 -0
  7. package/dist/antigravity-skills/bin/cli.js +438 -0
  8. package/dist/antigravity-skills/lib/skill-utils.js +158 -0
  9. package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
  10. package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
  11. package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
  12. package/dist/bin/vibe.js +2 -0
  13. package/dist/dist/src/cli/index.js +26 -0
  14. package/dist/lib/skill-utils.js +158 -0
  15. package/dist/scripts/build-catalog.js +50 -0
  16. package/dist/scripts/normalize-frontmatter.js +144 -0
  17. package/dist/scripts/validate-skills.js +56 -0
  18. package/dist/src/cli/index.js +146 -0
  19. package/dist/src/types/index.js +13 -0
  20. package/dist/src/utils/fs.js +1 -0
  21. package/package.json +43 -0
  22. package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
  23. package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
  24. package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
  25. package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
  26. package/skills/agent-orchestrator/SKILL.md +24 -0
  27. package/skills/ai-engineer/SKILL.md +171 -0
  28. package/skills/airflow-dag-patterns/SKILL.md +41 -0
  29. package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
  30. package/skills/angular-migration/SKILL.md +428 -0
  31. package/skills/anti-reversing-techniques/SKILL.md +42 -0
  32. package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
  33. package/skills/api-design-principles/SKILL.md +37 -0
  34. package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  35. package/skills/api-design-principles/assets/rest-api-template.py +182 -0
  36. package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  37. package/skills/api-design-principles/references/rest-best-practices.md +408 -0
  38. package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  39. package/skills/api-documenter/SKILL.md +184 -0
  40. package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
  41. package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
  42. package/skills/application-performance-performance-optimization/SKILL.md +154 -0
  43. package/skills/architect-review/SKILL.md +174 -0
  44. package/skills/architecture-decision-records/SKILL.md +441 -0
  45. package/skills/architecture-patterns/SKILL.md +37 -0
  46. package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
  47. package/skills/arm-cortex-expert/SKILL.md +306 -0
  48. package/skills/async-python-patterns/SKILL.md +39 -0
  49. package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
  50. package/skills/attack-tree-construction/SKILL.md +38 -0
  51. package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
  52. package/skills/auth-implementation-patterns/SKILL.md +39 -0
  53. package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
  54. package/skills/backend-architect/SKILL.md +333 -0
  55. package/skills/backend-development-feature-development/SKILL.md +180 -0
  56. package/skills/backend-security-coder/SKILL.md +156 -0
  57. package/skills/backtesting-frameworks/SKILL.md +39 -0
  58. package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
  59. package/skills/bash-defensive-patterns/SKILL.md +43 -0
  60. package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
  61. package/skills/bash-pro/SKILL.md +310 -0
  62. package/skills/bats-testing-patterns/SKILL.md +34 -0
  63. package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
  64. package/skills/bazel-build-optimization/SKILL.md +397 -0
  65. package/skills/billing-automation/SKILL.md +42 -0
  66. package/skills/billing-automation/resources/implementation-playbook.md +544 -0
  67. package/skills/binary-analysis-patterns/SKILL.md +450 -0
  68. package/skills/blockchain-developer/SKILL.md +208 -0
  69. package/skills/business-analyst/SKILL.md +182 -0
  70. package/skills/c-pro/SKILL.md +56 -0
  71. package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
  72. package/skills/c4-code/SKILL.md +244 -0
  73. package/skills/c4-component/SKILL.md +153 -0
  74. package/skills/c4-container/SKILL.md +171 -0
  75. package/skills/c4-context/SKILL.md +150 -0
  76. package/skills/changelog-automation/SKILL.md +38 -0
  77. package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
  78. package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
  79. package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
  80. package/skills/clean-markdown/SKILL.md +23 -0
  81. package/skills/cloud-architect/SKILL.md +135 -0
  82. package/skills/code-documentation-code-explain/SKILL.md +46 -0
  83. package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
  84. package/skills/code-documentation-doc-generate/SKILL.md +48 -0
  85. package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
  86. package/skills/code-refactoring-context-restore/SKILL.md +179 -0
  87. package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
  88. package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
  89. package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
  90. package/skills/code-review-ai-ai-review/SKILL.md +450 -0
  91. package/skills/code-review-excellence/SKILL.md +40 -0
  92. package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
  93. package/skills/code-reviewer/SKILL.md +178 -0
  94. package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
  95. package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
  96. package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
  97. package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
  98. package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
  99. package/skills/competitive-landscape/SKILL.md +34 -0
  100. package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
  101. package/skills/comprehensive-review-full-review/SKILL.md +146 -0
  102. package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
  103. package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
  104. package/skills/conductor-implement/SKILL.md +388 -0
  105. package/skills/conductor-manage/SKILL.md +39 -0
  106. package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
  107. package/skills/conductor-new-track/SKILL.md +433 -0
  108. package/skills/conductor-revert/SKILL.md +372 -0
  109. package/skills/conductor-setup/SKILL.md +426 -0
  110. package/skills/conductor-status/SKILL.md +338 -0
  111. package/skills/conductor-validator/SKILL.md +62 -0
  112. package/skills/content-marketer/SKILL.md +170 -0
  113. package/skills/context-driven-development/SKILL.md +400 -0
  114. package/skills/context-management-context-restore/SKILL.md +179 -0
  115. package/skills/context-management-context-save/SKILL.md +177 -0
  116. package/skills/context-manager/SKILL.md +185 -0
  117. package/skills/cost-optimization/SKILL.md +286 -0
  118. package/skills/cpp-pro/SKILL.md +59 -0
  119. package/skills/cqrs-implementation/SKILL.md +35 -0
  120. package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
  121. package/skills/csharp-pro/SKILL.md +59 -0
  122. package/skills/customer-support/SKILL.md +170 -0
  123. package/skills/data-engineer/SKILL.md +224 -0
  124. package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
  125. package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
  126. package/skills/data-quality-frameworks/SKILL.md +40 -0
  127. package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
  128. package/skills/data-scientist/SKILL.md +199 -0
  129. package/skills/data-storytelling/SKILL.md +465 -0
  130. package/skills/database-admin/SKILL.md +165 -0
  131. package/skills/database-architect/SKILL.md +268 -0
  132. package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
  133. package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
  134. package/skills/database-migration/SKILL.md +436 -0
  135. package/skills/database-migrations-migration-observability/SKILL.md +420 -0
  136. package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
  137. package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
  138. package/skills/database-optimizer/SKILL.md +167 -0
  139. package/skills/dbt-transformation-patterns/SKILL.md +34 -0
  140. package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
  141. package/skills/debugger/SKILL.md +49 -0
  142. package/skills/debugging-strategies/SKILL.md +34 -0
  143. package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
  144. package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
  145. package/skills/defi-protocol-templates/SKILL.md +466 -0
  146. package/skills/dependency-management-deps-audit/SKILL.md +44 -0
  147. package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
  148. package/skills/dependency-upgrade/SKILL.md +421 -0
  149. package/skills/deployment-engineer/SKILL.md +170 -0
  150. package/skills/deployment-pipeline-design/SKILL.md +371 -0
  151. package/skills/deployment-validation-config-validate/SKILL.md +496 -0
  152. package/skills/devops-troubleshooter/SKILL.md +161 -0
  153. package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
  154. package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
  155. package/skills/distributed-tracing/SKILL.md +450 -0
  156. package/skills/django-pro/SKILL.md +180 -0
  157. package/skills/docs-architect/SKILL.md +98 -0
  158. package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
  159. package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
  160. package/skills/dotnet-architect/SKILL.md +197 -0
  161. package/skills/dotnet-backend-patterns/SKILL.md +37 -0
  162. package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
  163. package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
  164. package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
  165. package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
  166. package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
  167. package/skills/dummy-skill/SKILL.md +5 -0
  168. package/skills/dx-optimizer/SKILL.md +83 -0
  169. package/skills/e2e-testing-patterns/SKILL.md +41 -0
  170. package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
  171. package/skills/elixir-pro/SKILL.md +59 -0
  172. package/skills/embedding-strategies/SKILL.md +491 -0
  173. package/skills/employment-contract-templates/SKILL.md +39 -0
  174. package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
  175. package/skills/error-debugging-error-analysis/SKILL.md +47 -0
  176. package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
  177. package/skills/error-debugging-error-trace/SKILL.md +43 -0
  178. package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
  179. package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
  180. package/skills/error-detective/SKILL.md +53 -0
  181. package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
  182. package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
  183. package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
  184. package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
  185. package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
  186. package/skills/error-handling-patterns/SKILL.md +35 -0
  187. package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
  188. package/skills/event-sourcing-architect/SKILL.md +58 -0
  189. package/skills/event-store-design/SKILL.md +449 -0
  190. package/skills/fastapi-pro/SKILL.md +192 -0
  191. package/skills/fastapi-templates/SKILL.md +32 -0
  192. package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
  193. package/skills/final-test/SKILL.md +5 -0
  194. package/skills/firmware-analyst/SKILL.md +320 -0
  195. package/skills/flutter-expert/SKILL.md +200 -0
  196. package/skills/framework-migration-code-migrate/SKILL.md +48 -0
  197. package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
  198. package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
  199. package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
  200. package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
  201. package/skills/frontend-developer/SKILL.md +171 -0
  202. package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
  203. package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
  204. package/skills/frontend-security-coder/SKILL.md +170 -0
  205. package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
  206. package/skills/gdpr-data-handling/SKILL.md +33 -0
  207. package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
  208. package/skills/git-advanced-workflows/SKILL.md +412 -0
  209. package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
  210. package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
  211. package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
  212. package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
  213. package/skills/github-actions-templates/SKILL.md +345 -0
  214. package/skills/gitlab-ci-patterns/SKILL.md +283 -0
  215. package/skills/gitops-workflow/SKILL.md +303 -0
  216. package/skills/gitops-workflow/references/argocd-setup.md +134 -0
  217. package/skills/gitops-workflow/references/sync-policies.md +131 -0
  218. package/skills/go-concurrency-patterns/SKILL.md +33 -0
  219. package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
  220. package/skills/godot-gdscript-patterns/SKILL.md +33 -0
  221. package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
  222. package/skills/golang-pro/SKILL.md +179 -0
  223. package/skills/grafana-dashboards/SKILL.md +381 -0
  224. package/skills/graphql-architect/SKILL.md +182 -0
  225. package/skills/haskell-pro/SKILL.md +56 -0
  226. package/skills/helm-chart-scaffolding/SKILL.md +34 -0
  227. package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
  228. package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
  229. package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
  230. package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
  231. package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
  232. package/skills/hr-pro/SKILL.md +126 -0
  233. package/skills/hybrid-cloud-architect/SKILL.md +168 -0
  234. package/skills/hybrid-cloud-networking/SKILL.md +238 -0
  235. package/skills/hybrid-search-implementation/SKILL.md +32 -0
  236. package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
  237. package/skills/incident-responder/SKILL.md +213 -0
  238. package/skills/incident-response-incident-response/SKILL.md +168 -0
  239. package/skills/incident-response-smart-fix/SKILL.md +29 -0
  240. package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
  241. package/skills/incident-runbook-templates/SKILL.md +395 -0
  242. package/skills/ios-developer/SKILL.md +219 -0
  243. package/skills/istio-traffic-management/SKILL.md +337 -0
  244. package/skills/java-pro/SKILL.md +177 -0
  245. package/skills/javascript-pro/SKILL.md +57 -0
  246. package/skills/javascript-testing-patterns/SKILL.md +35 -0
  247. package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
  248. package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
  249. package/skills/julia-pro/SKILL.md +209 -0
  250. package/skills/k8s-manifest-generator/SKILL.md +35 -0
  251. package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
  252. package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
  253. package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
  254. package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
  255. package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
  256. package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
  257. package/skills/k8s-security-policies/SKILL.md +346 -0
  258. package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
  259. package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
  260. package/skills/kpi-dashboard-design/SKILL.md +440 -0
  261. package/skills/kubernetes-architect/SKILL.md +170 -0
  262. package/skills/langchain-architecture/SKILL.md +350 -0
  263. package/skills/legacy-modernizer/SKILL.md +53 -0
  264. package/skills/legal-advisor/SKILL.md +70 -0
  265. package/skills/linkerd-patterns/SKILL.md +321 -0
  266. package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
  267. package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
  268. package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
  269. package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
  270. package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
  271. package/skills/llm-evaluation/SKILL.md +483 -0
  272. package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
  273. package/skills/malware-analyst/SKILL.md +247 -0
  274. package/skills/market-sizing-analysis/SKILL.md +425 -0
  275. package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
  276. package/skills/market-sizing-analysis/references/data-sources.md +360 -0
  277. package/skills/memory-forensics/SKILL.md +491 -0
  278. package/skills/memory-safety-patterns/SKILL.md +33 -0
  279. package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
  280. package/skills/mermaid-expert/SKILL.md +59 -0
  281. package/skills/microservices-patterns/SKILL.md +35 -0
  282. package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
  283. package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
  284. package/skills/ml-engineer/SKILL.md +168 -0
  285. package/skills/ml-pipeline-workflow/SKILL.md +257 -0
  286. package/skills/mlops-engineer/SKILL.md +219 -0
  287. package/skills/mobile-developer/SKILL.md +205 -0
  288. package/skills/mobile-security-coder/SKILL.md +184 -0
  289. package/skills/modern-javascript-patterns/SKILL.md +35 -0
  290. package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
  291. package/skills/monorepo-architect/SKILL.md +61 -0
  292. package/skills/monorepo-management/SKILL.md +35 -0
  293. package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
  294. package/skills/mtls-configuration/SKILL.md +359 -0
  295. package/skills/multi-cloud-architecture/SKILL.md +189 -0
  296. package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
  297. package/skills/network-engineer/SKILL.md +169 -0
  298. package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
  299. package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
  300. package/skills/nft-standards/SKILL.md +395 -0
  301. package/skills/node-expert/SKILL.md +23 -0
  302. package/skills/nodejs-backend-patterns/SKILL.md +35 -0
  303. package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
  304. package/skills/nx-workspace-patterns/SKILL.md +464 -0
  305. package/skills/observability-engineer/SKILL.md +237 -0
  306. package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
  307. package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
  308. package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
  309. package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
  310. package/skills/on-call-handoff-patterns/SKILL.md +453 -0
  311. package/skills/openapi-spec-generation/SKILL.md +33 -0
  312. package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
  313. package/skills/payment-integration/SKILL.md +77 -0
  314. package/skills/paypal-integration/SKILL.md +479 -0
  315. package/skills/pci-compliance/SKILL.md +478 -0
  316. package/skills/performance-engineer/SKILL.md +180 -0
  317. package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
  318. package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
  319. package/skills/php-pro/SKILL.md +63 -0
  320. package/skills/posix-shell-pro/SKILL.md +304 -0
  321. package/skills/postgresql/SKILL.md +230 -0
  322. package/skills/postmortem-writing/SKILL.md +386 -0
  323. package/skills/projection-patterns/SKILL.md +33 -0
  324. package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
  325. package/skills/prometheus-configuration/SKILL.md +404 -0
  326. package/skills/prompt-engineer/SKILL.md +272 -0
  327. package/skills/prompt-engineering-patterns/SKILL.md +213 -0
  328. package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
  329. package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
  330. package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
  331. package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
  332. package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
  333. package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
  334. package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
  335. package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
  336. package/skills/protocol-reverse-engineering/SKILL.md +29 -0
  337. package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
  338. package/skills/python-development-python-scaffold/SKILL.md +331 -0
  339. package/skills/python-packaging/SKILL.md +36 -0
  340. package/skills/python-packaging/resources/implementation-playbook.md +869 -0
  341. package/skills/python-performance-optimization/SKILL.md +36 -0
  342. package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
  343. package/skills/python-pro/SKILL.md +158 -0
  344. package/skills/python-testing-patterns/SKILL.md +37 -0
  345. package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
  346. package/skills/quant-analyst/SKILL.md +53 -0
  347. package/skills/rag-implementation/SKILL.md +421 -0
  348. package/skills/react-modernization/SKILL.md +34 -0
  349. package/skills/react-modernization/resources/implementation-playbook.md +512 -0
  350. package/skills/react-native-architecture/SKILL.md +33 -0
  351. package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
  352. package/skills/react-state-management/SKILL.md +441 -0
  353. package/skills/reference-builder/SKILL.md +188 -0
  354. package/skills/reverse-engineer/SKILL.md +173 -0
  355. package/skills/risk-manager/SKILL.md +61 -0
  356. package/skills/risk-metrics-calculation/SKILL.md +33 -0
  357. package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
  358. package/skills/ruby-pro/SKILL.md +56 -0
  359. package/skills/rust-async-patterns/SKILL.md +33 -0
  360. package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
  361. package/skills/rust-pro/SKILL.md +178 -0
  362. package/skills/saga-orchestration/SKILL.md +496 -0
  363. package/skills/sales-automator/SKILL.md +55 -0
  364. package/skills/sast-configuration/SKILL.md +212 -0
  365. package/skills/scala-pro/SKILL.md +82 -0
  366. package/skills/screen-reader-testing/SKILL.md +33 -0
  367. package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
  368. package/skills/search-specialist/SKILL.md +80 -0
  369. package/skills/secrets-management/SKILL.md +364 -0
  370. package/skills/security-auditor/SKILL.md +169 -0
  371. package/skills/security-compliance-compliance-check/SKILL.md +55 -0
  372. package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
  373. package/skills/security-requirement-extraction/SKILL.md +33 -0
  374. package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
  375. package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
  376. package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
  377. package/skills/security-scanning-security-hardening/SKILL.md +147 -0
  378. package/skills/security-scanning-security-sast/SKILL.md +495 -0
  379. package/skills/seo-authority-builder/SKILL.md +136 -0
  380. package/skills/seo-cannibalization-detector/SKILL.md +123 -0
  381. package/skills/seo-content-auditor/SKILL.md +83 -0
  382. package/skills/seo-content-planner/SKILL.md +108 -0
  383. package/skills/seo-content-refresher/SKILL.md +118 -0
  384. package/skills/seo-content-writer/SKILL.md +96 -0
  385. package/skills/seo-keyword-strategist/SKILL.md +95 -0
  386. package/skills/seo-meta-optimizer/SKILL.md +92 -0
  387. package/skills/seo-snippet-hunter/SKILL.md +114 -0
  388. package/skills/seo-structure-architect/SKILL.md +108 -0
  389. package/skills/service-mesh-expert/SKILL.md +58 -0
  390. package/skills/service-mesh-observability/SKILL.md +395 -0
  391. package/skills/shellcheck-configuration/SKILL.md +466 -0
  392. package/skills/similarity-search-patterns/SKILL.md +33 -0
  393. package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
  394. package/skills/slo-implementation/SKILL.md +341 -0
  395. package/skills/solidity-security/SKILL.md +34 -0
  396. package/skills/solidity-security/resources/implementation-playbook.md +524 -0
  397. package/skills/spark-optimization/SKILL.md +427 -0
  398. package/skills/sql-optimization-patterns/SKILL.md +35 -0
  399. package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
  400. package/skills/sql-pro/SKILL.md +173 -0
  401. package/skills/startup-analyst/SKILL.md +328 -0
  402. package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
  403. package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
  404. package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
  405. package/skills/startup-financial-modeling/SKILL.md +467 -0
  406. package/skills/startup-metrics-framework/SKILL.md +34 -0
  407. package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
  408. package/skills/stride-analysis-patterns/SKILL.md +33 -0
  409. package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
  410. package/skills/stripe-integration/SKILL.md +454 -0
  411. package/skills/systems-programming-rust-project/SKILL.md +440 -0
  412. package/skills/tailwind-design-system/SKILL.md +33 -0
  413. package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
  414. package/skills/tdd-orchestrator/SKILL.md +205 -0
  415. package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
  416. package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
  417. package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
  418. package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
  419. package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
  420. package/skills/team-collaboration-issue/SKILL.md +37 -0
  421. package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
  422. package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
  423. package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
  424. package/skills/team-composition-analysis/SKILL.md +413 -0
  425. package/skills/temporal-python-pro/SKILL.md +370 -0
  426. package/skills/temporal-python-testing/SKILL.md +170 -0
  427. package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
  428. package/skills/temporal-python-testing/resources/local-setup.md +553 -0
  429. package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
  430. package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
  431. package/skills/terraform-module-library/SKILL.md +261 -0
  432. package/skills/terraform-module-library/references/aws-modules.md +63 -0
  433. package/skills/terraform-specialist/SKILL.md +166 -0
  434. package/skills/test-automator/SKILL.md +224 -0
  435. package/skills/threat-mitigation-mapping/SKILL.md +33 -0
  436. package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
  437. package/skills/threat-modeling-expert/SKILL.md +60 -0
  438. package/skills/track-management/SKILL.md +38 -0
  439. package/skills/track-management/resources/implementation-playbook.md +591 -0
  440. package/skills/turborepo-caching/SKILL.md +419 -0
  441. package/skills/tutorial-engineer/SKILL.md +139 -0
  442. package/skills/typescript-advanced-types/SKILL.md +35 -0
  443. package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
  444. package/skills/typescript-pro/SKILL.md +55 -0
  445. package/skills/ui-minimal/SKILL.md +23 -0
  446. package/skills/ui-ux-designer/SKILL.md +209 -0
  447. package/skills/ui-visual-validator/SKILL.md +214 -0
  448. package/skills/unit-testing-test-generate/SKILL.md +319 -0
  449. package/skills/unity-developer/SKILL.md +230 -0
  450. package/skills/unity-ecs-patterns/SKILL.md +33 -0
  451. package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
  452. package/skills/uv-package-manager/SKILL.md +37 -0
  453. package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
  454. package/skills/vector-database-engineer/SKILL.md +60 -0
  455. package/skills/vector-index-tuning/SKILL.md +42 -0
  456. package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
  457. package/skills/wcag-audit-patterns/SKILL.md +41 -0
  458. package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
  459. package/skills/web3-testing/SKILL.md +427 -0
  460. package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
  461. package/skills/workflow-patterns/SKILL.md +38 -0
  462. package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
@@ -0,0 +1,870 @@
1
+ # Green Phase: Simple function Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ Implement minimal code to make failing tests pass in TDD green phase:
6
+
7
+ [Extended thinking: This tool uses the test-automator agent to implement the minimal code necessary to make tests pass. It focuses on simplicity, avoiding over-engineering while ensuring all tests become green.]
8
+
9
+ ## Use this skill when
10
+
11
+ - Moving from red to green in a TDD cycle
12
+ - Implementing minimal behavior to satisfy tests
13
+ - You want to keep implementation intentionally simple
14
+
15
+ ## Do not use this skill when
16
+
17
+ - You are refactoring for design or performance
18
+ - Tests are already passing and you need new requirements
19
+ - You need a full architectural redesign
20
+
21
+ ## Instructions
22
+
23
+ 1. Review failing tests and identify the smallest fix.
24
+ 2. Implement the minimal change to pass the next test.
25
+ 3. Run tests after each change to confirm progress.
26
+ 4. Record shortcuts or debt for the refactor phase.
27
+
28
+ ## Safety
29
+
30
+ - Avoid bypassing tests to make them pass.
31
+ - Keep changes scoped to the failing behavior only.
32
+
33
+ ## Implementation Process
34
+
35
+ Use Task tool with subagent_type="unit-testing::test-automator" to implement minimal passing code.
36
+
37
+ Prompt: "Implement MINIMAL code to make these failing tests pass: $ARGUMENTS. Follow TDD green phase principles:
38
+
39
+ 1. **Pre-Implementation Analysis**
40
+ - Review all failing tests and their error messages
41
+ - Identify the simplest path to make tests pass
42
+ - Map test requirements to minimal implementation needs
43
+ - Avoid premature optimization or over-engineering
44
+ - Focus only on making tests green, not perfect code
45
+
46
+ 2. **Implementation Strategy**
47
+ - **Fake It**: Return hard-coded values when appropriate
48
+ - **Obvious Implementation**: When solution is trivial and clear
49
+ - **Triangulation**: Generalize only when multiple tests require it
50
+ - Start with the simplest test and work incrementally
51
+ - One test at a time - don't try to pass all at once
52
+
53
+ 3. **Code Structure Guidelines**
54
+ - Write the minimal code that could possibly work
55
+ - Avoid adding functionality not required by tests
56
+ - Use simple data structures initially
57
+ - Defer architectural decisions until refactor phase
58
+ - Keep methods/functions small and focused
59
+ - Don't add error handling unless tests require it
60
+
61
+ 4. **Language-Specific Patterns**
62
+ - **JavaScript/TypeScript**: Simple functions, avoid classes initially
63
+ - **Python**: Functions before classes, simple returns
64
+ - **Java**: Minimal class structure, no patterns yet
65
+ - **C#**: Basic implementations, no interfaces yet
66
+ - **Go**: Simple functions, defer goroutines/channels
67
+ - **Ruby**: Procedural before object-oriented when possible
68
+
69
+ 5. **Progressive Implementation**
70
+ - Make first test pass with simplest possible code
71
+ - Run tests after each change to verify progress
72
+ - Add just enough code for next failing test
73
+ - Resist urge to implement beyond test requirements
74
+ - Keep track of technical debt for refactor phase
75
+ - Document assumptions and shortcuts taken
76
+
77
+ 6. **Common Green Phase Techniques**
78
+ - Hard-coded returns for initial tests
79
+ - Simple if/else for limited test cases
80
+ - Basic loops only when iteration tests require
81
+ - Minimal data structures (arrays before complex objects)
82
+ - In-memory storage before database integration
83
+ - Synchronous before asynchronous implementation
84
+
85
+ 7. **Success Criteria**
86
+ ✓ All tests pass (green)
87
+ ✓ No extra functionality beyond test requirements
88
+ ✓ Code is readable even if not optimal
89
+ ✓ No broken existing functionality
90
+ ✓ Implementation time is minimized
91
+ ✓ Clear path to refactoring identified
92
+
93
+ 8. **Anti-Patterns to Avoid**
94
+ - Gold plating or adding unrequested features
95
+ - Implementing design patterns prematurely
96
+ - Complex abstractions without test justification
97
+ - Performance optimizations without metrics
98
+ - Adding tests during green phase
99
+ - Refactoring during implementation
100
+ - Ignoring test failures to move forward
101
+
102
+ 9. **Implementation Metrics**
103
+ - Time to green: Track implementation duration
104
+ - Lines of code: Measure implementation size
105
+ - Cyclomatic complexity: Keep it low initially
106
+ - Test pass rate: Must reach 100%
107
+ - Code coverage: Verify all paths tested
108
+
109
+ 10. **Validation Steps**
110
+ - Run all tests and confirm they pass
111
+ - Verify no regression in existing tests
112
+ - Check that implementation is truly minimal
113
+ - Document any technical debt created
114
+ - Prepare notes for refactoring phase
115
+
116
+ Output should include:
117
+ - Complete implementation code
118
+ - Test execution results showing all green
119
+ - List of shortcuts taken for later refactoring
120
+ - Implementation time metrics
121
+ - Technical debt documentation
122
+ - Readiness assessment for refactor phase"
123
+
124
+ ## Post-Implementation Checks
125
+
126
+ After implementation:
127
+ 1. Run full test suite to confirm all tests pass
128
+ 2. Verify no existing tests were broken
129
+ 3. Document areas needing refactoring
130
+ 4. Check implementation is truly minimal
131
+ 5. Record implementation time for metrics
132
+
133
+ ## Recovery Process
134
+
135
+ If tests still fail:
136
+ - Review test requirements carefully
137
+ - Check for misunderstood assertions
138
+ - Add minimal code to address specific failures
139
+ - Avoid the temptation to rewrite from scratch
140
+ - Consider if tests themselves need adjustment
141
+
142
+ ## Integration Points
143
+
144
+ - Follows from tdd-red.md test creation
145
+ - Prepares for tdd-refactor.md improvements
146
+ - Updates test coverage metrics
147
+ - Triggers CI/CD pipeline verification
148
+ - Documents technical debt for tracking
149
+
150
+ ## Best Practices
151
+
152
+ - Embrace "good enough" for this phase
153
+ - Speed over perfection (perfection comes in refactor)
154
+ - Make it work, then make it right, then make it fast
155
+ - Trust that refactoring phase will improve code
156
+ - Keep changes small and incremental
157
+ - Celebrate reaching green state!
158
+
159
+ ## Complete Implementation Examples
160
+
161
+ ### Example 1: Minimal → Production-Ready (User Service)
162
+
163
+ **Test Requirements:**
164
+ ```typescript
165
+ describe('UserService', () => {
166
+ it('should create a new user', async () => {
167
+ const user = await userService.create({ email: 'test@example.com', name: 'Test' });
168
+ expect(user.id).toBeDefined();
169
+ expect(user.email).toBe('test@example.com');
170
+ });
171
+
172
+ it('should find user by email', async () => {
173
+ await userService.create({ email: 'test@example.com', name: 'Test' });
174
+ const user = await userService.findByEmail('test@example.com');
175
+ expect(user).toBeDefined();
176
+ });
177
+ });
178
+ ```
179
+
180
+ **Stage 1: Fake It (Minimal)**
181
+ ```typescript
182
+ class UserService {
183
+ create(data: { email: string; name: string }) {
184
+ return { id: '123', email: data.email, name: data.name };
185
+ }
186
+
187
+ findByEmail(email: string) {
188
+ return { id: '123', email: email, name: 'Test' };
189
+ }
190
+ }
191
+ ```
192
+ *Tests pass. Implementation is obviously fake but validates test structure.*
193
+
194
+ **Stage 2: Simple Real Implementation**
195
+ ```typescript
196
+ class UserService {
197
+ private users: Map<string, User> = new Map();
198
+ private nextId = 1;
199
+
200
+ create(data: { email: string; name: string }) {
201
+ const user = { id: String(this.nextId++), ...data };
202
+ this.users.set(user.email, user);
203
+ return user;
204
+ }
205
+
206
+ findByEmail(email: string) {
207
+ return this.users.get(email) || null;
208
+ }
209
+ }
210
+ ```
211
+ *In-memory storage. Tests pass. Good enough for green phase.*
212
+
213
+ **Stage 3: Production-Ready (Refactor Phase)**
214
+ ```typescript
215
+ class UserService {
216
+ constructor(private db: Database) {}
217
+
218
+ async create(data: { email: string; name: string }) {
219
+ const existing = await this.db.query('SELECT * FROM users WHERE email = ?', [data.email]);
220
+ if (existing) throw new Error('User exists');
221
+
222
+ const id = await this.db.insert('users', data);
223
+ return { id, ...data };
224
+ }
225
+
226
+ async findByEmail(email: string) {
227
+ return this.db.queryOne('SELECT * FROM users WHERE email = ?', [email]);
228
+ }
229
+ }
230
+ ```
231
+ *Database integration, error handling, validation - saved for refactor phase.*
232
+
233
+ ### Example 2: API-First Implementation (Express)
234
+
235
+ **Test Requirements:**
236
+ ```javascript
237
+ describe('POST /api/tasks', () => {
238
+ it('should create task and return 201', async () => {
239
+ const res = await request(app)
240
+ .post('/api/tasks')
241
+ .send({ title: 'Test Task' });
242
+
243
+ expect(res.status).toBe(201);
244
+ expect(res.body.id).toBeDefined();
245
+ expect(res.body.title).toBe('Test Task');
246
+ });
247
+ });
248
+ ```
249
+
250
+ **Stage 1: Hardcoded Response**
251
+ ```javascript
252
+ app.post('/api/tasks', (req, res) => {
253
+ res.status(201).json({ id: '1', title: req.body.title });
254
+ });
255
+ ```
256
+ *Tests pass immediately. No logic needed yet.*
257
+
258
+ **Stage 2: Simple Logic**
259
+ ```javascript
260
+ let tasks = [];
261
+ let nextId = 1;
262
+
263
+ app.post('/api/tasks', (req, res) => {
264
+ const task = { id: String(nextId++), title: req.body.title };
265
+ tasks.push(task);
266
+ res.status(201).json(task);
267
+ });
268
+ ```
269
+ *Minimal state management. Ready for more tests.*
270
+
271
+ **Stage 3: Layered Architecture (Refactor)**
272
+ ```javascript
273
+ // Controller
274
+ app.post('/api/tasks', async (req, res) => {
275
+ try {
276
+ const task = await taskService.create(req.body);
277
+ res.status(201).json(task);
278
+ } catch (error) {
279
+ res.status(400).json({ error: error.message });
280
+ }
281
+ });
282
+
283
+ // Service layer
284
+ class TaskService {
285
+ constructor(private repository: TaskRepository) {}
286
+
287
+ async create(data: CreateTaskDto): Promise<Task> {
288
+ this.validate(data);
289
+ return this.repository.save(data);
290
+ }
291
+ }
292
+ ```
293
+ *Proper separation of concerns added during refactor phase.*
294
+
295
+ ### Example 3: Database Integration (Django)
296
+
297
+ **Test Requirements:**
298
+ ```python
299
+ def test_product_creation():
300
+ product = Product.objects.create(name="Widget", price=9.99)
301
+ assert product.id is not None
302
+ assert product.name == "Widget"
303
+
304
+ def test_product_price_validation():
305
+ with pytest.raises(ValidationError):
306
+ Product.objects.create(name="Widget", price=-1)
307
+ ```
308
+
309
+ **Stage 1: Model Only**
310
+ ```python
311
+ class Product(models.Model):
312
+ name = models.CharField(max_length=200)
313
+ price = models.DecimalField(max_digits=10, decimal_places=2)
314
+ ```
315
+ *First test passes. Second test fails - validation not implemented.*
316
+
317
+ **Stage 2: Add Validation**
318
+ ```python
319
+ class Product(models.Model):
320
+ name = models.CharField(max_length=200)
321
+ price = models.DecimalField(max_digits=10, decimal_places=2)
322
+
323
+ def clean(self):
324
+ if self.price < 0:
325
+ raise ValidationError("Price cannot be negative")
326
+
327
+ def save(self, *args, **kwargs):
328
+ self.clean()
329
+ super().save(*args, **kwargs)
330
+ ```
331
+ *All tests pass. Minimal validation logic added.*
332
+
333
+ **Stage 3: Rich Domain Model (Refactor)**
334
+ ```python
335
+ class Product(models.Model):
336
+ name = models.CharField(max_length=200)
337
+ price = models.DecimalField(max_digits=10, decimal_places=2)
338
+ category = models.ForeignKey(Category, on_delete=models.CASCADE)
339
+ created_at = models.DateTimeField(auto_now_add=True)
340
+ updated_at = models.DateTimeField(auto_now=True)
341
+
342
+ class Meta:
343
+ indexes = [models.Index(fields=['category', '-created_at'])]
344
+
345
+ def clean(self):
346
+ if self.price < 0:
347
+ raise ValidationError("Price cannot be negative")
348
+ if self.price > 10000:
349
+ raise ValidationError("Price exceeds maximum")
350
+
351
+ def apply_discount(self, percentage: float) -> Decimal:
352
+ return self.price * (1 - percentage / 100)
353
+ ```
354
+ *Additional features, indexes, business logic added when needed.*
355
+
356
+ ### Example 4: React Component Implementation
357
+
358
+ **Test Requirements:**
359
+ ```typescript
360
+ describe('UserProfile', () => {
361
+ it('should display user name', () => {
362
+ render(<UserProfile user={{ name: 'John', email: 'john@test.com' }} />);
363
+ expect(screen.getByText('John')).toBeInTheDocument();
364
+ });
365
+
366
+ it('should display email', () => {
367
+ render(<UserProfile user={{ name: 'John', email: 'john@test.com' }} />);
368
+ expect(screen.getByText('john@test.com')).toBeInTheDocument();
369
+ });
370
+ });
371
+ ```
372
+
373
+ **Stage 1: Minimal JSX**
374
+ ```typescript
375
+ interface UserProfileProps {
376
+ user: { name: string; email: string };
377
+ }
378
+
379
+ const UserProfile: React.FC<UserProfileProps> = ({ user }) => (
380
+ <div>
381
+ <div>{user.name}</div>
382
+ <div>{user.email}</div>
383
+ </div>
384
+ );
385
+ ```
386
+ *Tests pass. No styling, no structure.*
387
+
388
+ **Stage 2: Basic Structure**
389
+ ```typescript
390
+ const UserProfile: React.FC<UserProfileProps> = ({ user }) => (
391
+ <div className="user-profile">
392
+ <h2>{user.name}</h2>
393
+ <p>{user.email}</p>
394
+ </div>
395
+ );
396
+ ```
397
+ *Added semantic HTML, className for styling hook.*
398
+
399
+ **Stage 3: Production Component (Refactor)**
400
+ ```typescript
401
+ const UserProfile: React.FC<UserProfileProps> = ({ user }) => {
402
+ const [isEditing, setIsEditing] = useState(false);
403
+
404
+ return (
405
+ <div className="user-profile" role="article" aria-label="User profile">
406
+ <header>
407
+ <h2>{user.name}</h2>
408
+ <button onClick={() => setIsEditing(true)} aria-label="Edit profile">
409
+ Edit
410
+ </button>
411
+ </header>
412
+ <section>
413
+ <p>{user.email}</p>
414
+ {user.bio && <p>{user.bio}</p>}
415
+ </section>
416
+ </div>
417
+ );
418
+ };
419
+ ```
420
+ *Accessibility, interaction, additional features added incrementally.*
421
+
422
+ ## Decision Frameworks
423
+
424
+ ### Framework 1: Fake vs. Real Implementation
425
+
426
+ **When to Fake It:**
427
+ - First test for a new feature
428
+ - Complex external dependencies (payment gateways, APIs)
429
+ - Implementation approach is still uncertain
430
+ - Need to validate test structure first
431
+ - Time pressure to see all tests green
432
+
433
+ **When to Go Real:**
434
+ - Second or third test reveals pattern
435
+ - Implementation is obvious and simple
436
+ - Faking would be more complex than real code
437
+ - Need to test integration points
438
+ - Tests explicitly require real behavior
439
+
440
+ **Decision Matrix:**
441
+ ```
442
+ Complexity Low | High
443
+ ↓ | ↓
444
+ Simple → REAL | FAKE first, real later
445
+ Complex → REAL | FAKE, evaluate alternatives
446
+ ```
447
+
448
+ ### Framework 2: Complexity Trade-off Analysis
449
+
450
+ **Simplicity Score Calculation:**
451
+ ```
452
+ Score = (Lines of Code) + (Cyclomatic Complexity × 2) + (Dependencies × 3)
453
+
454
+ < 20 → Simple enough, implement directly
455
+ 20-50 → Consider simpler alternative
456
+ > 50 → Defer complexity to refactor phase
457
+ ```
458
+
459
+ **Example Evaluation:**
460
+ ```typescript
461
+ // Option A: Direct implementation (Score: 45)
462
+ function calculateShipping(weight: number, distance: number, express: boolean): number {
463
+ let base = weight * 0.5 + distance * 0.1;
464
+ if (express) base *= 2;
465
+ if (weight > 50) base += 10;
466
+ if (distance > 1000) base += 20;
467
+ return base;
468
+ }
469
+
470
+ // Option B: Simplest for green phase (Score: 15)
471
+ function calculateShipping(weight: number, distance: number, express: boolean): number {
472
+ return express ? 50 : 25; // Fake it until more tests drive real logic
473
+ }
474
+ ```
475
+ *Choose Option B for green phase, evolve to Option A as tests require.*
476
+
477
+ ### Framework 3: Performance Consideration Timing
478
+
479
+ **Green Phase: Focus on Correctness**
480
+ ```
481
+ ❌ Avoid:
482
+ - Caching strategies
483
+ - Database query optimization
484
+ - Algorithmic complexity improvements
485
+ - Premature memory optimization
486
+
487
+ ✓ Accept:
488
+ - O(n²) if it makes code simpler
489
+ - Multiple database queries
490
+ - Synchronous operations
491
+ - Inefficient but clear algorithms
492
+ ```
493
+
494
+ **When Performance Matters in Green Phase:**
495
+ 1. Performance is explicit test requirement
496
+ 2. Implementation would cause timeout in test suite
497
+ 3. Memory leak would crash tests
498
+ 4. Resource exhaustion prevents testing
499
+
500
+ **Performance Testing Integration:**
501
+ ```typescript
502
+ // Add performance test AFTER functional tests pass
503
+ describe('Performance', () => {
504
+ it('should handle 1000 users within 100ms', () => {
505
+ const start = Date.now();
506
+ for (let i = 0; i < 1000; i++) {
507
+ userService.create({ email: `user${i}@test.com`, name: `User ${i}` });
508
+ }
509
+ expect(Date.now() - start).toBeLessThan(100);
510
+ });
511
+ });
512
+ ```
513
+
514
+ ## Framework-Specific Patterns
515
+
516
+ ### React Patterns
517
+
518
+ **Simple Component → Hooks → Context:**
519
+ ```typescript
520
+ // Green Phase: Props only
521
+ const Counter = ({ count, onIncrement }) => (
522
+ <button onClick={onIncrement}>{count}</button>
523
+ );
524
+
525
+ // Refactor: Add hooks
526
+ const Counter = () => {
527
+ const [count, setCount] = useState(0);
528
+ return <button onClick={() => setCount(c => c + 1)}>{count}</button>;
529
+ };
530
+
531
+ // Refactor: Extract to context
532
+ const Counter = () => {
533
+ const { count, increment } = useCounter();
534
+ return <button onClick={increment}>{count}</button>;
535
+ };
536
+ ```
537
+
538
+ ### Django Patterns
539
+
540
+ **Function View → Class View → Generic View:**
541
+ ```python
542
+ # Green Phase: Simple function
543
+ def product_list(request):
544
+ products = Product.objects.all()
545
+ return JsonResponse({'products': list(products.values())})
546
+
547
+ # Refactor: Class-based view
548
+ class ProductListView(View):
549
+ def get(self, request):
550
+ products = Product.objects.all()
551
+ return JsonResponse({'products': list(products.values())})
552
+
553
+ # Refactor: Generic view
554
+ class ProductListView(ListView):
555
+ model = Product
556
+ context_object_name = 'products'
557
+ ```
558
+
559
+ ### Express Patterns
560
+
561
+ **Inline → Middleware → Service Layer:**
562
+ ```javascript
563
+ // Green Phase: Inline logic
564
+ app.post('/api/users', (req, res) => {
565
+ const user = { id: Date.now(), ...req.body };
566
+ users.push(user);
567
+ res.json(user);
568
+ });
569
+
570
+ // Refactor: Extract middleware
571
+ app.post('/api/users', validateUser, (req, res) => {
572
+ const user = userService.create(req.body);
573
+ res.json(user);
574
+ });
575
+
576
+ // Refactor: Full layering
577
+ app.post('/api/users',
578
+ validateUser,
579
+ asyncHandler(userController.create)
580
+ );
581
+ ```
582
+
583
+ ## Refactoring Resistance Patterns
584
+
585
+ ### Pattern 1: Test Anchor Points
586
+
587
+ Keep tests green during refactoring by maintaining interface contracts:
588
+
589
+ ```typescript
590
+ // Original implementation (tests green)
591
+ function calculateTotal(items: Item[]): number {
592
+ return items.reduce((sum, item) => sum + item.price, 0);
593
+ }
594
+
595
+ // Refactoring: Add tax calculation (keep interface)
596
+ function calculateTotal(items: Item[]): number {
597
+ const subtotal = items.reduce((sum, item) => sum + item.price, 0);
598
+ const tax = subtotal * 0.1;
599
+ return subtotal + tax;
600
+ }
601
+
602
+ // Tests still green because return type/behavior unchanged
603
+ ```
604
+
605
+ ### Pattern 2: Parallel Implementation
606
+
607
+ Run old and new implementations side by side:
608
+
609
+ ```python
610
+ def process_order(order):
611
+ # Old implementation (tests depend on this)
612
+ result_old = legacy_process(order)
613
+
614
+ # New implementation (testing in parallel)
615
+ result_new = new_process(order)
616
+
617
+ # Verify they match
618
+ assert result_old == result_new, "Implementation mismatch"
619
+
620
+ return result_old # Keep tests green
621
+ ```
622
+
623
+ ### Pattern 3: Feature Flags for Refactoring
624
+
625
+ ```javascript
626
+ class PaymentService {
627
+ processPayment(amount) {
628
+ if (config.USE_NEW_PAYMENT_PROCESSOR) {
629
+ return this.newPaymentProcessor(amount);
630
+ }
631
+ return this.legacyPaymentProcessor(amount);
632
+ }
633
+ }
634
+ ```
635
+
636
+ ## Performance-First Green Phase Strategies
637
+
638
+ ### Strategy 1: Type-Driven Development
639
+
640
+ Use types to guide minimal implementation:
641
+
642
+ ```typescript
643
+ // Types define contract
644
+ interface UserRepository {
645
+ findById(id: string): Promise<User | null>;
646
+ save(user: User): Promise<void>;
647
+ }
648
+
649
+ // Green phase: In-memory implementation
650
+ class InMemoryUserRepository implements UserRepository {
651
+ private users = new Map<string, User>();
652
+
653
+ async findById(id: string) {
654
+ return this.users.get(id) || null;
655
+ }
656
+
657
+ async save(user: User) {
658
+ this.users.set(user.id, user);
659
+ }
660
+ }
661
+
662
+ // Refactor: Database implementation (same interface)
663
+ class DatabaseUserRepository implements UserRepository {
664
+ constructor(private db: Database) {}
665
+
666
+ async findById(id: string) {
667
+ return this.db.query('SELECT * FROM users WHERE id = ?', [id]);
668
+ }
669
+
670
+ async save(user: User) {
671
+ await this.db.insert('users', user);
672
+ }
673
+ }
674
+ ```
675
+
676
+ ### Strategy 2: Contract Testing Integration
677
+
678
+ ```typescript
679
+ // Define contract
680
+ const userServiceContract = {
681
+ create: {
682
+ input: { email: 'string', name: 'string' },
683
+ output: { id: 'string', email: 'string', name: 'string' }
684
+ }
685
+ };
686
+
687
+ // Green phase: Implementation matches contract
688
+ class UserService {
689
+ create(data: { email: string; name: string }) {
690
+ return { id: '123', ...data }; // Minimal but contract-compliant
691
+ }
692
+ }
693
+
694
+ // Contract test ensures compliance
695
+ describe('UserService Contract', () => {
696
+ it('should match create contract', () => {
697
+ const result = userService.create({ email: 'test@test.com', name: 'Test' });
698
+ expect(typeof result.id).toBe('string');
699
+ expect(typeof result.email).toBe('string');
700
+ expect(typeof result.name).toBe('string');
701
+ });
702
+ });
703
+ ```
704
+
705
+ ### Strategy 3: Continuous Refactoring Workflow
706
+
707
+ **Micro-Refactoring During Green Phase:**
708
+
709
+ ```python
710
+ # Test passes with this
711
+ def calculate_discount(price, customer_type):
712
+ if customer_type == 'premium':
713
+ return price * 0.8
714
+ return price
715
+
716
+ # Immediate micro-refactor (tests still green)
717
+ DISCOUNT_RATES = {
718
+ 'premium': 0.8,
719
+ 'standard': 1.0
720
+ }
721
+
722
+ def calculate_discount(price, customer_type):
723
+ rate = DISCOUNT_RATES.get(customer_type, 1.0)
724
+ return price * rate
725
+ ```
726
+
727
+ **Safe Refactoring Checklist:**
728
+ - ✓ Tests green before refactoring
729
+ - ✓ Change one thing at a time
730
+ - ✓ Run tests after each change
731
+ - ✓ Commit after each successful refactor
732
+ - ✓ No behavior changes, only structure
733
+
734
+ ## Modern Development Practices (2024/2025)
735
+
736
+ ### Type-Driven Development
737
+
738
+ **Python Type Hints:**
739
+ ```python
740
+ from typing import Optional, List
741
+ from dataclasses import dataclass
742
+
743
+ @dataclass
744
+ class User:
745
+ id: str
746
+ email: str
747
+ name: str
748
+
749
+ class UserService:
750
+ def create(self, email: str, name: str) -> User:
751
+ return User(id="123", email=email, name=name)
752
+
753
+ def find_by_email(self, email: str) -> Optional[User]:
754
+ return None # Minimal implementation
755
+ ```
756
+
757
+ **TypeScript Strict Mode:**
758
+ ```typescript
759
+ // Enable strict mode in tsconfig.json
760
+ {
761
+ "compilerOptions": {
762
+ "strict": true,
763
+ "noUncheckedIndexedAccess": true,
764
+ "exactOptionalPropertyTypes": true
765
+ }
766
+ }
767
+
768
+ // Implementation guided by types
769
+ interface CreateUserDto {
770
+ email: string;
771
+ name: string;
772
+ }
773
+
774
+ class UserService {
775
+ create(data: CreateUserDto): User {
776
+ // Type system enforces contract
777
+ return { id: '123', email: data.email, name: data.name };
778
+ }
779
+ }
780
+ ```
781
+
782
+ ### AI-Assisted Green Phase
783
+
784
+ **Using Copilot/AI Tools:**
785
+ 1. Write test first (human-driven)
786
+ 2. Let AI suggest minimal implementation
787
+ 3. Verify suggestion passes tests
788
+ 4. Accept if truly minimal, reject if over-engineered
789
+ 5. Iterate with AI for refactoring phase
790
+
791
+ **AI Prompt Pattern:**
792
+ ```
793
+ Given these failing tests:
794
+ [paste tests]
795
+
796
+ Provide the MINIMAL implementation that makes tests pass.
797
+ Do not add error handling, validation, or features beyond test requirements.
798
+ Focus on simplicity over completeness.
799
+ ```
800
+
801
+ ### Cloud-Native Patterns
802
+
803
+ **Local → Container → Cloud:**
804
+ ```javascript
805
+ // Green Phase: Local implementation
806
+ class CacheService {
807
+ private cache = new Map();
808
+
809
+ get(key) { return this.cache.get(key); }
810
+ set(key, value) { this.cache.set(key, value); }
811
+ }
812
+
813
+ // Refactor: Redis-compatible interface
814
+ class CacheService {
815
+ constructor(private redis) {}
816
+
817
+ async get(key) { return this.redis.get(key); }
818
+ async set(key, value) { return this.redis.set(key, value); }
819
+ }
820
+
821
+ // Production: Distributed cache with fallback
822
+ class CacheService {
823
+ constructor(private redis, private fallback) {}
824
+
825
+ async get(key) {
826
+ try {
827
+ return await this.redis.get(key);
828
+ } catch {
829
+ return this.fallback.get(key);
830
+ }
831
+ }
832
+ }
833
+ ```
834
+
835
+ ### Observability-Driven Development
836
+
837
+ **Add observability hooks during green phase:**
838
+ ```typescript
839
+ class OrderService {
840
+ async createOrder(data: CreateOrderDto): Promise<Order> {
841
+ console.log('[OrderService] Creating order', { data }); // Simple logging
842
+
843
+ const order = { id: '123', ...data };
844
+
845
+ console.log('[OrderService] Order created', { orderId: order.id }); // Success log
846
+
847
+ return order;
848
+ }
849
+ }
850
+
851
+ // Refactor: Structured logging
852
+ class OrderService {
853
+ constructor(private logger: Logger) {}
854
+
855
+ async createOrder(data: CreateOrderDto): Promise<Order> {
856
+ this.logger.info('order.create.start', { data });
857
+
858
+ const order = await this.repository.save(data);
859
+
860
+ this.logger.info('order.create.success', {
861
+ orderId: order.id,
862
+ duration: Date.now() - start
863
+ });
864
+
865
+ return order;
866
+ }
867
+ }
868
+ ```
869
+
870
+ Tests to make pass: $ARGUMENTS