claude-flow-novice 2.5.2 → 2.8.1

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 (370) hide show
  1. package/.claude/adaptive-context/cfn-v3-reflection.json +21 -0
  2. package/.claude/agents/AGENT_LIFECYCLE.md +495 -0
  3. package/.claude/agents/CLAUDE.md +1002 -1233
  4. package/.claude/agents/accessibility-advocate.md +457 -0
  5. package/.claude/agents/agent-principles/README.md +226 -226
  6. package/.claude/agents/agent-principles/agent-type-guidelines.md +10 -0
  7. package/.claude/agents/agent-principles/format-selection.md +10 -0
  8. package/.claude/agents/agent-principles/phase4-template-optimization.md +502 -494
  9. package/.claude/agents/agent-principles/prompt-engineering.md +8 -0
  10. package/.claude/agents/agent-principles/quality-metrics.md +8 -0
  11. package/.claude/agents/analysis/code-analyzer.md +7 -17
  12. package/.claude/agents/analysis/code-review/analyze-code-quality.md +2 -104
  13. package/.claude/agents/analysis/perf-analyzer.md +2 -196
  14. package/.claude/agents/context/context-curator.md +78 -84
  15. package/.claude/agents/context/context-reflector.md +27 -81
  16. package/.claude/agents/coordinators/README.md +42 -0
  17. package/.claude/agents/coordinators/cfn-v3-coordinator.md +440 -0
  18. package/.claude/agents/{product-owner-team → coordinators}/cto-agent.md +154 -187
  19. package/.claude/agents/coordinators/multi-sprint-coordinator.md +50 -0
  20. package/.claude/agents/{product-owner-team → coordinators}/product-owner-agent.md +6 -39
  21. package/.claude/agents/{cfn-loop → coordinators}/product-owner.md +72 -17
  22. package/.claude/agents/core-agents/reviewer.md +114 -135
  23. package/.claude/agents/custom/agent-builder.md +637 -0
  24. package/.claude/agents/developers/README.md +69 -0
  25. package/.claude/agents/developers/backend-dev.md +77 -0
  26. package/.claude/agents/{core-agents → developers}/coder.md +131 -26
  27. package/.claude/agents/developers/react-frontend-engineer.md +121 -0
  28. package/.claude/agents/{frontend → developers}/state-architect.md +1 -0
  29. package/.claude/agents/{frontend → developers}/ui-designer.md +1 -0
  30. package/.claude/agents/development/backend/dev-backend-api.md +0 -29
  31. package/.claude/agents/development/npm-package-specialist.md +355 -347
  32. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +8 -0
  33. package/.claude/agents/documentation/api-docs.md +8 -0
  34. package/.claude/agents/github/github-commit-agent.md +125 -117
  35. package/.claude/agents/goal/goal-planner.md +8 -0
  36. package/.claude/agents/infrastructure/README.md +100 -0
  37. package/.claude/agents/{specialized → infrastructure}/devops-engineer.md +131 -150
  38. package/.claude/agents/planners/README.md +94 -0
  39. package/.claude/agents/{core-agents → planners}/analyst.md +1 -22
  40. package/.claude/agents/{planning-team → planners}/api-designer-persona.md +8 -0
  41. package/.claude/agents/{core-agents → planners}/architect.md +7 -20
  42. package/.claude/agents/{core-agents → planners}/planner.md +0 -21
  43. package/.claude/agents/{planning-team → planners}/security-architect-persona.md +8 -28
  44. package/.claude/agents/{planning-team → planners}/system-architect-persona.md +6 -38
  45. package/.claude/agents/{architecture → planners}/system-architect.md +12 -17
  46. package/.claude/agents/product-owner-team/accessibility-advocate-persona.md +132 -161
  47. package/.claude/agents/product-owner-team/power-user-persona.md +149 -182
  48. package/.claude/agents/retrospective-analyst.md +84 -0
  49. package/.claude/agents/reviewers/README.md +58 -0
  50. package/.claude/agents/{analysis → reviewers}/code-quality-validator.md +8 -17
  51. package/.claude/agents/reviewers/reviewer.md +181 -0
  52. package/.claude/agents/sparc/architecture.md +6 -25
  53. package/.claude/agents/sparc/pseudocode.md +6 -0
  54. package/.claude/agents/sparc/refinement.md +6 -0
  55. package/.claude/agents/sparc/specification.md +1 -0
  56. package/.claude/agents/specialists/README.md +60 -0
  57. package/.claude/agents/{core-agents → specialists}/base-template-generator.md +8 -21
  58. package/.claude/agents/{specialized → specialists}/cli-agent-optimizer.md +1 -1
  59. package/.claude/agents/{specialized → specialists}/code-booster.md +1 -0
  60. package/.claude/agents/{consensus → specialists}/consensus-builder.md +1 -17
  61. package/.claude/agents/{specialized/mobile → specialists}/mobile-dev.md +0 -20
  62. package/.claude/agents/{core-agents → specialists}/performance-benchmarker.md +134 -148
  63. package/.claude/agents/{specialized → specialists}/rust-developer.md +1 -20
  64. package/.claude/agents/{specialized → specialists}/rust-enterprise-developer.md +1 -20
  65. package/.claude/agents/{specialized → specialists}/rust-mvp-developer.md +1 -20
  66. package/.claude/agents/{core-agents → specialists}/security-manager.md +68 -88
  67. package/.claude/agents/{security → specialists}/security-specialist-existing.md +6 -57
  68. package/.claude/agents/{security → specialists}/security-specialist.md +6 -30
  69. package/.claude/agents/{specialized/mobile → specialists}/spec-mobile-react-native.md +2 -21
  70. package/.claude/agents/testers/README.md +94 -0
  71. package/.claude/agents/{testing → testers}/e2e/playwright-agent.md +1 -20
  72. package/.claude/agents/{testing → testers}/interaction-tester.md +1 -20
  73. package/.claude/agents/{testing → testers}/playwright-tester.md +1 -1
  74. package/.claude/agents/testers/tester.md +139 -0
  75. package/.claude/agents/testers/unit/tdd-london-swarm.md +49 -0
  76. package/.claude/agents/testers/validation/production-validator.md +33 -0
  77. package/.claude/agents-ignore/cfn-loop-coordinator.md +157 -0
  78. package/.claude/agents-ignore/cfn-loop-coordinator.md.backup +156 -0
  79. package/.claude/agents-ignore/coordinator.md.backup +182 -0
  80. package/.claude/agents-ignore/cost-savings-cfn-loop-coordinator.md +760 -0
  81. package/.claude/agents-ignore/cost-savings-coordinator.md +173 -0
  82. package/.claude/artifacts/ace-reflections/REFLECT-001-summary.json +39 -0
  83. package/.claude/artifacts/ace-reflections/sprint-7_$(date -u +/"%Y%m%d_%H%M%S/").json" +47 -0
  84. package/.claude/artifacts/reflection-merge-logs/cli-agent-spawning-v2.5.2-merge-report.md +61 -0
  85. package/.claude/commands/CFN_COORDINATOR_PARAMETERS.md +10 -10
  86. package/.claude/commands/cfn-loop-epic.md +43 -19
  87. package/.claude/commands/cfn-loop-single.md +3 -3
  88. package/.claude/commands/cfn-loop-sprints.md +1 -1
  89. package/.claude/commands/cfn-loop.md +45 -32
  90. package/.claude/commands/cfn-mode.md +20 -0
  91. package/.claude/commands/custom-routing-activate.md +37 -123
  92. package/.claude/commands/custom-routing-deactivate.md +27 -124
  93. package/.claude/commands/switch-api.md +41 -16
  94. package/.claude/commands/write-plan.md +104 -0
  95. package/.claude/data/cfn-loop.db +0 -0
  96. package/.claude/data/cfn_loop_logs.db +0 -0
  97. package/.claude/hooks/BACKUP_USAGE.md +243 -0
  98. package/.claude/hooks/post-edit-cfn-retrospective.sh +79 -0
  99. package/.claude/hooks/post-edit.sh +21 -0
  100. package/.claude/hooks/pre-edit-backup.sh +71 -0
  101. package/.claude/hooks/restore-from-backup.sh +37 -0
  102. package/.claude/prompts/cfn-loop-context.md +115 -0
  103. package/.claude/prompts/loop-specific/loop2.md +50 -0
  104. package/.claude/prompts/loop-specific/loop3.md +43 -0
  105. package/.claude/prompts/loop-specific/loop4.md +54 -0
  106. package/.claude/root-claude-distribute/CLAUDE.md +76 -2
  107. package/.claude/skills/ace-system/sprint-7-lessons.json +46 -0
  108. package/.claude/skills/ace-system/store-reflection.sh +33 -136
  109. package/.claude/skills/agent-discovery/SKILL.md +40 -0
  110. package/.claude/skills/agent-discovery/agents-registry-clean.json +0 -0
  111. package/.claude/skills/agent-discovery/agents-registry-fixed.json +19 -0
  112. package/.claude/skills/agent-discovery/agents-registry.json +718 -0
  113. package/.claude/skills/agent-discovery/discover-agents.py +175 -0
  114. package/.claude/skills/agent-discovery/discover-agents.sh +87 -0
  115. package/.claude/skills/agent-discovery/invoke-registry.sh +11 -0
  116. package/.claude/skills/agent-discovery/temp_script.py +0 -0
  117. package/.claude/skills/agent-execution/execute-agent.sh +126 -0
  118. package/.claude/skills/agent-output-processing/SKILL.md +359 -0
  119. package/.claude/skills/agent-selector/SKILL.md +90 -0
  120. package/.claude/skills/agent-selector/select-agents.sh +96 -0
  121. package/.claude/skills/agent-spawning/agent-selection-guide.md +1 -1
  122. package/.claude/skills/agent-swap/SKILL.md +36 -0
  123. package/.claude/skills/agent-swap/recommend-swap.sh +60 -0
  124. package/.claude/skills/api-validation/test-endpoints.sh +54 -0
  125. package/.claude/skills/automatic-memory-persistence/SKILL.md +73 -0
  126. package/.claude/skills/automatic-memory-persistence/persist-agent-output.sh +49 -0
  127. package/.claude/skills/automatic-memory-persistence/query-agent-history.sh +35 -0
  128. package/.claude/skills/automatic-memory-persistence/test-memory-persistence.sh +235 -0
  129. package/.claude/skills/cfn-loop-orchestration/README.md +41 -0
  130. package/.claude/skills/cfn-loop-orchestration/SKILL.md +299 -0
  131. package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
  132. package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
  133. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
  134. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
  135. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
  136. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
  137. package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
  138. package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
  139. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +840 -0
  140. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +99 -0
  141. package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
  142. package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
  143. package/.claude/skills/cfn-loop-validation/SKILL.md +307 -217
  144. package/.claude/skills/complexity-estimator/SKILL.md +96 -0
  145. package/.claude/skills/complexity-estimator/estimate-complexity.sh +144 -0
  146. package/.claude/skills/context-pruner/SKILL.md +75 -0
  147. package/.claude/skills/context-pruner/prune-context.sh +73 -0
  148. package/.claude/skills/defense-in-depth/SKILL.md +133 -0
  149. package/.claude/skills/dependency-extractor/SKILL.md +35 -0
  150. package/.claude/skills/dependency-extractor/extract-dependencies.sh +66 -0
  151. package/.claude/skills/epic-decomposer/SKILL.md +44 -0
  152. package/.claude/skills/epic-decomposer/decompose-epic.sh +104 -0
  153. package/.claude/skills/improvement-recommender/SKILL.md +33 -0
  154. package/.claude/skills/improvement-recommender/recommend-improvements.sh +92 -0
  155. package/.claude/skills/intervention-detector/SKILL.md +39 -0
  156. package/.claude/skills/intervention-detector/detect-intervention.sh +111 -0
  157. package/.claude/skills/intervention-orchestrator/SKILL.md +43 -0
  158. package/.claude/skills/intervention-orchestrator/execute-intervention.sh +59 -0
  159. package/.claude/skills/loop2-output-processing/SKILL.md +163 -0
  160. package/.claude/skills/loop2-output-processing/execute-and-extract.sh +77 -0
  161. package/.claude/skills/loop2-output-processing/execute-and-extract.sh.backup +36 -0
  162. package/.claude/skills/loop2-output-processing/parse-feedback.sh +147 -0
  163. package/.claude/skills/loop2-output-processing/process-validator-output.sh +275 -0
  164. package/.claude/skills/loop2-output-processing/test-bug27-fix.sh +200 -0
  165. package/.claude/skills/loop2-output-processing/test-loop2-processing.sh +113 -0
  166. package/.claude/skills/loop3-output-processing/AGENT_COMPLETION_PROTOCOL.md +206 -0
  167. package/.claude/skills/loop3-output-processing/SKILL.md +421 -0
  168. package/.claude/skills/loop3-output-processing/calculate-confidence.sh +28 -0
  169. package/.claude/skills/loop3-output-processing/execute-and-extract.sh +85 -0
  170. package/.claude/skills/loop3-output-processing/parse-confidence.sh +31 -0
  171. package/.claude/skills/loop3-output-processing/test-agent-timeout.sh +327 -0
  172. package/.claude/skills/loop3-output-processing/test-loop3-processing.sh +155 -0
  173. package/.claude/skills/loop3-output-processing/verify-deliverables.sh +42 -0
  174. package/.claude/skills/pattern-extraction/SKILL.md +30 -0
  175. package/.claude/skills/pattern-extraction/extract-patterns.sh +80 -0
  176. package/.claude/skills/playbook/SKILL.md +113 -0
  177. package/.claude/skills/playbook/init-playbook.sh +54 -0
  178. package/.claude/skills/playbook/playbook.db +0 -0
  179. package/.claude/skills/playbook/query-playbook.sh +79 -0
  180. package/.claude/skills/playbook/update-playbook.sh +69 -0
  181. package/.claude/skills/playbook-auto-update/SKILL.md +29 -0
  182. package/.claude/skills/playbook-auto-update/auto-update-playbook.sh +86 -0
  183. package/.claude/skills/product-owner-decision/SKILL.md +332 -0
  184. package/.claude/skills/product-owner-decision/execute-decision.sh +176 -0
  185. package/.claude/skills/product-owner-decision/parse-decision.sh +66 -0
  186. package/.claude/skills/product-owner-decision/validate-deliverables.sh +82 -0
  187. package/.claude/skills/redis-coordination/AGENT_LOGGING.md +280 -0
  188. package/.claude/skills/redis-coordination/LOGGING.md +260 -0
  189. package/.claude/skills/redis-coordination/README.md +30 -29
  190. package/.claude/skills/redis-coordination/SKILL.md +685 -83
  191. package/.claude/skills/redis-coordination/agent-log.sh +124 -0
  192. package/.claude/skills/redis-coordination/analyze-task-complexity.sh +277 -0
  193. package/.claude/skills/redis-coordination/cfn-loop-exec.sh +468 -0
  194. package/.claude/skills/redis-coordination/collect-confidence-scores.sh +179 -0
  195. package/.claude/skills/redis-coordination/collect-results.sh +75 -0
  196. package/.claude/skills/redis-coordination/data/cfn-loop.db +0 -0
  197. package/.claude/skills/redis-coordination/demos/test-iteration-feedback.sh +320 -0
  198. package/.claude/skills/redis-coordination/{test-orchestrator.sh → demos/test-orchestrator.sh} +25 -0
  199. package/.claude/skills/redis-coordination/execute-product-owner-decision.sh +258 -0
  200. package/.claude/skills/redis-coordination/get-agent-timeout.sh +176 -176
  201. package/.claude/skills/redis-coordination/init-swarm.sh +6 -1
  202. package/.claude/skills/redis-coordination/invoke-waiting-mode.sh +106 -183
  203. package/.claude/skills/redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
  204. package/.claude/skills/redis-coordination/log-event.sh +109 -0
  205. package/.claude/skills/redis-coordination/monitor-cfn-violations.sh +391 -0
  206. package/.claude/skills/redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
  207. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh +31 -933
  208. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
  209. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
  210. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
  211. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
  212. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
  213. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
  214. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  215. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
  216. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
  217. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
  218. package/.claude/skills/redis-coordination/query-logs.sh +103 -0
  219. package/.claude/skills/redis-coordination/retrieve-context.sh +58 -0
  220. package/.claude/skills/redis-coordination/select-specialist-agent.sh +371 -0
  221. package/.claude/skills/redis-coordination/semantic-match-tfidf.py +252 -0
  222. package/.claude/skills/redis-coordination/send-heartbeat.sh +164 -72
  223. package/.claude/skills/redis-coordination/signal.sh +38 -0
  224. package/.claude/skills/redis-coordination/store-context.sh +86 -0
  225. package/.claude/skills/redis-coordination/store-epic-context.sh +123 -0
  226. package/.claude/skills/redis-coordination/test-context-injection.sh +354 -0
  227. package/.claude/skills/redis-coordination/test-timeout-enforcement.sh +513 -0
  228. package/.claude/skills/redis-coordination/tests/convert-line-endings.sh +15 -0
  229. package/.claude/skills/redis-coordination/tests/dlq-functionality-test.sh +101 -101
  230. package/.claude/skills/redis-coordination/tests/edge-cases-test.sh +98 -98
  231. package/.claude/skills/redis-coordination/tests/integration-test.sh +169 -169
  232. package/.claude/skills/redis-coordination/tests/retry-mechanism-test.sh +81 -81
  233. package/.claude/skills/redis-coordination/tests/run-test-suite.sh +91 -91
  234. package/.claude/skills/redis-coordination/tests/run-tests.sh +4 -0
  235. package/.claude/skills/redis-coordination/tests/test-primitives.sh +166 -0
  236. package/.claude/skills/redis-coordination/tests/test-utils.sh +53 -121
  237. package/.claude/skills/redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
  238. package/.claude/skills/redis-coordination/tests/test_utils.sh +49 -0
  239. package/.claude/skills/redis-coordination/v2_modularization/core_orchestration.sh +76 -0
  240. package/.claude/skills/redis-coordination/validate-parameters.sh +492 -0
  241. package/.claude/skills/retrospective-report/SKILL.md +31 -0
  242. package/.claude/skills/retrospective-report/generate-report.sh +101 -0
  243. package/.claude/skills/run-all-skill-tests.sh +124 -0
  244. package/.claude/skills/scope-simplifier/SKILL.md +37 -0
  245. package/.claude/skills/scope-simplifier/simplify-scope.sh +68 -0
  246. package/.claude/skills/simplified-agent-lifecycle/COST_ANALYSIS.md +49 -0
  247. package/.claude/skills/simplified-agent-lifecycle/DESIGN.md +98 -0
  248. package/.claude/skills/simplified-agent-lifecycle/MIGRATION_PLAN.md +74 -0
  249. package/.claude/skills/skill-builder/SKILL.md +910 -0
  250. package/.claude/skills/specialist-injection/SKILL.md +41 -0
  251. package/.claude/skills/specialist-injection/recommend-specialist.sh +57 -0
  252. package/.claude/skills/sprint-execution/SKILL.md +27 -0
  253. package/.claude/skills/sprint-execution/execute-sprint-task.sh +59 -0
  254. package/.claude/skills/sprint-execution/execute-sprint.sh +65 -0
  255. package/.claude/skills/sprint-planner/SKILL.md +37 -0
  256. package/.claude/skills/sprint-planner/plan-sprint.sh +85 -0
  257. package/.claude/skills/standardized-error-handling/SKILL.md +56 -0
  258. package/.claude/skills/standardized-error-handling/capture-agent-error.sh +87 -0
  259. package/.claude/skills/standardized-error-handling/test-error-handling.sh +166 -0
  260. package/.claude/skills/task-classifier/SKILL.md +94 -0
  261. package/.claude/skills/task-classifier/classify-task.sh +115 -0
  262. package/.claude/skills/validation-templates/SKILL.md +47 -0
  263. package/.claude/skills/validation-templates/content.json +38 -0
  264. package/.claude/skills/validation-templates/data.json +38 -0
  265. package/.claude/skills/validation-templates/design.json +38 -0
  266. package/.claude/skills/validation-templates/infrastructure.json +38 -0
  267. package/.claude/skills/validation-templates/research.json +38 -0
  268. package/.claude/skills/validation-templates/software.json +38 -0
  269. package/.claude/skills/webapp-testing/README.md +142 -0
  270. package/.claude/skills/webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
  271. package/.claude/skills/webapp-testing/SKILL.md +877 -0
  272. package/.claude/skills/webapp-testing/capture-screenshot.sh +238 -0
  273. package/.claude/skills/webapp-testing/cfn-loop-integration.sh +265 -0
  274. package/.claude/skills/webapp-testing/compare-screenshots.sh +199 -0
  275. package/.claude/skills/webapp-testing/init-storage.sh +150 -0
  276. package/.claude/skills/webapp-testing/set-baseline.sh +196 -0
  277. package/.claude/skills/webapp-testing/test-webapp-testing.sh +233 -0
  278. package/.claude/spawn-pattern-examples.md +3 -3
  279. package/CLAUDE.md +364 -16
  280. package/README.md +598 -251
  281. package/dist/agents/agent-loader.js +146 -165
  282. package/dist/agents/agent-loader.js.map +1 -1
  283. package/dist/cli/agent-command.js +153 -0
  284. package/dist/cli/agent-command.js.map +1 -0
  285. package/dist/cli/agent-definition-parser.js +183 -0
  286. package/dist/cli/agent-definition-parser.js.map +1 -0
  287. package/dist/cli/agent-executor.js +310 -0
  288. package/dist/cli/agent-executor.js.map +1 -0
  289. package/dist/cli/agent-prompt-builder.js +268 -0
  290. package/dist/cli/agent-prompt-builder.js.map +1 -0
  291. package/dist/cli/agent-spawn.js +56 -2
  292. package/dist/cli/agent-spawn.js.map +1 -1
  293. package/dist/cli/anthropic-client.js +421 -0
  294. package/dist/cli/anthropic-client.js.map +1 -0
  295. package/dist/cli/cfn-context.js +150 -0
  296. package/dist/cli/cfn-context.js.map +1 -1
  297. package/dist/cli/cfn-fork.js +159 -0
  298. package/dist/cli/cfn-fork.js.map +1 -0
  299. package/dist/cli/cli-agent-context.js +358 -0
  300. package/dist/cli/cli-agent-context.js.map +1 -0
  301. package/dist/cli/config-manager.js +109 -91
  302. package/dist/cli/config-manager.js.map +1 -1
  303. package/dist/cli/conversation-fork.js +201 -0
  304. package/dist/cli/conversation-fork.js.map +1 -0
  305. package/dist/cli/index.js +119 -2
  306. package/dist/cli/index.js.map +1 -1
  307. package/dist/cli/iteration-history.js +188 -0
  308. package/dist/cli/iteration-history.js.map +1 -0
  309. package/dist/cli/tool-definitions.js +263 -0
  310. package/dist/cli/tool-definitions.js.map +1 -0
  311. package/dist/cli/tool-executor.js +247 -0
  312. package/dist/cli/tool-executor.js.map +1 -0
  313. package/dist/hello.js +8 -0
  314. package/dist/hello.js.map +1 -0
  315. package/package.json +16 -6
  316. package/scripts/README.md +68 -0
  317. package/scripts/cfn-intervention-example.sh +21 -0
  318. package/scripts/migrate-test-infrastructure.sh +40 -0
  319. package/scripts/switch-api.sh +233 -0
  320. package/scripts/validate-test-migration.sh +49 -0
  321. package/scripts/verify-no-secrets.sh +55 -0
  322. package/.claude/agents/architecture/system-architect.md.backup +0 -603
  323. package/.claude/agents/code-booster.md +0 -131
  324. package/.claude/agents/consensus/performance-benchmarker.md +0 -101
  325. package/.claude/agents/consensus/security-manager.md +0 -107
  326. package/.claude/agents/context-curator.md +0 -167
  327. package/.claude/agents/context-reflector.md +0 -65
  328. package/.claude/agents/core-agents/cfn-loop-coordinator.md +0 -134
  329. package/.claude/agents/core-agents/code-quality-validator.md +0 -149
  330. package/.claude/agents/core-agents/context-curator.md +0 -452
  331. package/.claude/agents/core-agents/context-reflector.md +0 -273
  332. package/.claude/agents/core-agents/cost-savings-cfn-loop-coordinator.md +0 -190
  333. package/.claude/agents/core-agents/tester.md +0 -170
  334. package/.claude/agents/development/backend-dev.md +0 -165
  335. package/.claude/agents/devops/devops-engineer.md +0 -148
  336. package/.claude/agents/frontend/interaction-tester.md +0 -139
  337. package/.claude/agents/frontend/react-frontend-engineer.md +0 -9
  338. package/.claude/agents/personas/accessibility-advocate-persona.md +0 -107
  339. package/.claude/agents/testing/production-validator.md +0 -179
  340. package/.claude/agents/testing/tdd-london-swarm.md +0 -209
  341. package/.claude/agents/testing/unit/tdd-london-swarm.md +0 -43
  342. package/.claude/agents/testing/validation/production-validator.md +0 -43
  343. package/dist/coordination/fleet-manager.test.js +0 -141
  344. package/dist/coordination/fleet-manager.test.js.map +0 -1
  345. package/dist/middleware/transparency-middleware.test.js +0 -184
  346. package/dist/middleware/transparency-middleware.test.js.map +0 -1
  347. /package/.claude/agents/{core-agents → developers}/researcher.md +0 -0
  348. /package/.claude/agents/{consensus → specialists}/crdt-synchronizer.md +0 -0
  349. /package/.claude/agents/{consensus → specialists}/quorum-manager.md +0 -0
  350. /package/.claude/agents/{consensus → specialists}/raft-manager.md +0 -0
  351. /package/.claude/{agents/core-agents → agents-ignore}/coordinator.md +0 -0
  352. /package/.claude/{agents/core-agents/cost-savings-coordinator.md → agents-ignore/cost-savings-coordinator.md.backup} +0 -0
  353. /package/.claude/skills/redis-coordination/{phase4-wake-queue-test-report.md → demos/phase4-wake-queue-test-report.md} +0 -0
  354. /package/.claude/skills/redis-coordination/{test-bzpopmin-fix.sh → demos/test-bzpopmin-fix.sh} +0 -0
  355. /package/.claude/skills/redis-coordination/{test-cancel-swarm.sh → demos/test-cancel-swarm.sh} +0 -0
  356. /package/.claude/skills/redis-coordination/{test-dlq.sh → demos/test-dlq.sh} +0 -0
  357. /package/.claude/skills/redis-coordination/{test-priority-wake-phase4-unix.sh → demos/test-priority-wake-phase4-unix.sh} +0 -0
  358. /package/.claude/skills/redis-coordination/{test-priority-wake-phase4.sh → demos/test-priority-wake-phase4.sh} +0 -0
  359. /package/.claude/skills/redis-coordination/{test-priority-wake.sh → demos/test-priority-wake.sh} +0 -0
  360. /package/.claude/skills/redis-coordination/{test-quick-fix.sh → demos/test-quick-fix.sh} +0 -0
  361. /package/.claude/skills/redis-coordination/{test-quorum-absolute.sh → demos/test-quorum-absolute.sh} +0 -0
  362. /package/.claude/skills/redis-coordination/{test-quorum-fallback.sh → demos/test-quorum-fallback.sh} +0 -0
  363. /package/.claude/skills/redis-coordination/{test-quorum-percentage.sh → demos/test-quorum-percentage.sh} +0 -0
  364. /package/.claude/skills/redis-coordination/{test-quorum-with-retry.sh → demos/test-quorum-with-retry.sh} +0 -0
  365. /package/.claude/skills/redis-coordination/{test-quorum.sh → demos/test-quorum.sh} +0 -0
  366. /package/.claude/skills/redis-coordination/{test-shutdown-handling.sh → demos/test-shutdown-handling.sh} +0 -0
  367. /package/.claude/skills/redis-coordination/{test-shutdown.sh → demos/test-shutdown.sh} +0 -0
  368. /package/.claude/skills/redis-coordination/{test-utils-unix.sh → demos/test-utils-unix.sh} +0 -0
  369. /package/.claude/skills/redis-coordination/{test-utils.sh → demos/test-utils.sh} +0 -0
  370. /package/.claude/skills/redis-coordination/{test-waiting-mode.sh → demos/test-waiting-mode.sh} +0 -0
