claude-flow-novice 2.15.4 → 2.15.6

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 (456) hide show
  1. package/.claude/cfn-extras/.gs-api-quota.json +16 -0
  2. package/.claude/cfn-extras/.gs-progress-state.json +22 -0
  3. package/.claude/cfn-extras/GOOGLE_SHEETS_IMPLEMENTATION_SUMMARY.md +414 -0
  4. package/.claude/cfn-extras/agents/google-sheets/README.md +114 -0
  5. package/.claude/cfn-extras/agents/google-sheets/google-sheets-advanced-analytics-specialist.md +288 -0
  6. package/.claude/cfn-extras/agents/google-sheets/google-sheets-api-integrator.md +127 -0
  7. package/.claude/cfn-extras/agents/google-sheets/google-sheets-automation-scripting-specialist.md +195 -0
  8. package/.claude/cfn-extras/agents/google-sheets/google-sheets-business-validator.md +179 -0
  9. package/.claude/cfn-extras/agents/google-sheets/google-sheets-collaboration-security-specialist.md +240 -0
  10. package/.claude/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +214 -0
  11. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-transformer.md +127 -0
  12. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-validation-quality-specialist.md +177 -0
  13. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-validator.md +119 -0
  14. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-visualization-specialist.md +135 -0
  15. package/.claude/cfn-extras/agents/google-sheets/google-sheets-design-layout-specialist.md +109 -0
  16. package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-engineer.md +127 -0
  17. package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-engineering-specialist.md +138 -0
  18. package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-validator.md +128 -0
  19. package/.claude/cfn-extras/agents/google-sheets/google-sheets-generalist.md +645 -0
  20. package/.claude/cfn-extras/agents/google-sheets/google-sheets-integration-api-specialist.md +258 -0
  21. package/.claude/cfn-extras/agents/google-sheets/google-sheets-performance-analyst.md +125 -0
  22. package/.claude/cfn-extras/agents/google-sheets/google-sheets-performance-optimization-specialist.md +211 -0
  23. package/.claude/cfn-extras/agents/google-sheets/google-sheets-schema-designer.md +130 -0
  24. package/.claude/cfn-extras/agents/google-sheets/google-sheets-template-architecture-specialist.md +259 -0
  25. package/.claude/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +617 -0
  26. package/.claude/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +453 -0
  27. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +272 -0
  28. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh +254 -0
  29. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/test.sh +174 -0
  30. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/validate.sh +98 -0
  31. package/.claude/cfn-extras/skills/google-sheets-decomposition/SKILL.md +269 -0
  32. package/.claude/cfn-extras/skills/google-sheets-decomposition/decompose.sh +313 -0
  33. package/.claude/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +237 -0
  34. package/.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh +220 -0
  35. package/.claude/cfn-extras/skills/google-sheets-formula-builder/test.sh +172 -0
  36. package/.claude/cfn-extras/skills/google-sheets-formula-builder/validate.sh +98 -0
  37. package/.claude/cfn-extras/skills/google-sheets-progress/SKILL.md +287 -0
  38. package/.claude/cfn-extras/skills/google-sheets-progress/test.sh +385 -0
  39. package/.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh +516 -0
  40. package/.claude/cfn-extras/skills/google-sheets-progress/validate.sh +119 -0
  41. package/.claude/cfn-extras/skills/google-sheets-sprint-order/SKILL.md +277 -0
  42. package/.claude/cfn-extras/skills/google-sheets-sprint-order/order-sprints.sh +233 -0
  43. package/.claude/cfn-extras/skills/google-sheets-validation/SKILL.md +352 -0
  44. package/.claude/cfn-extras/skills/google-sheets-validation/test.sh +355 -0
  45. package/.claude/cfn-extras/skills/google-sheets-validation/validate-state.sh +374 -0
  46. package/.claude/cfn-extras/skills/google-sheets-validation/validate.sh +128 -0
  47. package/.claude/commands/cfn-context.md +10 -0
  48. package/.claude/commands/cfn-loop-cli.md +44 -14
  49. package/.claude/commands/google-sheets/google-sheets-loop.md +289 -0
  50. package/.claude/skills/cfn-agent-selector/SKILL.md +143 -0
  51. package/.claude/skills/cfn-agent-selector/select-agents.sh +94 -0
  52. package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -2
  53. package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +21 -2
  54. package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +11 -5
  55. package/.claude/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +348 -0
  56. package/.claude/skills/cfn-docker-redis-coordination/README.md +294 -0
  57. package/.claude/skills/cfn-docker-redis-coordination/jest.config.js +37 -0
  58. package/.claude/skills/cfn-docker-redis-coordination/package-lock.json +5259 -0
  59. package/.claude/skills/cfn-docker-redis-coordination/package.json +40 -0
  60. package/.claude/skills/cfn-docker-redis-coordination/src/coordinator.ts +801 -0
  61. package/.claude/skills/cfn-docker-redis-coordination/src/index.ts +42 -0
  62. package/.claude/skills/cfn-docker-redis-coordination/src/types.ts +351 -0
  63. package/.claude/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +1464 -0
  64. package/.claude/skills/cfn-docker-redis-coordination/tsconfig.json +30 -0
  65. package/.claude/skills/cfn-loop-orchestration/.eslintrc.js +56 -0
  66. package/.claude/skills/cfn-loop-orchestration/.prettierrc.json +18 -0
  67. package/.claude/skills/cfn-loop-orchestration/README.md +149 -41
  68. package/.claude/skills/cfn-loop-orchestration/jest.config.js +67 -0
  69. package/.claude/skills/cfn-loop-orchestration/orchestrate-wrapper.sh +268 -0
  70. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +147 -16
  71. package/.claude/skills/cfn-loop-orchestration/package-lock.json +5470 -0
  72. package/.claude/skills/cfn-loop-orchestration/package.json +49 -0
  73. package/.claude/skills/cfn-loop-orchestration/src/agent-spawner/agent-spawner.ts +34 -0
  74. package/.claude/skills/cfn-loop-orchestration/src/gate-checker/gate-checker.ts +36 -0
  75. package/.claude/skills/cfn-loop-orchestration/src/index.ts +14 -0
  76. package/.claude/skills/cfn-loop-orchestration/src/orchestrator/orchestrator.ts +31 -0
  77. package/.claude/skills/cfn-loop-orchestration/src/redis/redis-coordinator.ts +72 -0
  78. package/.claude/skills/cfn-loop-orchestration/src/types.ts +188 -0
  79. package/.claude/skills/cfn-loop-orchestration/src/utils/logger.ts +32 -0
  80. package/.claude/skills/cfn-loop-orchestration/tests/setup.ts +22 -0
  81. package/.claude/skills/cfn-loop-orchestration/tests/types.test.ts +132 -0
  82. package/.claude/skills/cfn-loop-orchestration/tsconfig.json +54 -0
  83. package/.claude/skills/cfn-redis-coordination/bash-wrappers/store-context.sh +23 -0
  84. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.d.ts +92 -0
  85. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.d.ts.map +1 -0
  86. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.js +329 -0
  87. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.js.map +1 -0
  88. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.d.ts +75 -0
  89. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.d.ts.map +1 -0
  90. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.js +302 -0
  91. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.js.map +1 -0
  92. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.d.ts +58 -0
  93. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.d.ts.map +1 -0
  94. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.js +237 -0
  95. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.js.map +1 -0
  96. package/.claude/skills/cfn-redis-coordination/dist/context-manager.d.ts +63 -0
  97. package/.claude/skills/cfn-redis-coordination/dist/context-manager.d.ts.map +1 -0
  98. package/.claude/skills/cfn-redis-coordination/dist/context-manager.js +230 -0
  99. package/.claude/skills/cfn-redis-coordination/dist/context-manager.js.map +1 -0
  100. package/.claude/skills/cfn-redis-coordination/dist/index.d.ts +45 -0
  101. package/.claude/skills/cfn-redis-coordination/dist/index.d.ts.map +1 -0
  102. package/.claude/skills/cfn-redis-coordination/dist/index.js +114 -0
  103. package/.claude/skills/cfn-redis-coordination/dist/index.js.map +1 -0
  104. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.d.ts +31 -0
  105. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.d.ts.map +1 -0
  106. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.js +185 -0
  107. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.js.map +1 -0
  108. package/.claude/skills/cfn-redis-coordination/dist/redis-client.d.ts +191 -0
  109. package/.claude/skills/cfn-redis-coordination/dist/redis-client.d.ts.map +1 -0
  110. package/.claude/skills/cfn-redis-coordination/dist/redis-client.js +509 -0
  111. package/.claude/skills/cfn-redis-coordination/dist/redis-client.js.map +1 -0
  112. package/.claude/skills/cfn-redis-coordination/dist/result-collector.d.ts +75 -0
  113. package/.claude/skills/cfn-redis-coordination/dist/result-collector.d.ts.map +1 -0
  114. package/.claude/skills/cfn-redis-coordination/dist/result-collector.js +281 -0
  115. package/.claude/skills/cfn-redis-coordination/dist/result-collector.js.map +1 -0
  116. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.d.ts +75 -0
  117. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.d.ts.map +1 -0
  118. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.js +354 -0
  119. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.js.map +1 -0
  120. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.d.ts +62 -0
  121. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.d.ts.map +1 -0
  122. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.js +305 -0
  123. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.js.map +1 -0
  124. package/.claude/skills/cfn-redis-coordination/dist/task-executor.d.ts +97 -0
  125. package/.claude/skills/cfn-redis-coordination/dist/task-executor.d.ts.map +1 -0
  126. package/.claude/skills/cfn-redis-coordination/dist/task-executor.js +283 -0
  127. package/.claude/skills/cfn-redis-coordination/dist/task-executor.js.map +1 -0
  128. package/.claude/skills/cfn-redis-coordination/dist/types.d.ts +176 -0
  129. package/.claude/skills/cfn-redis-coordination/dist/types.d.ts.map +1 -0
  130. package/.claude/skills/cfn-redis-coordination/dist/types.js +81 -0
  131. package/.claude/skills/cfn-redis-coordination/dist/types.js.map +1 -0
  132. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts +86 -0
  133. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts.map +1 -0
  134. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.js +419 -0
  135. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.js.map +1 -0
  136. package/.claude/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +553 -0
  137. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -2
  138. package/.claude/skills/cfn-redis-coordination/jest.config.js +23 -0
  139. package/.claude/skills/cfn-redis-coordination/package-lock.json +5272 -0
  140. package/.claude/skills/cfn-redis-coordination/package.json +45 -0
  141. package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +21 -8
  142. package/.claude/skills/cfn-redis-coordination/redis-functions.sh +3 -2
  143. package/.claude/skills/cfn-redis-coordination/src/agent-logger.ts +446 -0
  144. package/.claude/skills/cfn-redis-coordination/src/agent-recovery.ts +454 -0
  145. package/.claude/skills/cfn-redis-coordination/src/completion-reporter.ts +396 -0
  146. package/.claude/skills/cfn-redis-coordination/src/context-manager.ts +327 -0
  147. package/.claude/skills/cfn-redis-coordination/src/index.ts +82 -0
  148. package/.claude/skills/cfn-redis-coordination/src/mode-detector.ts +155 -0
  149. package/.claude/skills/cfn-redis-coordination/src/redis/redis-client.ts +305 -0
  150. package/.claude/skills/cfn-redis-coordination/src/redis/redis-functions.ts +283 -0
  151. package/.claude/skills/cfn-redis-coordination/src/redis-client.ts +654 -0
  152. package/.claude/skills/cfn-redis-coordination/src/result-collector.ts +437 -0
  153. package/.claude/skills/cfn-redis-coordination/src/swarm-manager.ts +494 -0
  154. package/.claude/skills/cfn-redis-coordination/src/task-analyzer.ts +404 -0
  155. package/.claude/skills/cfn-redis-coordination/src/task-executor.ts +423 -0
  156. package/.claude/skills/cfn-redis-coordination/src/types.ts +235 -0
  157. package/.claude/skills/cfn-redis-coordination/src/waiting-coordinator.ts +587 -0
  158. package/.claude/skills/cfn-redis-coordination/test-connection-attempts.js +70 -0
  159. package/.claude/skills/cfn-redis-coordination/test-mode-simple.js +121 -0
  160. package/.claude/skills/cfn-redis-coordination/test-redis-check.js +84 -0
  161. package/.claude/skills/cfn-redis-coordination/test-task-mode-redis.cjs +391 -0
  162. package/.claude/skills/cfn-redis-coordination/tests/coordination.test.ts +779 -0
  163. package/.claude/skills/cfn-redis-coordination/tsconfig.json +31 -0
  164. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +172 -2
  165. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +1 -1
  166. package/claude-assets/agents/custom/cfn-redis-operations.md +530 -0
  167. package/claude-assets/agents/custom/cfn-system-expert.md +77 -0
  168. package/claude-assets/cfn-extras/.gs-api-quota.json +16 -0
  169. package/claude-assets/cfn-extras/.gs-progress-state.json +22 -0
  170. package/claude-assets/cfn-extras/GOOGLE_SHEETS_IMPLEMENTATION_SUMMARY.md +414 -0
  171. package/claude-assets/cfn-extras/agents/google-sheets/README.md +114 -0
  172. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-advanced-analytics-specialist.md +288 -0
  173. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-api-integrator.md +127 -0
  174. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-automation-scripting-specialist.md +195 -0
  175. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-business-validator.md +179 -0
  176. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-collaboration-security-specialist.md +240 -0
  177. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +214 -0
  178. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-transformer.md +127 -0
  179. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validation-quality-specialist.md +177 -0
  180. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validator.md +119 -0
  181. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-visualization-specialist.md +135 -0
  182. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-design-layout-specialist.md +109 -0
  183. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineer.md +127 -0
  184. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineering-specialist.md +138 -0
  185. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-validator.md +128 -0
  186. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-generalist.md +645 -0
  187. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-integration-api-specialist.md +258 -0
  188. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-analyst.md +125 -0
  189. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-optimization-specialist.md +211 -0
  190. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-schema-designer.md +130 -0
  191. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-template-architecture-specialist.md +259 -0
  192. package/claude-assets/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +617 -0
  193. package/claude-assets/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +453 -0
  194. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +272 -0
  195. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh +254 -0
  196. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/test.sh +174 -0
  197. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/validate.sh +98 -0
  198. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/SKILL.md +269 -0
  199. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/decompose.sh +313 -0
  200. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +237 -0
  201. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh +220 -0
  202. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/test.sh +172 -0
  203. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/validate.sh +98 -0
  204. package/claude-assets/cfn-extras/skills/google-sheets-progress/SKILL.md +287 -0
  205. package/claude-assets/cfn-extras/skills/google-sheets-progress/test.sh +385 -0
  206. package/claude-assets/cfn-extras/skills/google-sheets-progress/track-progress.sh +516 -0
  207. package/claude-assets/cfn-extras/skills/google-sheets-progress/validate.sh +119 -0
  208. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/SKILL.md +277 -0
  209. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/order-sprints.sh +233 -0
  210. package/claude-assets/cfn-extras/skills/google-sheets-validation/SKILL.md +352 -0
  211. package/claude-assets/cfn-extras/skills/google-sheets-validation/test.sh +355 -0
  212. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate-state.sh +374 -0
  213. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate.sh +128 -0
  214. package/claude-assets/commands/cfn-context.md +10 -0
  215. package/claude-assets/commands/cfn-loop-cli.md +44 -14
  216. package/claude-assets/commands/google-sheets/google-sheets-loop.md +289 -0
  217. package/claude-assets/hooks/cfn-pre-execution/SESSION_START_README.md +87 -0
  218. package/claude-assets/hooks/cfn-pre-execution/TEST_SESSION_START.md +128 -0
  219. package/claude-assets/hooks/cfn-pre-execution/session-start-context.sh +111 -0
  220. package/claude-assets/skills/cfn-agent-selection-with-fallback/INTEGRATION_EXAMPLE.md +209 -0
  221. package/claude-assets/skills/cfn-agent-selection-with-fallback/README.md +130 -0
  222. package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md +243 -0
  223. package/claude-assets/skills/cfn-agent-selection-with-fallback/agent-mappings.json +142 -0
  224. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh +173 -0
  225. package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh +71 -0
  226. package/claude-assets/skills/cfn-agent-selection-with-fallback/test-agent-selection.sh +282 -0
  227. package/claude-assets/skills/cfn-agent-selector/SKILL.md +143 -0
  228. package/claude-assets/skills/cfn-agent-selector/select-agents.sh +94 -0
  229. package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -2
  230. package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +21 -2
  231. package/claude-assets/skills/cfn-docker-coordination/.eslintrc.json +33 -0
  232. package/claude-assets/skills/cfn-docker-coordination/README.md +349 -0
  233. package/claude-assets/skills/cfn-docker-coordination/docker-helpers.sh +433 -0
  234. package/claude-assets/skills/cfn-docker-coordination/jest.config.js +25 -0
  235. package/claude-assets/skills/cfn-docker-coordination/package-lock.json +6827 -0
  236. package/claude-assets/skills/cfn-docker-coordination/package.json +38 -0
  237. package/claude-assets/skills/cfn-docker-coordination/src/agent-container.ts +471 -0
  238. package/claude-assets/skills/cfn-docker-coordination/src/docker-client.ts +483 -0
  239. package/claude-assets/skills/cfn-docker-coordination/src/health-checker.ts +418 -0
  240. package/claude-assets/skills/cfn-docker-coordination/src/index.ts +45 -0
  241. package/claude-assets/skills/cfn-docker-coordination/src/network-manager.ts +377 -0
  242. package/claude-assets/skills/cfn-docker-coordination/src/types.ts +412 -0
  243. package/claude-assets/skills/cfn-docker-coordination/src/volume-manager.ts +389 -0
  244. package/claude-assets/skills/cfn-docker-coordination/tests/agent-container.test.ts +379 -0
  245. package/claude-assets/skills/cfn-docker-coordination/tests/docker-client.test.ts +345 -0
  246. package/claude-assets/skills/cfn-docker-coordination/tests/health-checker.test.ts +535 -0
  247. package/claude-assets/skills/cfn-docker-coordination/tests/integration.test.ts +193 -0
  248. package/claude-assets/skills/cfn-docker-coordination/tests/network-manager.test.ts +352 -0
  249. package/claude-assets/skills/cfn-docker-coordination/tests/setup.ts +36 -0
  250. package/claude-assets/skills/cfn-docker-coordination/tsconfig.json +29 -0
  251. package/claude-assets/skills/cfn-docker-logging/INTEGRATION.md +268 -0
  252. package/claude-assets/skills/cfn-docker-logging/SAMPLE_OUTPUTS.md +237 -0
  253. package/claude-assets/skills/cfn-docker-logging/SKILL.md +442 -0
  254. package/claude-assets/skills/cfn-docker-logging/capture-container-logs.sh +120 -0
  255. package/claude-assets/skills/cfn-docker-logging/enable-logging.sh +430 -0
  256. package/claude-assets/skills/cfn-docker-logging/init-hybrid-logging.sh +210 -0
  257. package/claude-assets/skills/cfn-docker-logging/queries/analytics-summary.sh +87 -0
  258. package/claude-assets/skills/cfn-docker-logging/queries/query-agent-timeline.sh +51 -0
  259. package/claude-assets/skills/cfn-docker-logging/queries/query-consensus-history.sh +56 -0
  260. package/claude-assets/skills/cfn-docker-logging/queries/query-coordination-timeline.sh +39 -0
  261. package/claude-assets/skills/cfn-docker-logging/queries/query-failed-containers.sh +40 -0
  262. package/claude-assets/skills/cfn-docker-logging/queries/query-gate-checks.sh +39 -0
  263. package/claude-assets/skills/cfn-docker-logging/schema.sql +111 -0
  264. package/claude-assets/skills/cfn-docker-logging/sqlite-helpers.sh +240 -0
  265. package/claude-assets/skills/cfn-docker-logging/test-hybrid-logging.sh +331 -0
  266. package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +11 -5
  267. package/claude-assets/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +348 -0
  268. package/claude-assets/skills/cfn-docker-redis-coordination/README.md +294 -0
  269. package/claude-assets/skills/cfn-docker-redis-coordination/jest.config.js +37 -0
  270. package/claude-assets/skills/cfn-docker-redis-coordination/package-lock.json +5259 -0
  271. package/claude-assets/skills/cfn-docker-redis-coordination/package.json +40 -0
  272. package/claude-assets/skills/cfn-docker-redis-coordination/src/coordinator.ts +801 -0
  273. package/claude-assets/skills/cfn-docker-redis-coordination/src/index.ts +42 -0
  274. package/claude-assets/skills/cfn-docker-redis-coordination/src/types.ts +351 -0
  275. package/claude-assets/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +1464 -0
  276. package/claude-assets/skills/cfn-docker-redis-coordination/tsconfig.json +30 -0
  277. package/claude-assets/skills/cfn-error-logging/.eslintrc.json +57 -0
  278. package/claude-assets/skills/cfn-error-logging/.prettierrc.json +10 -0
  279. package/claude-assets/skills/cfn-error-logging/MIGRATION_SUMMARY.md +485 -0
  280. package/claude-assets/skills/cfn-error-logging/package.json +47 -0
  281. package/claude-assets/skills/cfn-error-logging/src/error-logger.ts +1042 -0
  282. package/claude-assets/skills/cfn-error-logging/src/index.ts +12 -0
  283. package/claude-assets/skills/cfn-error-logging/src/types.ts +456 -0
  284. package/claude-assets/skills/cfn-error-logging/tests/error-logger.test.ts +1302 -0
  285. package/claude-assets/skills/cfn-error-logging/tsconfig.json +38 -0
  286. package/claude-assets/skills/cfn-loop-orchestration/.eslintrc.js +56 -0
  287. package/claude-assets/skills/cfn-loop-orchestration/.prettierrc.json +18 -0
  288. package/claude-assets/skills/cfn-loop-orchestration/README.md +149 -41
  289. package/claude-assets/skills/cfn-loop-orchestration/jest.config.js +67 -0
  290. package/claude-assets/skills/cfn-loop-orchestration/orchestrate-wrapper.sh +268 -0
  291. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +147 -16
  292. package/claude-assets/skills/cfn-loop-orchestration/package-lock.json +5470 -0
  293. package/claude-assets/skills/cfn-loop-orchestration/package.json +49 -0
  294. package/claude-assets/skills/cfn-loop-orchestration/src/agent-spawner/agent-spawner.ts +34 -0
  295. package/claude-assets/skills/cfn-loop-orchestration/src/gate-checker/gate-checker.ts +36 -0
  296. package/claude-assets/skills/cfn-loop-orchestration/src/index.ts +14 -0
  297. package/claude-assets/skills/cfn-loop-orchestration/src/orchestrator/orchestrator.ts +31 -0
  298. package/claude-assets/skills/cfn-loop-orchestration/src/redis/redis-coordinator.ts +72 -0
  299. package/claude-assets/skills/cfn-loop-orchestration/src/types.ts +188 -0
  300. package/claude-assets/skills/cfn-loop-orchestration/src/utils/logger.ts +32 -0
  301. package/claude-assets/skills/cfn-loop-orchestration/tests/setup.ts +22 -0
  302. package/claude-assets/skills/cfn-loop-orchestration/tests/types.test.ts +132 -0
  303. package/claude-assets/skills/cfn-loop-orchestration/tsconfig.json +54 -0
  304. package/claude-assets/skills/cfn-redis-coordination/bash-wrappers/store-context.sh +23 -0
  305. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.d.ts +92 -0
  306. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.d.ts.map +1 -0
  307. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.js +329 -0
  308. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.js.map +1 -0
  309. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.d.ts +75 -0
  310. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.d.ts.map +1 -0
  311. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.js +302 -0
  312. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.js.map +1 -0
  313. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.d.ts +58 -0
  314. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.d.ts.map +1 -0
  315. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.js +237 -0
  316. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.js.map +1 -0
  317. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.d.ts +63 -0
  318. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.d.ts.map +1 -0
  319. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.js +230 -0
  320. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.js.map +1 -0
  321. package/claude-assets/skills/cfn-redis-coordination/dist/index.d.ts +45 -0
  322. package/claude-assets/skills/cfn-redis-coordination/dist/index.d.ts.map +1 -0
  323. package/claude-assets/skills/cfn-redis-coordination/dist/index.js +114 -0
  324. package/claude-assets/skills/cfn-redis-coordination/dist/index.js.map +1 -0
  325. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.d.ts +31 -0
  326. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.d.ts.map +1 -0
  327. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.js +185 -0
  328. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.js.map +1 -0
  329. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.d.ts +191 -0
  330. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.d.ts.map +1 -0
  331. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.js +509 -0
  332. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.js.map +1 -0
  333. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.d.ts +75 -0
  334. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.d.ts.map +1 -0
  335. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.js +281 -0
  336. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.js.map +1 -0
  337. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.d.ts +75 -0
  338. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.d.ts.map +1 -0
  339. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.js +354 -0
  340. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.js.map +1 -0
  341. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.d.ts +62 -0
  342. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.d.ts.map +1 -0
  343. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.js +305 -0
  344. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.js.map +1 -0
  345. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.d.ts +97 -0
  346. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.d.ts.map +1 -0
  347. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.js +283 -0
  348. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.js.map +1 -0
  349. package/claude-assets/skills/cfn-redis-coordination/dist/types.d.ts +176 -0
  350. package/claude-assets/skills/cfn-redis-coordination/dist/types.d.ts.map +1 -0
  351. package/claude-assets/skills/cfn-redis-coordination/dist/types.js +81 -0
  352. package/claude-assets/skills/cfn-redis-coordination/dist/types.js.map +1 -0
  353. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts +86 -0
  354. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts.map +1 -0
  355. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.js +419 -0
  356. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.js.map +1 -0
  357. package/claude-assets/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +553 -0
  358. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -2
  359. package/claude-assets/skills/cfn-redis-coordination/jest.config.js +23 -0
  360. package/claude-assets/skills/cfn-redis-coordination/package-lock.json +5272 -0
  361. package/claude-assets/skills/cfn-redis-coordination/package.json +45 -0
  362. package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +21 -8
  363. package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +3 -2
  364. package/claude-assets/skills/cfn-redis-coordination/src/agent-logger.ts +446 -0
  365. package/claude-assets/skills/cfn-redis-coordination/src/agent-recovery.ts +454 -0
  366. package/claude-assets/skills/cfn-redis-coordination/src/completion-reporter.ts +396 -0
  367. package/claude-assets/skills/cfn-redis-coordination/src/context-manager.ts +327 -0
  368. package/claude-assets/skills/cfn-redis-coordination/src/index.ts +82 -0
  369. package/claude-assets/skills/cfn-redis-coordination/src/mode-detector.ts +155 -0
  370. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-client.ts +305 -0
  371. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-functions.ts +283 -0
  372. package/claude-assets/skills/cfn-redis-coordination/src/redis-client.ts +654 -0
  373. package/claude-assets/skills/cfn-redis-coordination/src/result-collector.ts +437 -0
  374. package/claude-assets/skills/cfn-redis-coordination/src/swarm-manager.ts +494 -0
  375. package/claude-assets/skills/cfn-redis-coordination/src/task-analyzer.ts +404 -0
  376. package/claude-assets/skills/cfn-redis-coordination/src/task-executor.ts +423 -0
  377. package/claude-assets/skills/cfn-redis-coordination/src/types.ts +235 -0
  378. package/claude-assets/skills/cfn-redis-coordination/src/waiting-coordinator.ts +587 -0
  379. package/claude-assets/skills/cfn-redis-coordination/test-connection-attempts.js +70 -0
  380. package/claude-assets/skills/cfn-redis-coordination/test-mode-simple.js +121 -0
  381. package/claude-assets/skills/cfn-redis-coordination/test-redis-check.js +84 -0
  382. package/claude-assets/skills/cfn-redis-coordination/test-task-mode-redis.cjs +391 -0
  383. package/claude-assets/skills/cfn-redis-coordination/tests/coordination.test.ts +779 -0
  384. package/claude-assets/skills/cfn-redis-coordination/tsconfig.json +31 -0
  385. package/claude-assets/skills/cfn-skill-propagation/README.md +233 -0
  386. package/claude-assets/skills/cfn-skill-propagation/package-lock.json +5174 -0
  387. package/claude-assets/skills/cfn-skill-propagation/package.json +52 -0
  388. package/claude-assets/skills/cfn-skill-propagation/propagate-skill-update.sh +32 -0
  389. package/claude-assets/skills/cfn-skill-propagation/src/cli.ts +75 -0
  390. package/claude-assets/skills/cfn-skill-propagation/src/database-adapter.ts +239 -0
  391. package/claude-assets/skills/cfn-skill-propagation/src/file-system-adapter.ts +113 -0
  392. package/claude-assets/skills/cfn-skill-propagation/src/index.ts +72 -0
  393. package/claude-assets/skills/cfn-skill-propagation/src/logger.ts +43 -0
  394. package/claude-assets/skills/cfn-skill-propagation/src/metadata-parser.ts +154 -0
  395. package/claude-assets/skills/cfn-skill-propagation/src/skill-propagator.ts +274 -0
  396. package/claude-assets/skills/cfn-skill-propagation/src/skill-validator.ts +179 -0
  397. package/claude-assets/skills/cfn-skill-propagation/src/types.ts +143 -0
  398. package/claude-assets/skills/cfn-skill-propagation/src/version-manager.ts +118 -0
  399. package/claude-assets/skills/cfn-skill-propagation/tests/file-system-adapter.test.ts +91 -0
  400. package/claude-assets/skills/cfn-skill-propagation/tests/metadata-parser.test.ts +176 -0
  401. package/claude-assets/skills/cfn-skill-propagation/tests/skill-propagator.test.ts +209 -0
  402. package/claude-assets/skills/cfn-skill-propagation/tests/skill-validator.test.ts +203 -0
  403. package/claude-assets/skills/cfn-skill-propagation/tests/version-manager.test.ts +115 -0
  404. package/claude-assets/skills/cfn-skill-propagation/tsconfig.json +34 -0
  405. package/claude-assets/skills/task-classifier/SKILL.md +81 -0
  406. package/claude-assets/skills/task-classifier/classify-task.sh +62 -0
  407. package/claude-assets/skills/workflow-codification/package-lock.json +5170 -0
  408. package/claude-assets/skills/workflow-codification/package.json +30 -0
  409. package/claude-assets/skills/workflow-codification/src/index.ts +24 -0
  410. package/claude-assets/skills/workflow-codification/src/pattern-analyzer.ts +537 -0
  411. package/claude-assets/skills/workflow-codification/src/types.ts +180 -0
  412. package/claude-assets/skills/workflow-codification/tests/pattern-analyzer.test.ts +960 -0
  413. package/claude-assets/skills/workflow-codification/tsconfig.json +34 -0
  414. package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
  415. package/dist/agent-spawner/agent-spawner.js +448 -0
  416. package/dist/agent-spawner/agent-spawner.js.map +1 -0
  417. package/dist/agent-spawner/index.js +10 -0
  418. package/dist/agent-spawner/index.js.map +1 -0
  419. package/dist/agent-spawner/types.js +14 -0
  420. package/dist/agent-spawner/types.js.map +1 -0
  421. package/dist/cli/agent-executor.js +47 -1
  422. package/dist/cli/agent-executor.js.map +1 -1
  423. package/dist/cli/agent-spawn.js +4 -1
  424. package/dist/cli/agent-spawn.js.map +1 -1
  425. package/dist/cli/config-manager.js +109 -91
  426. package/dist/cli/config-manager.js.map +1 -1
  427. package/dist/cli/conversation-fork-cleanup.js +201 -0
  428. package/dist/cli/conversation-fork-cleanup.js.map +1 -0
  429. package/dist/cli/conversation-fork.js +16 -3
  430. package/dist/cli/conversation-fork.js.map +1 -1
  431. package/dist/cli/tool-executor.js +3 -1
  432. package/dist/cli/tool-executor.js.map +1 -1
  433. package/dist/gate-checker/gate-checker.js +292 -0
  434. package/dist/gate-checker/gate-checker.js.map +1 -0
  435. package/dist/gate-checker/types.js +94 -0
  436. package/dist/gate-checker/types.js.map +1 -0
  437. package/dist/lib/database-service/connection-pool-manager.js +2 -1
  438. package/dist/lib/database-service/connection-pool-manager.js.map +1 -1
  439. package/dist/orchestrator/index.js +10 -0
  440. package/dist/orchestrator/index.js.map +1 -0
  441. package/dist/orchestrator/orchestrate.js +496 -0
  442. package/dist/orchestrator/orchestrate.js.map +1 -0
  443. package/dist/orchestrator/types.js +58 -0
  444. package/dist/orchestrator/types.js.map +1 -0
  445. package/docs/BUG_19_MEMORY_LEAK_TASK_MODE.md +405 -0
  446. package/docs/MEMORY_CLEANUP_GUIDE.md +358 -0
  447. package/docs/MEMORY_LEAK_FIX_SUMMARY.md +322 -0
  448. package/docs/REDIS_CLEANUP_EXECUTIVE_SUMMARY.md +319 -0
  449. package/docs/REDIS_CLEANUP_VERIFICATION_REPORT.md +574 -0
  450. package/package.json +208 -201
  451. package/readme/README.md +34 -1
  452. package/scripts/switch-api.sh +142 -4
  453. package/scripts/verify-no-secrets.sh +6 -13
  454. package/scripts/verify-redis-cleanup.sh +173 -0
  455. package/tests/README.md +201 -0
  456. package/tests/test-memory-leak-task-mode.sh +435 -0