@@ -0,0 +1,359 @@
1
+ # Agent Output Processing Skill (Universal)
2
+
3
+ **Version:** 1.0.0
4
+ **Status:** Production
5
+ **Purpose:** Guaranteed structured output extraction from any agent type
6
+
7
+ ---
8
+
9
+ ## Overview
10
+
11
+ **Problem Solved:** Agent templates cannot force tool execution or guarantee output format.
12
+
13
+ **Solution:** Orchestrator-controlled output processing with robust parsing, validation, and Redis coordination.
14
+
15
+ **Applicable To:** Any agent requiring structured output (Product Owner, validators, analyzers, decision-makers)
16
+
17
+ ---
18
+
19
+ ## Core Principle
20
+
21
+ ```
22
+ Agent Templates → Focus on analysis/decision-making
23
+ Skills → Handle execution/coordination/formatting
24
+ Orchestrators → Control workflow and Redis state
25
+ ```
26
+
27
+ **Why This Works:**
28
+ - ✅ Agents do what they're good at (analysis)
29
+ - ✅ Skills enforce structure (parsing, validation)
30
+ - ✅ Orchestrators maintain coordination (Redis, timing)
31
+ - ✅ No reliance on agent tool usage compliance
32
+
33
+ ---
34
+
35
+ ## Architecture
36
+
37
+ ### Generic Flow
38
+
39
+ ```
40
+ 1. Orchestrator → Spawn agent with structured context
41
+ 2. Skill → Capture agent stdout/stderr
42
+ 3. Skill → Parse output (pattern matching with fallbacks)
43
+ 4. Skill → Validate output (business logic checks)
44
+ 5. Skill → Transform to required format (JSON, etc.)
45
+ 6. Skill → Push to Redis (coordination state)
46
+ 7. Skill → Signal completion
47
+ ```
48
+
49
+ ### Skill Components
50
+
51
+ ```
52
+ .claude/skills/agent-output-processing/
53
+ ├── SKILL.md # This file
54
+ ├── execute-with-parsing.sh # Generic agent wrapper
55
+ ├── parse-structured-output.sh # Multi-pattern parser
56
+ ├── validate-output.sh # Validation framework
57
+ └── patterns/ # Agent-specific patterns
58
+ ├── product-owner.json # PROCEED/ITERATE/ABORT
59
+ ├── validator.json # confidence + feedback
60
+ ├── analyzer.json # metrics + recommendations
61
+ └── decision-maker.json # choice + reasoning
62
+ ```
63
+
64
+ ---
65
+
66
+ ## Usage Patterns
67
+
68
+ ### Pattern 1: Decision Output (Product Owner)
69
+
70
+ **Output Requirements:** Must extract PROCEED/ITERATE/ABORT
71
+
72
+ ```bash
73
+ RESULT=$(./.claude/skills/agent-output-processing/execute-with-parsing.sh \
74
+ --agent-type "product-owner" \
75
+ --pattern-file "patterns/product-owner.json" \
76
+ --task-id "$TASK_ID" \
77
+ --agent-id "$AGENT_ID" \
78
+ --context "Loop 2 consensus: 0.92" \
79
+ --redis-key "swarm:${TASK_ID}:${AGENT_ID}:decision")
80
+
81
+ DECISION=$(echo "$RESULT" | jq -r '.decision')
82
+ ```
83
+
84
+ **Pattern File (patterns/product-owner.json):**
85
+ ```json
86
+ {
87
+ "name": "product-owner-decision",
88
+ "required_fields": ["decision"],
89
+ "patterns": [
90
+ {
91
+ "field": "decision",
92
+ "regex": "Decision:\\s*(PROCEED|ITERATE|ABORT)",
93
+ "extract": "keyword",
94
+ "fallbacks": [
95
+ "(PROCEED|ITERATE|ABORT)",
96
+ "(?i)(proceed|iterate|abort)"
97
+ ]
98
+ },
99
+ {
100
+ "field": "reasoning",
101
+ "regex": "Reasoning:\\s*(.+)",
102
+ "extract": "capture_group"
103
+ }
104
+ ],
105
+ "validation": {
106
+ "decision": {
107
+ "type": "enum",
108
+ "values": ["PROCEED", "ITERATE", "ABORT"]
109
+ }
110
+ }
111
+ }
112
+ ```
113
+
114
+ ### Pattern 2: Confidence + Feedback (Validators)
115
+
116
+ **Output Requirements:** Must extract confidence score and feedback list
117
+
118
+ ```bash
119
+ RESULT=$(./.claude/skills/agent-output-processing/execute-with-parsing.sh \
120
+ --agent-type "reviewer" \
121
+ --pattern-file "patterns/validator.json" \
122
+ --task-id "$TASK_ID" \
123
+ --agent-id "$AGENT_ID" \
124
+ --context "Review Loop 3 implementation" \
125
+ --redis-key "swarm:${TASK_ID}:${AGENT_ID}:result")
126
+
127
+ CONFIDENCE=$(echo "$RESULT" | jq -r '.confidence')
128
+ FEEDBACK=$(echo "$RESULT" | jq -r '.feedback[]')
129
+ ```
130
+
131
+ **Pattern File (patterns/validator.json):**
132
+ ```json
133
+ {
134
+ "name": "validator-result",
135
+ "required_fields": ["confidence"],
136
+ "patterns": [
137
+ {
138
+ "field": "confidence",
139
+ "regex": "Confidence:\\s*([0-9.]+)",
140
+ "extract": "float",
141
+ "fallbacks": [
142
+ "confidence[:\\s]+([0-9.]+)",
143
+ "score[:\\s]+([0-9.]+)"
144
+ ]
145
+ },
146
+ {
147
+ "field": "feedback",
148
+ "regex": "Feedback:\\s*\\n([\\s\\S]+?)(?=\\n\\n|$)",
149
+ "extract": "multiline_list"
150
+ }
151
+ ],
152
+ "validation": {
153
+ "confidence": {
154
+ "type": "float",
155
+ "min": 0.0,
156
+ "max": 1.0
157
+ }
158
+ }
159
+ }
160
+ ```
161
+
162
+ ### Pattern 3: Metrics + Recommendations (Analyzers)
163
+
164
+ **Output Requirements:** Must extract metrics object and recommendation list
165
+
166
+ ```bash
167
+ RESULT=$(./.claude/skills/agent-output-processing/execute-with-parsing.sh \
168
+ --agent-type "code-analyzer" \
169
+ --pattern-file "patterns/analyzer.json" \
170
+ --task-id "$TASK_ID" \
171
+ --agent-id "$AGENT_ID" \
172
+ --context "Analyze codebase quality" \
173
+ --redis-key "swarm:${TASK_ID}:${AGENT_ID}:analysis")
174
+
175
+ COMPLEXITY=$(echo "$RESULT" | jq -r '.metrics.complexity')
176
+ RECOMMENDATIONS=$(echo "$RESULT" | jq -r '.recommendations[]')
177
+ ```
178
+
179
+ ---
180
+
181
+ ## Implementation
182
+
183
+ ### execute-with-parsing.sh
184
+
185
+ ```bash
186
+ #!/bin/bash
187
+ set -euo pipefail
188
+
189
+ # Parse arguments
190
+ AGENT_TYPE=""
191
+ PATTERN_FILE=""
192
+ TASK_ID=""
193
+ AGENT_ID=""
194
+ CONTEXT=""
195
+ REDIS_KEY=""
196
+ TIMEOUT=900
197
+
198
+ while [[ $# -gt 0 ]]; do
199
+ case $1 in
200
+ --agent-type) AGENT_TYPE="$2"; shift 2 ;;
201
+ --pattern-file) PATTERN_FILE="$2"; shift 2 ;;
202
+ --task-id) TASK_ID="$2"; shift 2 ;;
203
+ --agent-id) AGENT_ID="$2"; shift 2 ;;
204
+ --context) CONTEXT="$2"; shift 2 ;;
205
+ --redis-key) REDIS_KEY="$2"; shift 2 ;;
206
+ --timeout) TIMEOUT="$2"; shift 2 ;;
207
+ *) echo "Unknown: $1"; exit 1 ;;
208
+ esac
209
+ done
210
+
211
+ # Spawn agent and capture output
212
+ AGENT_OUTPUT=$(timeout "$TIMEOUT" npx claude-flow-novice agent "$AGENT_TYPE" \
213
+ --task-id "$TASK_ID" \
214
+ --agent-id "$AGENT_ID" \
215
+ --context "$CONTEXT" 2>&1 || true)
216
+
217
+ # Parse structured output using pattern file
218
+ PARSED_OUTPUT=$(./parse-structured-output.sh \
219
+ --pattern-file "$PATTERN_FILE" \
220
+ --output "$AGENT_OUTPUT")
221
+
222
+ # Validate parsed output
223
+ if ! ./validate-output.sh --pattern-file "$PATTERN_FILE" --data "$PARSED_OUTPUT"; then
224
+ echo "ERROR: Output validation failed" >&2
225
+ exit 1
226
+ fi
227
+
228
+ # Push to Redis if key provided
229
+ if [ -n "$REDIS_KEY" ]; then
230
+ echo "$PARSED_OUTPUT" | redis-cli -x LPUSH "$REDIS_KEY" >/dev/null
231
+ redis-cli LPUSH "swarm:${TASK_ID}:${AGENT_ID}:done" "complete" >/dev/null
232
+ fi
233
+
234
+ # Output structured result
235
+ echo "$PARSED_OUTPUT"
236
+ ```
237
+
238
+ ---
239
+
240
+ ## Benefits Over Template-Based
241
+
242
+ | Aspect | Template-Based | Skill-Based (Universal) |
243
+ |--------|----------------|-------------------------|
244
+ | **Execution Guarantee** | ❌ Agent decides | ✅ Skill enforces |
245
+ | **Output Format** | ❌ Inconsistent | ✅ Guaranteed structure |
246
+ | **Parsing Robustness** | ❌ None | ✅ Multi-pattern fallbacks |
247
+ | **Validation** | ❌ Manual | ✅ Automated schema checks |
248
+ | **Redis Coordination** | ❌ Agent-dependent | ✅ Skill-controlled |
249
+ | **Reusability** | ❌ Per-agent templates | ✅ Universal pattern system |
250
+ | **Testability** | ❌ Hard to test | ✅ Unit tests per pattern |
251
+ | **Extensibility** | ❌ Template changes | ✅ Add pattern files |
252
+
253
+ ---
254
+
255
+ ## Agent-Specific Implementations
256
+
257
+ ### Existing: Product Owner Decision
258
+ **Location:** `.claude/skills/product-owner-decision/`
259
+ **Pattern:** PROCEED/ITERATE/ABORT extraction
260
+ **Status:** ✅ Operational (BUG #11 fix)
261
+
262
+ ### Future: Validator Agents
263
+ **Pattern:** Confidence + feedback extraction
264
+ **Use Case:** Loop 2 validators (reviewer, tester, security)
265
+ **Benefit:** Guaranteed confidence scoring
266
+
267
+ ### Future: Analyzer Agents
268
+ **Pattern:** Metrics + recommendations extraction
269
+ **Use Case:** Code quality, performance, security analyzers
270
+ **Benefit:** Structured analysis output
271
+
272
+ ---
273
+
274
+ ## Migration Strategy
275
+
276
+ ### Phase 1: Product Owner (✅ Complete)
277
+ - Created dedicated skill
278
+ - Integrated with orchestrator
279
+ - Solves BUG #11
280
+
281
+ ### Phase 2: Validators (Planned)
282
+ - Extract confidence scores reliably
283
+ - Parse feedback into structured lists
284
+ - Prevent 0.0 confidence issues
285
+
286
+ ### Phase 3: All Decision-Making Agents (Future)
287
+ - Standardize output processing
288
+ - Centralize pattern definitions
289
+ - Enable cross-agent consistency
290
+
291
+ ---
292
+
293
+ ## Testing
294
+
295
+ ### Unit Tests
296
+ ```bash
297
+ # Test pattern parsing
298
+ ./test-parse-structured-output.sh --pattern-file patterns/product-owner.json
299
+
300
+ # Test validation logic
301
+ ./test-validate-output.sh --pattern-file patterns/validator.json
302
+ ```
303
+
304
+ ### Integration Tests
305
+ ```bash
306
+ # Test full agent execution with parsing
307
+ ./test-execute-with-parsing.sh --agent-type product-owner
308
+ ```
309
+
310
+ ---
311
+
312
+ ## Related Skills
313
+
314
+ - **Product Owner Decision** (`.claude/skills/product-owner-decision/SKILL.md`) - Specific implementation
315
+ - **Redis Coordination** (`.claude/skills/redis-coordination/SKILL.md`) - State management
316
+ - **CFN Loop Validation** (`.claude/skills/cfn-loop-validation/SKILL.md`) - Quality gates
317
+
318
+ ---
319
+
320
+ ## Lessons Learned
321
+
322
+ ### ANTI-PATTERN: Template-Forced Tool Usage
323
+ **What Doesn't Work:** Telling agents "Use Bash tool to execute X"
324
+
325
+ **Why:** Agents interpret instructions autonomously, treating code blocks as documentation
326
+
327
+ **Better:** Capture agent output and parse it with robust patterns
328
+
329
+ ### PATTERN: Orchestrator Control
330
+ **Principle:** Coordination belongs in orchestrators/skills, not agent templates
331
+
332
+ **Rationale:**
333
+ - Agents focus on analysis (what they do well)
334
+ - Skills handle structure (parsing, validation)
335
+ - Orchestrators manage coordination (Redis, timing)
336
+
337
+ ### PATTERN: Multi-Fallback Parsing
338
+ **Principle:** Use multiple pattern matching strategies with increasing leniency
339
+
340
+ **Example:**
341
+ 1. Strict: "Decision: PROCEED" (labeled, exact case)
342
+ 2. Moderate: "PROCEED" (standalone keyword)
343
+ 3. Lenient: "proceed" (case-insensitive)
344
+ 4. Desperate: JSON extraction
345
+
346
+ ---
347
+
348
+ ## Version History
349
+
350
+ ### 1.0.0 (2025-10-20)
351
+ - Initial skill creation
352
+ - Generalized from Product Owner fix
353
+ - Universal pattern-based output processing
354
+ - Validation framework
355
+ - Redis coordination integration
356
+
357
+ ---
358
+
359
+ **Summary:** This skill provides universal output processing for any agent type, eliminating reliance on template-based tool usage compliance and guaranteeing structured, validated results.
@@ -0,0 +1,90 @@
1
+ # Agent Selector Skill
2
+
3
+ **Version:** 1.0.0
4
+ **Purpose:** Select optimal agents for CFN Loop v3 based on task type and requirements
5
+
6
+ ## Overview
7
+
8
+ Recommends Loop 3 (producers) and Loop 2 (evaluators) agents based on:
9
+ - Task type (from task-classifier)
10
+ - Task description keywords
11
+ - Complexity requirements
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ AGENTS=$(./.claude/skills/agent-selector/select-agents.sh \
17
+ --task-type "software-development" \
18
+ --description "Implement JWT authentication with refresh tokens")
19
+
20
+ echo "$AGENTS" | jq '.loop3[]' # ["backend-dev", "security-specialist"]
21
+ echo "$AGENTS" | jq '.loop2[]' # ["reviewer", "tester", "security-auditor"]
22
+ ```
23
+
24
+ ## Output Format
25
+
26
+ ```json
27
+ {
28
+ "loop3": ["agent1", "agent2", "agent3"],
29
+ "loop2": ["validator1", "validator2", "validator3"],
30
+ "loop4": "product-owner",
31
+ "reasoning": "Explanation of agent selection"
32
+ }
33
+ ```
34
+
35
+ ## Agent Selection Rules
36
+
37
+ ### Software Development
38
+ **Base Loop 3:** backend-dev, coder
39
+ **Add if keywords:**
40
+ - "security", "authentication", "JWT" → security-specialist
41
+ - "database", "SQL", "schema" → database-engineer (if exists)
42
+ - "deploy", "CI/CD", "infrastructure" → devops-engineer
43
+ - "frontend", "React", "UI" → react-frontend-engineer
44
+
45
+ **Loop 2:** reviewer, tester, security-auditor
46
+
47
+ ### Content Creation
48
+ **Base Loop 3:** copywriter, content-strategist
49
+ **Add if keywords:**
50
+ - "SEO", "search", "keywords" → seo-specialist
51
+ - "technical", "documentation" → technical-writer (if exists)
52
+
53
+ **Loop 2:** editor, brand-reviewer, compliance-checker
54
+
55
+ ### Research
56
+ **Base Loop 3:** researcher, data-analyst
57
+ **Add if keywords:**
58
+ - "statistics", "data analysis" → statistician (if exists)
59
+ - "domain-specific" → domain-expert
60
+
61
+ **Loop 2:** fact-checker, methodology-reviewer, statistician
62
+
63
+ ### Design
64
+ **Base Loop 3:** ui-designer, ux-researcher
65
+ **Add if keywords:**
66
+ - "visual", "branding" → visual-designer
67
+ - "accessibility" → accessibility-advocate
68
+
69
+ **Loop 2:** accessibility-advocate, design-critic, user-tester
70
+
71
+ ### Infrastructure
72
+ **Base Loop 3:** devops-engineer, terraform-engineer
73
+ **Add if keywords:**
74
+ - "Kubernetes", "k8s", "container" → kubernetes-architect
75
+ - "network", "security" → network-engineer (if exists)
76
+
77
+ **Loop 2:** security-auditor, cost-optimizer, compliance-checker
78
+
79
+ ### Data Engineering
80
+ **Base Loop 3:** data-engineer, pipeline-builder
81
+ **Add if keywords:**
82
+ - "ETL", "transformation" → etl-specialist
83
+ - "streaming", "real-time" → streaming-specialist (if exists)
84
+
85
+ **Loop 2:** data-quality-validator, schema-reviewer, performance-tester
86
+
87
+ ## Integration
88
+
89
+ Used by:
90
+ - `.claude/agents/cfn-v3-coordinator.md` - Agent selection
@@ -0,0 +1,96 @@
1
+ #!/usr/bin/env bash
2
+ # Dynamic Agent Selection with JSON Registry
3
+
4
+ set -euo pipefail
5
+
6
+ # Paths
7
+ REGISTRY_PATH=".claude/skills/agent-discovery/agents-registry.json"
8
+ LOG_PATH="/tmp/agent_selection_$(date +%s).log"
9
+
10
+ # Validate inputs
11
+ if [[ $# -lt 2 ]]; then
12
+ echo "Usage: $0 --task-type TYPE --description 'task description'" >&2
13
+ exit 1
14
+ fi
15
+
16
+ # Parse arguments
17
+ while [[ $# -gt 0 ]]; do
18
+ case "$1" in
19
+ --task-type) TASK_TYPE="$2"; shift 2 ;;
20
+ --description) DESCRIPTION="$2"; shift 2 ;;
21
+ *) echo "Unknown parameter: $1" >&2; exit 1 ;;
22
+ esac
23
+ done
24
+
25
+ # Validate registry
26
+ if [[ ! -f "$REGISTRY_PATH" ]]; then
27
+ echo "Error: Agent registry not found at $REGISTRY_PATH. Run agent discovery first." >&2
28
+ exit 1
29
+ fi
30
+
31
+ # Score agents function with simple matching
32
+ score_agents() {
33
+ local registry_path="$1"
34
+ local description="$2"
35
+ local task_type="$3"
36
+
37
+ # Simple JQ query for agent matching
38
+ jq -r --arg desc "$description" --arg task_type "$task_type" '
39
+ [
40
+ .agents[]
41
+ | select(.type == $task_type)
42
+ | {
43
+ name: .name,
44
+ score: (
45
+ # Base type match score
46
+ 10 +
47
+ # Keyword matching
48
+ (
49
+ [.keywords[]]
50
+ | map(select(
51
+ ($desc | ascii_downcase | contains(. | ascii_downcase))
52
+ ))
53
+ | length * 3
54
+ )
55
+ )
56
+ }
57
+ ]
58
+ | sort_by(.score)
59
+ | reverse
60
+ | .[0:3]
61
+ | map(.name)
62
+ ' "$registry_path"
63
+ }
64
+
65
+ # Score agents
66
+ LOOP3_AGENTS=$(score_agents "$REGISTRY_PATH" "$DESCRIPTION" "specialist")
67
+ LOOP2_AGENTS=$(score_agents "$REGISTRY_PATH" "$DESCRIPTION" "strategic")
68
+
69
+ # Default fallback
70
+ if [[ -z "$LOOP3_AGENTS" || "$LOOP3_AGENTS" == "[]" ]]; then
71
+ LOOP3_AGENTS='["product-owner"]'
72
+ fi
73
+
74
+ if [[ -z "$LOOP2_AGENTS" || "$LOOP2_AGENTS" == "[]" ]]; then
75
+ LOOP2_AGENTS='["product-owner"]'
76
+ fi
77
+
78
+ # Log the results
79
+ {
80
+ echo "Task Description: $DESCRIPTION"
81
+ echo "Loop 3 Agents: $LOOP3_AGENTS"
82
+ echo "Loop 2 Agents: $LOOP2_AGENTS"
83
+ } >> "$LOG_PATH"
84
+
85
+ # Output JSON result with detailed reasoning
86
+ jq -n \
87
+ --argjson loop3 "$LOOP3_AGENTS" \
88
+ --argjson loop2 "$LOOP2_AGENTS" \
89
+ --arg desc "$DESCRIPTION" \
90
+ '{
91
+ "loop3": $loop3,
92
+ "loop2": $loop2,
93
+ "loop4": "product-owner",
94
+ "reasoning": "Selected agents by scoring against task description: \($desc)",
95
+ "log_path": "'"$LOG_PATH"'"
96
+ }'
@@ -135,7 +135,7 @@ Code Quality Focus → + code-analyzer
135
135
  **Complex (6-7 agents):**
136
136
  ```bash
137
137
  # Enterprise features, multi-component systems
138
- --agents=analyst,system-architect,backend-dev,frontend-dev,security-specialist,tester,reviewer
138
+ --agents=analyst,system-architect,backend-dev,react-frontend-engineer,security-specialist,tester,reviewer
139
139
  --agents=system-architect,architect,backend-dev,security-specialist,devops-engineer,production-validator
140
140
  ```
141
141
 
@@ -0,0 +1,36 @@
1
+ # Agent Swap Mechanism Skill
2
+
3
+ ## Purpose
4
+ Recommend agent replacement strategies when performance issues are detected in CFN Loops.
5
+
6
+ ## Replacement Rules
7
+ 1. Identify lowest-performing agent
8
+ 2. Match replacement based on feedback themes
9
+ - Security feedback → security-specialist
10
+ - Performance feedback → performance-engineer
11
+ - Testing feedback → tester
12
+ - Architecture feedback → architect
13
+
14
+ ## Replacement Strategies
15
+ - Complete agent replacement
16
+ - Adding specialist alongside existing agents
17
+ - Prioritize maintaining existing team composition
18
+
19
+ ## Usage
20
+ ```bash
21
+ ./recommend-swap.sh \
22
+ --loop3-agents "backend-dev,coder" \
23
+ --loop3-confidences "0.82,0.70" \
24
+ --feedback-themes "security,error-handling"
25
+ ```
26
+
27
+ ## Output Details
28
+ - Agent to remove
29
+ - Reasoning for removal
30
+ - Recommended replacement agent
31
+ - Updated agent configuration
32
+
33
+ ## Implementation Considerations
34
+ - Stateless design
35
+ - Minimal side effects
36
+ - Clear, reproducible recommendations
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Parse arguments
5
+ while [[ $# -gt 0 ]]; do
6
+ case "$1" in
7
+ --loop3-agents) IFS=',' read -ra AGENTS <<< "$2"; shift 2 ;;
8
+ --loop3-confidences) IFS=',' read -ra CONFIDENCES <<< "$2"; shift 2 ;;
9
+ --feedback-themes) IFS=',' read -ra THEMES <<< "$2"; shift 2 ;;
10
+ *) echo "Unknown parameter: $1"; exit 1 ;;
11
+ esac
12
+ done
13
+
14
+ # Agent Swap Rules
15
+ get_specialist_for_theme() {
16
+ local theme="$1"
17
+ case "$theme" in
18
+ *security*) echo "security-specialist" ;;
19
+ *performance*) echo "performance-engineer" ;;
20
+ *test*|*coverage*) echo "testing-expert" ;;
21
+ *architecture*) echo "architecture-consultant" ;;
22
+ *) echo "generic-specialist" ;;
23
+ esac
24
+ }
25
+
26
+ # Find lowest confidence agent
27
+ lowest_confidence_index=0
28
+ lowest_confidence="${CONFIDENCES[0]}"
29
+
30
+ for i in "${!CONFIDENCES[@]}"; do
31
+ if (( $(echo "${CONFIDENCES[i]} < $lowest_confidence" | bc -l) )); then
32
+ lowest_confidence="${CONFIDENCES[i]}"
33
+ lowest_confidence_index=$i
34
+ fi
35
+ done
36
+
37
+ # Recommend replacement specialist
38
+ recommended_specialist=""
39
+ for theme in "${THEMES[@]}"; do
40
+ specialist=$(get_specialist_for_theme "$theme")
41
+ if [[ -n "$specialist" ]]; then
42
+ recommended_specialist="$specialist"
43
+ break
44
+ fi
45
+ done
46
+
47
+ # Generate output
48
+ jq -n \
49
+ --arg remove_agent "${AGENTS[lowest_confidence_index]}" \
50
+ --arg add_agent "$recommended_specialist" \
51
+ --argjson agents "$(printf '%s\n' "${AGENTS[@]}" | jq -R . | jq -s '.')" \
52
+ --arg lowest_confidence "$lowest_confidence" \
53
+ --argjson themes "$(printf '%s\n' "${THEMES[@]}" | jq -R . | jq -s '.')" \
54
+ '{
55
+ "remove_agent": $remove_agent,
56
+ "remove_reason": "Lowest confidence (\($lowest_confidence)), contributing to plateau",
57
+ "add_agent": $add_agent,
58
+ "add_reason": "Match to feedback themes: \(join(", ", $themes))",
59
+ "new_loop3_agents": [$agents | map(select(. != $remove_agent)), $add_agent]
60
+ }'
@@ -0,0 +1,54 @@
1
+ #!/bin/bash
2
+ # API Endpoint Validation Script
3
+ # Usage: ./test-endpoints.sh <base-url> <endpoint> [request-count]
4
+
5
+ BASE_URL="${1:-http://localhost:8080}"
6
+ ENDPOINT="$2"
7
+ COUNT="${3:-10}"
8
+
9
+ if [ -z "$ENDPOINT" ]; then
10
+ echo "Usage: $0 <base-url> <endpoint> [request-count]"
11
+ exit 1
12
+ fi
13
+
14
+ echo "Testing: $BASE_URL$ENDPOINT"
15
+ echo "Requests: $COUNT"
16
+ echo ""
17
+
18
+ SUCCESS=0
19
+ FAILED=0
20
+ TOTAL_RESPONSE_TIME=0
21
+
22
+ for i in $(seq 1 "$COUNT"); do
23
+ START_TIME=$(date +%s.%N)
24
+ RESPONSE=$(curl -s -w "\n%{http_code}\n%{time_total}" "$BASE_URL$ENDPOINT")
25
+
26
+ HTTP_STATUS=$(echo "$RESPONSE" | tail -1)
27
+ RESPONSE_TIME=$(echo "$RESPONSE" | tail -2 | head -1)
28
+ BODY=$(echo "$RESPONSE" | head -n -2)
29
+
30
+ if [ "$HTTP_STATUS" = "200" ]; then
31
+ echo "✅ Request $i: 200 OK (Response Time: ${RESPONSE_TIME}s)"
32
+ ((SUCCESS++))
33
+ else
34
+ echo "❌ Request $i: $HTTP_STATUS"
35
+ echo " Response: $BODY"
36
+ ((FAILED++))
37
+ fi
38
+
39
+ TOTAL_RESPONSE_TIME=$(echo "$TOTAL_RESPONSE_TIME + $RESPONSE_TIME" | bc)
40
+
41
+ [ $i -lt "$COUNT" ] && sleep 2
42
+ done
43
+
44
+ AVG_RESPONSE_TIME=$(echo "scale=3; $TOTAL_RESPONSE_TIME / $COUNT" | bc)
45
+
46
+ echo ""
47
+ echo "Results:"
48
+ echo "- Requests: $COUNT total"
49
+ echo "- Succeeded: $SUCCESS"
50
+ echo "- Failed: $FAILED"
51
+ echo "- Average Response Time: ${AVG_RESPONSE_TIME}s"
52
+
53
+ # Strict success criteria
54
+ [ $FAILED -eq 0 ] && exit 0 || exit 1