@@ -0,0 +1,209 @@
1
+ # Orchestrator Integration Example
2
+
3
+ ## Phase 3 Enhancement for BUG #22 Fix
4
+
5
+ ### Before (Manual Agent Selection)
6
+ ```bash
7
+ # orchestrate.sh - Loop 3 spawning (old way)
8
+
9
+ # Hardcoded agents - inflexible
10
+ LOOP3_AGENTS="backend-developer devops-engineer"
11
+
12
+ for agent in $LOOP3_AGENTS; do
13
+ cfn-spawn agent "$agent" --task-id "$TASK_ID" --iteration "$ITERATION"
14
+ done
15
+ ```
16
+
17
+ **Problems:**
18
+ - Empty arrays cause failures
19
+ - No task-specific agent selection
20
+ - Manual maintenance required
21
+ - No fallback behavior
22
+
23
+ ### After (Agent Selection Skill)
24
+ ```bash
25
+ # orchestrate.sh - Loop 3 spawning (new way)
26
+
27
+ SKILL_DIR="./.claude/skills/cfn-agent-selection-with-fallback"
28
+
29
+ # Select agents based on task description
30
+ AGENT_SELECTION=$("$SKILL_DIR/select-agents.sh" "$TASK_DESCRIPTION" 2>/dev/null)
31
+
32
+ # Extract agent lists (guaranteed non-empty)
33
+ LOOP3_AGENTS=$(echo "$AGENT_SELECTION" | jq -r '.loop3[]')
34
+ LOOP2_AGENTS=$(echo "$AGENT_SELECTION" | jq -r '.loop2[]')
35
+ PRODUCT_OWNER=$(echo "$AGENT_SELECTION" | jq -r '.product_owner')
36
+ CATEGORY=$(echo "$AGENT_SELECTION" | jq -r '.category')
37
+
38
+ echo "Task category: $CATEGORY"
39
+ echo "Loop 3 agents: $(echo "$LOOP3_AGENTS" | tr '\n' ', ' | sed 's/,$//')"
40
+ echo "Loop 2 validators: $(echo "$LOOP2_AGENTS" | tr '\n' ', ' | sed 's/,$//')"
41
+
42
+ # Spawn Loop 3 agents
43
+ for agent in $LOOP3_AGENTS; do
44
+ cfn-spawn agent "$agent" \
45
+ --task-id "$TASK_ID" \
46
+ --iteration "$ITERATION" \
47
+ --category "$CATEGORY"
48
+ done
49
+
50
+ # Wait for Loop 3 completion...
51
+ # Execute tests...
52
+ # Check gate pass rate...
53
+
54
+ # Spawn Loop 2 validators
55
+ for validator in $LOOP2_AGENTS; do
56
+ cfn-spawn agent "$validator" \
57
+ --task-id "$TASK_ID" \
58
+ --iteration "$ITERATION" \
59
+ --mode validator
60
+ done
61
+
62
+ # Wait for Loop 2 consensus...
63
+
64
+ # Spawn Product Owner
65
+ cfn-spawn agent "$PRODUCT_OWNER" \
66
+ --task-id "$TASK_ID" \
67
+ --iteration "$ITERATION" \
68
+ --mode decision
69
+ ```
70
+
71
+ **Benefits:**
72
+ - ✅ Guaranteed non-empty arrays (fixes BUG #22)
73
+ - ✅ Task-specific agent selection (9 categories)
74
+ - ✅ Automatic fallback behavior
75
+ - ✅ Agent profile validation
76
+ - ✅ Adaptive validator scaling
77
+
78
+ ## Example Outputs
79
+
80
+ ### Security Task
81
+ ```bash
82
+ $ ./select-agents.sh "Fix JWT authentication vulnerability"
83
+
84
+ Task category: security
85
+ Loop 3 agents: security-specialist, backend-developer
86
+ Loop 2 validators: code-reviewer, tester, security-specialist
87
+
88
+ # Spawns:
89
+ - security-specialist (Loop 3)
90
+ - backend-developer (Loop 3)
91
+ - code-reviewer (Loop 2)
92
+ - tester (Loop 2)
93
+ - security-specialist (Loop 2)
94
+ - product-owner (Product Owner)
95
+ ```
96
+
97
+ ### Infrastructure Task
98
+ ```bash
99
+ $ ./select-agents.sh "Deploy microservices to Kubernetes"
100
+
101
+ Task category: infrastructure
102
+ Loop 3 agents: devops-engineer, docker-specialist, kubernetes-specialist
103
+ Loop 2 validators: code-reviewer, tester, chaos-engineering-specialist
104
+
105
+ # Spawns:
106
+ - devops-engineer (Loop 3)
107
+ - docker-specialist (Loop 3)
108
+ - kubernetes-specialist (Loop 3)
109
+ - code-reviewer (Loop 2)
110
+ - tester (Loop 2)
111
+ - chaos-engineering-specialist (Loop 2)
112
+ - product-owner (Product Owner)
113
+ ```
114
+
115
+ ### Fullstack Task
116
+ ```bash
117
+ $ ./select-agents.sh "Build user dashboard with Next.js and backend API"
118
+
119
+ Task category: fullstack
120
+ Loop 3 agents: backend-developer, react-frontend-engineer, typescript-specialist
121
+ Loop 2 validators: code-reviewer, tester, integration-tester, playwright-tester
122
+
123
+ # Spawns:
124
+ - backend-developer (Loop 3)
125
+ - react-frontend-engineer (Loop 3)
126
+ - typescript-specialist (Loop 3)
127
+ - code-reviewer (Loop 2)
128
+ - tester (Loop 2)
129
+ - integration-tester (Loop 2)
130
+ - playwright-tester (Loop 2)
131
+ - product-owner (Product Owner)
132
+ ```
133
+
134
+ ## Error Handling
135
+
136
+ ### Empty Task Description
137
+ ```bash
138
+ $ ./select-agents.sh ""
139
+
140
+ # Output:
141
+ {
142
+ "error": "empty task description",
143
+ "loop3": ["backend-developer", "devops-engineer"],
144
+ "loop2": ["code-reviewer", "tester", "code-quality-validator"],
145
+ "product_owner": "product-owner",
146
+ "category": "default",
147
+ "confidence": 0.70
148
+ }
149
+
150
+ # Still spawns default agents (no failure)
151
+ ```
152
+
153
+ ### Unclassified Task
154
+ ```bash
155
+ $ ./select-agents.sh "Random xyz task qwerty"
156
+
157
+ # Output:
158
+ {
159
+ "loop3": ["backend-developer", "devops-engineer"],
160
+ "loop2": ["code-reviewer", "tester", "code-quality-validator"],
161
+ "product_owner": "product-owner",
162
+ "category": "default",
163
+ "confidence": 0.70
164
+ }
165
+
166
+ # Falls back to default agents
167
+ ```
168
+
169
+ ## Custom Validator Scaling
170
+
171
+ ```bash
172
+ # Enterprise mode - require more validators
173
+ AGENT_SELECTION=$("$SKILL_DIR/select-agents.sh" "$TASK_DESCRIPTION" --min-validators 5)
174
+
175
+ # MVP mode - accept fewer validators (still min 3)
176
+ AGENT_SELECTION=$("$SKILL_DIR/select-agents.sh" "$TASK_DESCRIPTION" --min-validators 3)
177
+
178
+ # Extract as normal
179
+ LOOP2_AGENTS=$(echo "$AGENT_SELECTION" | jq -r '.loop2[]')
180
+ ```
181
+
182
+ ## Integration Checklist
183
+
184
+ - [x] Replace hardcoded agent arrays with skill calls
185
+ - [x] Extract agents from JSON output using jq
186
+ - [x] Pass task description to selection script
187
+ - [x] Handle category-specific agent spawning
188
+ - [x] Validate non-empty arrays before spawning
189
+ - [x] Log selected category for debugging
190
+ - [x] Filter stderr warnings when parsing JSON
191
+ - [x] Support custom validator count for different modes
192
+
193
+ ## Success Criteria
194
+
195
+ BUG #22 resolution requires:
196
+ - ✅ No empty Loop 3 or Loop 2 agent arrays
197
+ - ✅ All agent names exist in `.claude/agents/`
198
+ - ✅ Task-specific agent selection implemented
199
+ - ✅ Fallback behavior for edge cases
200
+ - ✅ JSON output parseable by orchestrator
201
+ - ✅ Backward compatible with existing orchestrator
202
+
203
+ ## Next Steps
204
+
205
+ 1. Update `orchestrate.sh` to use agent selection skill
206
+ 2. Test with all 9 task categories
207
+ 3. Validate fallback scenarios in production
208
+ 4. Monitor for empty array errors (should be zero)
209
+ 5. Add category logging to orchestrator output
@@ -0,0 +1,130 @@
1
+ # Agent Selection with Fallback Skill
2
+
3
+ Fixes BUG #22: Empty agent arrays causing CFN Loop failures
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ # Basic usage
9
+ ./select-agents.sh "Implement JWT authentication"
10
+
11
+ # Custom validator count
12
+ ./select-agents.sh "Build API" --min-validators 5
13
+
14
+ # Classify task only
15
+ ./task-classifier.sh "Deploy Kubernetes cluster"
16
+ ```
17
+
18
+ ## Example Outputs
19
+
20
+ ### Security Task
21
+ ```bash
22
+ $ ./select-agents.sh "Implement JWT authentication"
23
+ {
24
+ "loop3": ["security-specialist", "backend-developer"],
25
+ "loop2": ["code-reviewer", "tester", "security-specialist"],
26
+ "product_owner": "product-owner",
27
+ "category": "security",
28
+ "confidence": 0.95
29
+ }
30
+ ```
31
+
32
+ ### Infrastructure Task
33
+ ```bash
34
+ $ ./select-agents.sh "Deploy Kubernetes cluster"
35
+ {
36
+ "loop3": ["devops-engineer", "docker-specialist", "kubernetes-specialist"],
37
+ "loop2": ["code-reviewer", "tester", "chaos-engineering-specialist"],
38
+ "product_owner": "product-owner",
39
+ "category": "infrastructure",
40
+ "confidence": 0.93
41
+ }
42
+ ```
43
+
44
+ ### Fallback (Empty Task)
45
+ ```bash
46
+ $ ./select-agents.sh ""
47
+ {
48
+ "error": "empty task description",
49
+ "loop3": ["backend-developer", "devops-engineer"],
50
+ "loop2": ["code-reviewer", "tester", "code-quality-validator"],
51
+ "product_owner": "product-owner",
52
+ "category": "default",
53
+ "confidence": 0.70
54
+ }
55
+ ```
56
+
57
+ ## Task Categories
58
+
59
+ - `security` - Authentication, authorization, encryption
60
+ - `infrastructure` - Docker, Kubernetes, CI/CD, cloud
61
+ - `mobile` - iOS, Android, React Native
62
+ - `fullstack` - Frontend + Backend combined
63
+ - `frontend` - React, TypeScript, UI/UX
64
+ - `database` - Schema design, migrations, optimization
65
+ - `performance` - Benchmarking, profiling, caching
66
+ - `backend-api` - REST, GraphQL, API endpoints
67
+ - `default` - Fallback for unclassified tasks
68
+
69
+ ## Guarantees
70
+
71
+ - **Non-empty arrays**: Minimum 2 Loop 3 agents, 3 Loop 2 validators
72
+ - **Fallback behavior**: Default agents if classification fails
73
+ - **Agent validation**: All selected agents exist in `.claude/agents/`
74
+ - **JSON output**: Always valid and parseable
75
+ - **Product owner**: Always present
76
+
77
+ ## Integration with Orchestrator
78
+
79
+ ```bash
80
+ # In orchestrate.sh
81
+ AGENT_SELECTION=$(./claude/skills/cfn-agent-selection-with-fallback/select-agents.sh "$TASK_DESCRIPTION")
82
+
83
+ # Extract agents
84
+ LOOP3_AGENTS=$(echo "$AGENT_SELECTION" | jq -r '.loop3[]')
85
+ LOOP2_AGENTS=$(echo "$AGENT_SELECTION" | jq -r '.loop2[]')
86
+ PRODUCT_OWNER=$(echo "$AGENT_SELECTION" | jq -r '.product_owner')
87
+ CATEGORY=$(echo "$AGENT_SELECTION" | jq -r '.category')
88
+
89
+ # Spawn agents
90
+ for agent in $LOOP3_AGENTS; do
91
+ cfn-spawn agent "$agent" --task-id "$TASK_ID"
92
+ done
93
+ ```
94
+
95
+ ## Testing
96
+
97
+ Run the comprehensive test suite:
98
+
99
+ ```bash
100
+ ./test-agent-selection.sh
101
+ ```
102
+
103
+ Tests validate:
104
+ - Task classification (9 categories)
105
+ - Agent selection per category
106
+ - Minimum agent counts
107
+ - Fallback behavior
108
+ - JSON output format
109
+ - Confidence scoring
110
+ - Agent name validation
111
+
112
+ ## Files
113
+
114
+ - `SKILL.md` - Detailed documentation
115
+ - `select-agents.sh` - Main selection script
116
+ - `task-classifier.sh` - Task categorization
117
+ - `agent-mappings.json` - Agent selections by category
118
+ - `test-agent-selection.sh` - Test suite
119
+ - `README.md` - This quick reference
120
+
121
+ ## Success Criteria
122
+
123
+ - [x] 100% guaranteed non-empty agent arrays
124
+ - [x] 9 task categories supported
125
+ - [x] Fallback to default category on classification failure
126
+ - [x] Agent profile validation against available agents
127
+ - [x] JSON output parseable by orchestrator
128
+ - [x] Minimum 2 Loop 3 agents, 3 Loop 2 validators
129
+ - [x] Custom validator count support
130
+ - [x] Comprehensive test coverage
@@ -0,0 +1,243 @@
1
+ # Agent Selection with Fallback Skill
2
+
3
+ ## Purpose
4
+ Classify tasks and select appropriate agents for Loop 3 (implementers) and Loop 2 (validators) with guaranteed fallback behavior. Fixes BUG #22 (empty agent arrays causing CFN Loop failures).
5
+
6
+ ## Capabilities
7
+ - Task classification into predefined categories
8
+ - Agent selection based on task type
9
+ - Guaranteed non-empty agent arrays
10
+ - Fallback to defaults if classification fails
11
+ - Agent name validation against available profiles
12
+
13
+ ## Usage
14
+
15
+ ### Basic Selection
16
+ ```bash
17
+ # Select agents for a task
18
+ ./select-agents.sh "Implement JWT authentication API"
19
+
20
+ # Output (JSON):
21
+ # {
22
+ # "loop3": ["backend-developer", "security-specialist"],
23
+ # "loop2": ["code-reviewer", "tester", "security-specialist"],
24
+ # "product_owner": "product-owner",
25
+ # "category": "backend-api",
26
+ # "confidence": 0.92
27
+ # }
28
+ ```
29
+
30
+ ### With Custom Validator Count
31
+ ```bash
32
+ # Specify minimum validators (default: 3)
33
+ ./select-agents.sh "Build React dashboard" --min-validators 5
34
+
35
+ # Output includes adaptive validator scaling
36
+ ```
37
+
38
+ ### Classify Task Only
39
+ ```bash
40
+ # Get task category without agent selection
41
+ ./task-classifier.sh "Deploy Kubernetes cluster"
42
+
43
+ # Output: infrastructure
44
+ ```
45
+
46
+ ## Task Categories
47
+
48
+ ### backend-api
49
+ Backend API development and REST/GraphQL endpoints
50
+ - Loop 3: backend-developer, api-gateway-specialist
51
+ - Loop 2: code-reviewer, tester, api-testing-specialist
52
+
53
+ ### fullstack
54
+ Full-stack application with frontend and backend
55
+ - Loop 3: backend-developer, react-frontend-engineer, typescript-specialist
56
+ - Loop 2: code-reviewer, tester, integration-tester, playwright-tester
57
+
58
+ ### mobile
59
+ Mobile application development (iOS/Android)
60
+ - Loop 3: mobile-dev, backend-developer
61
+ - Loop 2: code-reviewer, tester, interaction-tester
62
+
63
+ ### infrastructure
64
+ DevOps, Docker, Kubernetes, cloud deployment
65
+ - Loop 3: devops-engineer, docker-specialist, kubernetes-specialist
66
+ - Loop 2: code-reviewer, tester, chaos-engineering-specialist
67
+
68
+ ### security
69
+ Security audits, vulnerability fixes, authentication
70
+ - Loop 3: security-specialist, backend-developer
71
+ - Loop 2: code-reviewer, tester, security-specialist
72
+
73
+ ### frontend
74
+ Frontend-only development (React, TypeScript, UI/UX)
75
+ - Loop 3: react-frontend-engineer, typescript-specialist, ui-designer
76
+ - Loop 2: code-reviewer, tester, playwright-tester
77
+
78
+ ### database
79
+ Database schema design, migrations, optimization
80
+ - Loop 3: database-architect, backend-developer
81
+ - Loop 2: code-reviewer, tester, data-engineer
82
+
83
+ ### performance
84
+ Performance optimization and benchmarking
85
+ - Loop 3: backend-developer, perf-analyzer
86
+ - Loop 2: code-reviewer, tester, performance-benchmarker
87
+
88
+ ### default
89
+ Fallback for unclassified tasks
90
+ - Loop 3: backend-developer, devops-engineer
91
+ - Loop 2: code-reviewer, tester, code-quality-validator
92
+
93
+ ## Fallback Behavior
94
+
95
+ ### Classification Failure
96
+ If task classification fails or returns unknown category:
97
+ - Category: "default"
98
+ - Loop 3: ["backend-developer", "devops-engineer"]
99
+ - Loop 2: ["code-reviewer", "tester", "code-quality-validator"]
100
+ - Confidence: 0.70
101
+
102
+ ### Empty Agent Arrays
103
+ If category mapping returns empty arrays:
104
+ - Fallback to default category mappings
105
+ - Log warning with category name
106
+ - Guarantee minimum 2 Loop 3 agents, 3 Loop 2 validators
107
+
108
+ ### Invalid Agent Names
109
+ If selected agents don't exist in `.claude/agents/`:
110
+ - Replace with valid fallback agents
111
+ - Log warning with invalid agent names
112
+ - Maintain category-appropriate selection
113
+
114
+ ## Agent Validation
115
+
116
+ The skill validates all selected agents against available profiles:
117
+ ```bash
118
+ # Valid agent directories:
119
+ .claude/agents/cfn-dev-team/developers/backend-developer.md
120
+ .claude/agents/cfn-dev-team/dev-ops/devops-engineer.md
121
+ .claude/agents/cfn-dev-team/reviewers/code-reviewer.md
122
+ .claude/agents/cfn-dev-team/testers/tester.md
123
+ # ... etc
124
+ ```
125
+
126
+ Invalid agents are replaced with category-appropriate fallbacks.
127
+
128
+ ## Output Format
129
+
130
+ ### JSON Structure
131
+ ```json
132
+ {
133
+ "loop3": ["agent1", "agent2"], // Always 2+ agents
134
+ "loop2": ["validator1", "validator2"], // Always 3+ validators
135
+ "product_owner": "product-owner", // Always present
136
+ "category": "task-category", // Classification result
137
+ "confidence": 0.85 // 0.0-1.0 score
138
+ }
139
+ ```
140
+
141
+ ### Confidence Scoring
142
+ - 0.95+: Exact keyword match with high certainty
143
+ - 0.85-0.94: Strong category indicators
144
+ - 0.75-0.84: Moderate category match
145
+ - 0.70-0.74: Weak match or fallback used
146
+
147
+ ## Integration with Orchestrator
148
+
149
+ ```bash
150
+ # In orchestrate.sh (Loop 3 spawning)
151
+ AGENT_SELECTION=$(./claude/skills/cfn-agent-selection-with-fallback/select-agents.sh "$TASK_DESCRIPTION")
152
+
153
+ LOOP3_AGENTS=$(echo "$AGENT_SELECTION" | jq -r '.loop3[]')
154
+ LOOP2_AGENTS=$(echo "$AGENT_SELECTION" | jq -r '.loop2[]')
155
+ PRODUCT_OWNER=$(echo "$AGENT_SELECTION" | jq -r '.product_owner')
156
+
157
+ # Spawn agents
158
+ for agent in $LOOP3_AGENTS; do
159
+ cfn-spawn agent "$agent" --task-id "$TASK_ID" --iteration "$ITERATION"
160
+ done
161
+ ```
162
+
163
+ ## Classification Keywords
164
+
165
+ ### backend-api
166
+ - jwt, auth, authentication, authorization
167
+ - api, rest, graphql, endpoint
168
+ - middleware, express, fastify
169
+ - database, postgres, mongodb
170
+
171
+ ### fullstack
172
+ - fullstack, full-stack, full stack
173
+ - react + backend, frontend + api
174
+ - next.js, remix, sveltekit
175
+
176
+ ### mobile
177
+ - mobile, ios, android, react-native
178
+ - swift, kotlin, flutter
179
+
180
+ ### infrastructure
181
+ - docker, kubernetes, k8s, helm
182
+ - deployment, ci/cd, pipeline
183
+ - aws, gcp, azure, cloud
184
+
185
+ ### security
186
+ - security, vulnerability, exploit
187
+ - encryption, ssl, tls, certificate
188
+ - oauth, saml, rbac, permissions
189
+
190
+ ### frontend
191
+ - react, vue, angular, svelte
192
+ - typescript, javascript, css
193
+ - ui, ux, design, component
194
+
195
+ ### database
196
+ - schema, migration, index
197
+ - sql, nosql, query optimization
198
+ - postgres, mongodb, redis
199
+
200
+ ### performance
201
+ - performance, optimization, benchmark
202
+ - latency, throughput, caching
203
+ - profiling, memory leak
204
+
205
+ ## Testing
206
+
207
+ Run the test suite to validate selection logic:
208
+ ```bash
209
+ ./test-agent-selection.sh
210
+ ```
211
+
212
+ Tests cover:
213
+ - All task categories (9 categories)
214
+ - Fallback behavior (classification failure, empty arrays)
215
+ - Agent validation (invalid agent names)
216
+ - JSON output format
217
+ - Minimum agent counts
218
+ - Confidence scoring accuracy
219
+
220
+ ## Dependencies
221
+ - jq (JSON processing)
222
+ - bash 4.0+
223
+ - Access to `.claude/agents/cfn-dev-team/` directory
224
+
225
+ ## Error Handling
226
+ - Missing jq: Exit with error message
227
+ - Invalid task description: Use default category
228
+ - Missing agent mappings file: Use hardcoded defaults
229
+ - Agent profile validation failure: Replace with fallbacks
230
+
231
+ ## Success Criteria
232
+ - 100% guaranteed non-empty agent arrays
233
+ - Category classification accuracy >85%
234
+ - Agent validation against available profiles
235
+ - Fallback coverage for all failure modes
236
+ - JSON output parseable by orchestrator
237
+
238
+ ## Files
239
+ - `select-agents.sh` - Main selection script
240
+ - `task-classifier.sh` - Task category classification
241
+ - `agent-mappings.json` - Agent selections by category
242
+ - `test-agent-selection.sh` - Test suite
243
+ - `SKILL.md` - This documentation