claude-flow-novice 2.9.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/.claude/agents/cfn-dev-team/CLAUDE.md +1086 -0
  2. package/.claude/agents/cfn-dev-team/README.md +116 -0
  3. package/.claude/agents/cfn-dev-team/architecture/api-designer-persona.md +149 -0
  4. package/.claude/agents/cfn-dev-team/architecture/base-template-generator.md +196 -0
  5. package/.claude/agents/cfn-dev-team/architecture/goal-planner.md +183 -0
  6. package/.claude/agents/cfn-dev-team/architecture/planner.md +182 -0
  7. package/.claude/agents/cfn-dev-team/architecture/system-architect.md +162 -0
  8. package/.claude/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +540 -0
  9. package/.claude/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +20 -14
  10. package/.claude/agents/cfn-dev-team/coordinators/consensus-builder.md +167 -0
  11. package/.claude/agents/cfn-dev-team/dev-ops/devops-engineer.md +148 -0
  12. package/.claude/agents/cfn-dev-team/dev-ops/github-commit-agent.md +118 -0
  13. package/.claude/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +540 -0
  14. package/.claude/agents/cfn-dev-team/developers/backend-dev.md +20 -0
  15. package/.claude/agents/cfn-dev-team/developers/data/data-engineer.md +585 -0
  16. package/.claude/agents/cfn-dev-team/developers/database/database-architect.md +276 -0
  17. package/.claude/agents/cfn-dev-team/developers/dev-backend-api.md +147 -0
  18. package/.claude/agents/cfn-dev-team/developers/frontend/mobile-dev.md +218 -0
  19. package/.claude/agents/cfn-dev-team/developers/{react-frontend-engineer.md → frontend/react-frontend-engineer.md} +53 -5
  20. package/.claude/agents/cfn-dev-team/developers/frontend/spec-mobile-react-native.md +199 -0
  21. package/.claude/agents/cfn-dev-team/developers/graphql-specialist.md +615 -0
  22. package/.claude/agents/cfn-dev-team/developers/rust-developer.md +174 -0
  23. package/.claude/agents/cfn-dev-team/documentation/README-VALIDATION.md +243 -0
  24. package/.claude/agents/cfn-dev-team/documentation/agent-type-guidelines.md +465 -0
  25. package/.claude/agents/cfn-dev-team/documentation/api-docs.md +103 -0
  26. package/.claude/agents/cfn-dev-team/documentation/docs-api-openapi.md +98 -0
  27. package/.claude/agents/cfn-dev-team/documentation/pseudocode.md +159 -0
  28. package/.claude/agents/cfn-dev-team/documentation/specification.md +157 -0
  29. package/.claude/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +109 -0
  30. package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/cto-agent.md +8 -6
  31. package/.claude/agents/cfn-dev-team/product-owners/power-user-persona.md +190 -0
  32. package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner.md +85 -59
  33. package/.claude/agents/cfn-dev-team/reviewers/quality/analyze-code-quality.md +141 -0
  34. package/.claude/agents/cfn-dev-team/reviewers/quality/code-analyzer.md +200 -0
  35. package/.claude/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +321 -0
  36. package/.claude/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +238 -0
  37. package/.claude/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +101 -0
  38. package/.claude/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +375 -0
  39. package/.claude/agents/cfn-dev-team/reviewers/quality/security-specialist.md +193 -0
  40. package/.claude/agents/cfn-dev-team/reviewers/reviewer.md +39 -0
  41. package/.claude/agents/cfn-dev-team/testers/interaction-tester.md +31 -0
  42. package/.claude/agents/cfn-dev-team/testers/load-testing-specialist.md +469 -0
  43. package/.claude/agents/cfn-dev-team/testers/playwright-tester.md +24 -0
  44. package/.claude/agents/cfn-dev-team/testers/tester.md +20 -0
  45. package/.claude/agents/cfn-dev-team/utility/agent-builder.md +151 -0
  46. package/.claude/agents/cfn-dev-team/utility/analyst.md +178 -0
  47. package/.claude/agents/cfn-dev-team/utility/claude-code-expert.md +1043 -0
  48. package/.claude/agents/cfn-dev-team/utility/code-booster.md +139 -0
  49. package/.claude/agents/cfn-dev-team/utility/context-curator.md +99 -0
  50. package/.claude/agents/cfn-dev-team/{developers → utility}/researcher.md +6 -4
  51. package/.claude/commands/cfn/CFN_LOOP_FRONTEND.md +741 -0
  52. package/.claude/commands/cfn/CFN_LOOP_TASK_MODE.md +353 -0
  53. package/.claude/commands/cfn/cfn-loop-frontend.md +555 -0
  54. package/.claude/commands/cfn/cfn-loop.md +168 -7
  55. package/{CFN-CLAUDE.md → .claude/root-claude-distribute/CFN-CLAUDE.md} +23 -3
  56. package/.claude/skills/cfn-ace-system/SKILL.md +364 -0
  57. package/.claude/skills/cfn-ace-system/add-bullet.sh +145 -0
  58. package/.claude/skills/cfn-ace-system/analyze-anti-pattern-effectiveness.sh +56 -0
  59. package/.claude/skills/cfn-ace-system/classify-task.sh +18 -0
  60. package/.claude/skills/cfn-ace-system/export-ace-metrics.sh +48 -0
  61. package/.claude/skills/cfn-ace-system/extract-tags.sh +385 -0
  62. package/.claude/skills/cfn-ace-system/format-negative-context.sh +180 -0
  63. package/.claude/skills/cfn-ace-system/init-indexes.sql +160 -0
  64. package/.claude/skills/cfn-ace-system/invoke-context-curate.sh +192 -0
  65. package/.claude/skills/cfn-ace-system/invoke-context-inject.sh +361 -0
  66. package/.claude/skills/cfn-ace-system/invoke-context-query.sh +139 -0
  67. package/.claude/skills/cfn-ace-system/invoke-context-reflect.sh +343 -0
  68. package/.claude/skills/cfn-ace-system/invoke-context-stats.sh +227 -0
  69. package/.claude/skills/cfn-ace-system/log-merge.sh +67 -0
  70. package/.claude/skills/cfn-ace-system/monitor-injection-performance.sh +138 -0
  71. package/.claude/skills/cfn-ace-system/optimize-injection-pipeline.sh +169 -0
  72. package/.claude/skills/cfn-ace-system/query-anti-patterns.sh +276 -0
  73. package/.claude/skills/cfn-ace-system/query-contexts.sh +150 -0
  74. package/.claude/skills/cfn-ace-system/query-reflections.sh +35 -0
  75. package/.claude/skills/cfn-ace-system/schema/001-create-context-reflections.sql +237 -0
  76. package/.claude/skills/cfn-ace-system/schema/README.md +723 -0
  77. package/.claude/skills/cfn-ace-system/schema/SCHEMA_DESIGN_SUMMARY.md +564 -0
  78. package/.claude/skills/cfn-ace-system/schema/populate-test-data-simple.sh +62 -0
  79. package/.claude/skills/cfn-ace-system/schema/populate-test-data.sh +247 -0
  80. package/.claude/skills/cfn-ace-system/schema/run-migration.sh +231 -0
  81. package/.claude/skills/cfn-ace-system/schema/validate-schema.sql +280 -0
  82. package/.claude/skills/cfn-ace-system/score-relevance-adapter.sh +138 -0
  83. package/.claude/skills/cfn-ace-system/score-relevance.sh +253 -0
  84. package/.claude/skills/cfn-ace-system/sprint-7-lessons.json +46 -0
  85. package/.claude/skills/cfn-ace-system/store-reflection.sh +46 -0
  86. package/.claude/skills/cfn-ace-system/test-ace-skill.sh +312 -0
  87. package/.claude/skills/cfn-ace-system/track-ab-test.sh +42 -0
  88. package/.claude/skills/cfn-ace-system/update-reflection.sh +41 -0
  89. package/.claude/skills/cfn-agent-discovery/SKILL.md +40 -0
  90. package/.claude/skills/cfn-agent-discovery/agents-registry-clean.json +0 -0
  91. package/.claude/skills/cfn-agent-discovery/agents-registry-fixed.json +19 -0
  92. package/.claude/skills/cfn-agent-discovery/agents-registry.json +718 -0
  93. package/.claude/skills/cfn-agent-discovery/discover-agents.py +184 -0
  94. package/.claude/skills/cfn-agent-discovery/discover-agents.sh +87 -0
  95. package/.claude/skills/cfn-agent-discovery/invoke-registry.sh +11 -0
  96. package/.claude/skills/cfn-agent-discovery/temp_script.py +0 -0
  97. package/.claude/skills/cfn-agent-execution/execute-agent.sh +126 -0
  98. package/.claude/skills/cfn-agent-output-processing/SKILL.md +359 -0
  99. package/.claude/skills/cfn-agent-selector/SKILL.md +90 -0
  100. package/.claude/skills/cfn-agent-selector/select-agents.sh +112 -0
  101. package/.claude/skills/cfn-agent-spawning/SKILL.md +135 -0
  102. package/.claude/skills/cfn-agent-spawning/agent-selection-guide.md +814 -0
  103. package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +30 -0
  104. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +263 -0
  105. package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +613 -0
  106. package/.claude/skills/cfn-analytics/description-refinement-guide.md +164 -0
  107. package/.claude/skills/cfn-analytics/log-skill-invocation.js +122 -0
  108. package/.claude/skills/cfn-analytics/run-production-criteria-tests.sh +126 -0
  109. package/.claude/skills/cfn-analytics/skill-analytics-dashboard.js +113 -0
  110. package/.claude/skills/cfn-analytics/skill-invocation-hook.sh +28 -0
  111. package/.claude/skills/cfn-analytics/skill-invocations.sql +58 -0
  112. package/.claude/skills/cfn-analytics/test-corpus.json +32 -0
  113. package/.claude/skills/cfn-analytics/test-data-generator.js +115 -0
  114. package/.claude/skills/cfn-analytics/test-manual-override-rate.js +285 -0
  115. package/.claude/skills/cfn-analytics/validate-skill-selection.js +188 -0
  116. package/.claude/skills/cfn-config-management/SKILL.md +34 -0
  117. package/.claude/skills/cfn-config-management/check-dependencies.sh +56 -0
  118. package/.claude/skills/cfn-config-management/config.json +32 -0
  119. package/.claude/skills/cfn-config-management/manage-config.sh +113 -0
  120. package/.claude/skills/cfn-event-bus/SKILL.md +412 -0
  121. package/.claude/skills/cfn-event-bus/config.json +111 -0
  122. package/.claude/skills/cfn-event-bus/eventbus-wrapper.cjs +69 -0
  123. package/.claude/skills/cfn-event-bus/invoke-event-publish.sh +147 -0
  124. package/.claude/skills/cfn-event-bus/invoke-event-subscribe.sh +171 -0
  125. package/.claude/skills/cfn-event-bus/invoke-lifecycle-track.sh +201 -0
  126. package/.claude/skills/cfn-event-bus/test-event-bus.sh +280 -0
  127. package/.claude/skills/cfn-fleet-manager/SKILL.md +412 -0
  128. package/.claude/skills/cfn-fleet-manager/config.json +60 -0
  129. package/.claude/skills/cfn-fleet-manager/invoke-fleet-allocate.sh +182 -0
  130. package/.claude/skills/cfn-fleet-manager/invoke-fleet-balance.sh +239 -0
  131. package/.claude/skills/cfn-fleet-manager/invoke-fleet-metrics.sh +193 -0
  132. package/.claude/skills/cfn-fleet-manager/invoke-fleet-register.sh +124 -0
  133. package/.claude/skills/cfn-fleet-manager/test-fleet-manager.sh +345 -0
  134. package/.claude/skills/cfn-hook-pipeline/SKILL.md +148 -0
  135. package/.claude/skills/cfn-hook-pipeline/auto-resolve.sh +66 -0
  136. package/.claude/skills/cfn-hook-pipeline/check-dependencies.sh +40 -0
  137. package/.claude/skills/cfn-hook-pipeline/feedback-resolver.sh +452 -0
  138. package/.claude/skills/cfn-hook-pipeline/post-edit-handler.sh +154 -0
  139. package/.claude/skills/cfn-hook-pipeline/security-scan.json +60 -0
  140. package/.claude/skills/cfn-hook-pipeline/security-scanner.sh +121 -0
  141. package/.claude/skills/cfn-hook-pipeline/test-root-warning-resolution.sh +148 -0
  142. package/.claude/skills/cfn-hybrid-routing/SKILL.md +46 -0
  143. package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +52 -0
  144. package/.claude/skills/cfn-hybrid-routing/config.json +26 -0
  145. package/.claude/skills/cfn-hybrid-routing/spawn-worker.sh +44 -0
  146. package/.claude/skills/cfn-loop-orchestration/SKILL.md +299 -0
  147. package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
  148. package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
  149. package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +142 -0
  150. package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +359 -0
  151. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
  152. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
  153. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
  154. package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +271 -0
  155. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
  156. package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
  157. package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
  158. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +884 -0
  159. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +840 -0
  160. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +99 -0
  161. package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
  162. package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
  163. package/.claude/skills/cfn-loop-validation/SKILL.md +353 -0
  164. package/.claude/skills/cfn-loop-validation/check-dependencies.sh +31 -0
  165. package/.claude/skills/cfn-loop-validation/config.json +161 -0
  166. package/.claude/skills/cfn-loop-validation/consensus-calculator.js +477 -0
  167. package/.claude/skills/cfn-loop-validation/evidence-chain.sql +163 -0
  168. package/.claude/skills/cfn-loop-validation/examples/README.md +453 -0
  169. package/.claude/skills/cfn-loop-validation/examples/coordinator-full-cfn-loop.sh +234 -0
  170. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop2-consensus.sh +132 -0
  171. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop3-gate.sh +115 -0
  172. package/.claude/skills/cfn-loop-validation/examples/coordinator-redis-integration.sh +186 -0
  173. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -0
  174. package/.claude/skills/cfn-loop-validation/validate-iteration.sh +134 -0
  175. package/.claude/skills/cfn-process-lifecycle/SKILL.md +39 -0
  176. package/.claude/skills/cfn-process-lifecycle/check-dependencies.sh +58 -0
  177. package/.claude/skills/cfn-process-lifecycle/config.json +39 -0
  178. package/.claude/skills/cfn-process-lifecycle/process-manager.sh +144 -0
  179. package/.claude/skills/cfn-product-owner-decision/SKILL.md +332 -0
  180. package/.claude/skills/cfn-product-owner-decision/execute-decision.sh +176 -0
  181. package/.claude/skills/cfn-product-owner-decision/parse-decision.sh +66 -0
  182. package/.claude/skills/cfn-product-owner-decision/validate-deliverables.sh +82 -0
  183. package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +280 -0
  184. package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +209 -0
  185. package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +57 -0
  186. package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +267 -0
  187. package/.claude/skills/cfn-redis-coordination/LOGGING.md +260 -0
  188. package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +25 -0
  189. package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +164 -0
  190. package/.claude/skills/cfn-redis-coordination/SKILL.md +720 -0
  191. package/.claude/skills/cfn-redis-coordination/agent-log.sh +124 -0
  192. package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +75 -0
  193. package/.claude/skills/cfn-redis-coordination/analyze-task-complexity.sh +277 -0
  194. package/.claude/skills/cfn-redis-coordination/cancel-swarm.sh +221 -0
  195. package/.claude/skills/cfn-redis-coordination/cfn-loop-exec.sh +468 -0
  196. package/.claude/skills/cfn-redis-coordination/cfn-loop-relaunch.sh +29 -0
  197. package/.claude/skills/cfn-redis-coordination/check-dependencies.sh +32 -0
  198. package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +179 -0
  199. package/.claude/skills/cfn-redis-coordination/collect-results.sh +75 -0
  200. package/.claude/skills/cfn-redis-coordination/complete-swarm.sh +75 -0
  201. package/.claude/skills/cfn-redis-coordination/config.json +61 -0
  202. package/.claude/skills/cfn-redis-coordination/data/cfn-loop.db +0 -0
  203. package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +82 -0
  204. package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +274 -0
  205. package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +276 -0
  206. package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +129 -0
  207. package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +320 -0
  208. package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +249 -0
  209. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +148 -0
  210. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +163 -0
  211. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +138 -0
  212. package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +81 -0
  213. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +45 -0
  214. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +68 -0
  215. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +56 -0
  216. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +81 -0
  217. package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +57 -0
  218. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +187 -0
  219. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +160 -0
  220. package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +97 -0
  221. package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +97 -0
  222. package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +59 -0
  223. package/.claude/skills/cfn-redis-coordination/examples/README.md +73 -0
  224. package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +352 -0
  225. package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +127 -0
  226. package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +171 -0
  227. package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +227 -0
  228. package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +239 -0
  229. package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +258 -0
  230. package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +177 -0
  231. package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +137 -0
  232. package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +106 -0
  233. package/.claude/skills/cfn-redis-coordination/heartbeat.sh +126 -0
  234. package/.claude/skills/cfn-redis-coordination/init-swarm.sh +148 -0
  235. package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +220 -0
  236. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +283 -0
  237. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
  238. package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +147 -0
  239. package/.claude/skills/cfn-redis-coordination/log-event.sh +109 -0
  240. package/.claude/skills/cfn-redis-coordination/metrics-export.sh +674 -0
  241. package/.claude/skills/cfn-redis-coordination/metrics-schema.json +66 -0
  242. package/.claude/skills/cfn-redis-coordination/metrics-storage.md +31 -0
  243. package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +391 -0
  244. package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +101 -0
  245. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
  246. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +31 -0
  247. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
  248. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
  249. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
  250. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
  251. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
  252. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
  253. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  254. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
  255. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
  256. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
  257. package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +75 -0
  258. package/.claude/skills/cfn-redis-coordination/priority_wake.py +134 -0
  259. package/.claude/skills/cfn-redis-coordination/query-dlq.sh +162 -0
  260. package/.claude/skills/cfn-redis-coordination/query-logs.sh +103 -0
  261. package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +619 -0
  262. package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +58 -0
  263. package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +371 -0
  264. package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +252 -0
  265. package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +165 -0
  266. package/.claude/skills/cfn-redis-coordination/signal.sh +38 -0
  267. package/.claude/skills/cfn-redis-coordination/store-context.sh +86 -0
  268. package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +123 -0
  269. package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +354 -0
  270. package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +513 -0
  271. package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +15 -0
  272. package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +102 -0
  273. package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +99 -0
  274. package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +170 -0
  275. package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +82 -0
  276. package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +92 -0
  277. package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +4 -0
  278. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +418 -0
  279. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +124 -0
  280. package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +166 -0
  281. package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +54 -0
  282. package/.claude/skills/cfn-redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
  283. package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +49 -0
  284. package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +76 -0
  285. package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +492 -0
  286. package/.claude/skills/cfn-sqlite-memory/IMPLEMENTATION_REPORT.md +393 -0
  287. package/.claude/skills/cfn-sqlite-memory/QUICK_REFERENCE.md +204 -0
  288. package/.claude/skills/cfn-sqlite-memory/SKILL.md +415 -0
  289. package/.claude/skills/cfn-sqlite-memory/acl-queries.sql +452 -0
  290. package/.claude/skills/cfn-sqlite-memory/check-dependencies.sh +36 -0
  291. package/.claude/skills/cfn-sqlite-memory/config.json +45 -0
  292. package/.claude/skills/cfn-sqlite-memory/memory-cli.sh +88 -0
  293. package/.claude/skills/cfn-sqlite-memory/test-state-persistence.js +187 -0
  294. package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +274 -0
  295. package/.claude/skills/cfn-test-execution/SKILL.md +128 -0
  296. package/.claude/skills/cfn-test-execution/check-dependencies.sh +36 -0
  297. package/.claude/skills/cfn-test-execution/test-cache-reader.sh +134 -0
  298. package/.claude/skills/cfn-test-execution/test-concurrent-conflicts.sh +115 -0
  299. package/.claude/skills/cfn-test-execution/test-coordinator-pattern.sh +109 -0
  300. package/.claude/skills/cfn-transparency-middleware/Cargo.toml +18 -0
  301. package/.claude/skills/cfn-transparency-middleware/SECURITY.md +41 -0
  302. package/.claude/skills/cfn-transparency-middleware/SKILL.md +91 -0
  303. package/.claude/skills/cfn-transparency-middleware/TEST_RESULTS.md +174 -0
  304. package/.claude/skills/cfn-transparency-middleware/config.json +31 -0
  305. package/.claude/skills/cfn-transparency-middleware/examples/basic-usage.ts +39 -0
  306. package/.claude/skills/cfn-transparency-middleware/examples/batch-processing.ts +52 -0
  307. package/.claude/skills/cfn-transparency-middleware/examples/custom-filtering.ts +61 -0
  308. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +98 -0
  309. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-init.sh +224 -0
  310. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-level.sh +333 -0
  311. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +345 -0
  312. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +140 -0
  313. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +235 -0
  314. package/.claude/skills/cfn-transparency-middleware/memory_query.rs +85 -0
  315. package/.claude/skills/cfn-transparency-middleware/memory_repository.rs +140 -0
  316. package/.claude/skills/cfn-transparency-middleware/memory_schema.rs +64 -0
  317. package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +29 -0
  318. package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +79 -0
  319. package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +406 -0
  320. package/.claude/skills/cfn-transparency-middleware/test-integration.sh +162 -0
  321. package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +368 -0
  322. package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +126 -0
  323. package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +93 -0
  324. package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +132 -0
  325. package/.claude/skills/cfn-webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
  326. package/.claude/skills/cfn-webapp-testing/SKILL.md +877 -0
  327. package/.claude/skills/cfn-webapp-testing/capture-screenshot.sh +238 -0
  328. package/.claude/skills/cfn-webapp-testing/cfn-loop-integration.sh +265 -0
  329. package/.claude/skills/cfn-webapp-testing/compare-screenshots.sh +199 -0
  330. package/.claude/skills/cfn-webapp-testing/init-storage.sh +150 -0
  331. package/.claude/skills/cfn-webapp-testing/set-baseline.sh +196 -0
  332. package/.claude/skills/cfn-webapp-testing/test-webapp-testing.sh +233 -0
  333. package/README.md +51 -2
  334. package/dist/ace/ace-reflector.js +109 -10
  335. package/dist/ace/ace-reflector.js.map +1 -1
  336. package/dist/agents/agent-loader.js +165 -146
  337. package/dist/agents/agent-loader.js.map +1 -1
  338. package/dist/cli/agent-executor.js +1 -1
  339. package/dist/cli/agent-executor.js.map +1 -1
  340. package/dist/cli/config-manager.js +109 -91
  341. package/dist/cli/config-manager.js.map +1 -1
  342. package/package.json +43 -7
  343. package/readme/README.md +15 -4
  344. package/scripts/init-project.js +84 -29
  345. package/scripts/run-marketing-tests.sh +43 -0
  346. package/scripts/update_paths.sh +47 -0
  347. package/tools/install-lizard.sh +37 -0
  348. package/tools/simple-complexity.sh +44 -0
  349. package/.claude/agents/cfn-dev-team/developers/coder.md +0 -270
  350. package/.claude/agents/cfn-dev-team/developers/state-architect.md +0 -127
  351. package/.claude/agents/cfn-dev-team/reviewers/code-quality-validator.md +0 -128
  352. /package/.claude/agents/cfn-dev-team/developers/{ui-designer.md → frontend/ui-designer.md} +0 -0
  353. /package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner-agent.md +0 -0
@@ -0,0 +1,371 @@
1
+ #!/bin/bash
2
+
3
+ # select-specialist-agent.sh
4
+ # Adaptive agent specialization based on feedback type
5
+ # Part of CFN Loop Robustness & Validation Enhancement
6
+
7
+ set -euo pipefail
8
+
9
+ # Script configuration
10
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
+ SPECIALIST_REGISTRY="$SCRIPT_DIR/specialist-registry.json"
12
+
13
+ # Default agent when no specialist match found
14
+ DEFAULT_AGENT="general-dev"
15
+
16
+ # Colors for output
17
+ RED='\033[0;31m'
18
+ GREEN='\033[0;32m'
19
+ YELLOW='\033[1;33m'
20
+ BLUE='\033[0;34m'
21
+ NC='\033[0m' # No Color
22
+
23
+ # Logging function
24
+ log() {
25
+ echo -e "${BLUE}[$(date +'%Y-%m-%d %H:%M:%S')] SPECIALIST-SELECTOR:${NC} $1"
26
+ }
27
+
28
+ error() {
29
+ echo -e "${RED}[ERROR]${NC} $1" >&2
30
+ }
31
+
32
+ success() {
33
+ echo -e "${GREEN}[SUCCESS]${NC} $1"
34
+ }
35
+
36
+ warning() {
37
+ echo -e "${YELLOW}[WARNING]${NC} $1"
38
+ }
39
+
40
+ # Show usage information
41
+ show_usage() {
42
+ cat << EOF
43
+ Adaptive Agent Specialist Selector
44
+
45
+ USAGE:
46
+ $0 --feedback-type <TYPE> [OPTIONS]
47
+ $0 --feedback-text <TEXT> [OPTIONS]
48
+
49
+ REQUIRED:
50
+ --feedback-type <TYPE> Direct feedback category (CRITICAL|WARNING|SUGGESTION|PERFORMANCE|SECURITY|ARCHITECTURE|TESTING|DOCUMENTATION)
51
+ --feedback-text <TEXT> Analyze feedback text to categorize
52
+
53
+ OPTIONS:
54
+ --task-id <ID> Task identifier for logging
55
+ --iteration <N> Iteration number (default: 1)
56
+ --confidence <SCORE> Confidence threshold for auto-selection (default: 0.7)
57
+ --default-agent <AGENT> Fallback agent when no match (default: general-dev)
58
+ --dry-run Show selection without spawning
59
+ --verbose Detailed logging output
60
+ --help Show this help message
61
+
62
+ EXAMPLES:
63
+ # Direct feedback type selection
64
+ $0 --feedback-type SECURITY --task-id "task-123" --iteration 2
65
+
66
+ # Analyze feedback text automatically
67
+ $0 --feedback-text "Memory leak detected in authentication module" --task-id "task-123"
68
+
69
+ # Dry run to test selection logic
70
+ $0 --feedback-text "Database query is slow" --dry-run --verbose
71
+
72
+ SPECIALIST CATEGORIES:
73
+ SECURITY → security-specialist
74
+ PERFORMANCE → performance-specialist
75
+ ARCHITECTURE → architecture-specialist
76
+ TESTING → testing-specialist
77
+ DOCUMENTATION → documentation-specialist
78
+ CRITICAL → security-specialist (default for critical issues)
79
+ WARNING → architecture-specialist (default for warnings)
80
+ SUGGESTION → general-dev (default for suggestions)
81
+
82
+ EOF
83
+ }
84
+
85
+ # Parse command line arguments
86
+ parse_args() {
87
+ FEEDBACK_TYPE=""
88
+ FEEDBACK_TEXT=""
89
+ TASK_ID=""
90
+ ITERATION="1"
91
+ CONFIDENCE="0.7"
92
+ DRY_RUN=false
93
+ VERBOSE=false
94
+
95
+ while [[ $# -gt 0 ]]; do
96
+ case $1 in
97
+ --feedback-type)
98
+ FEEDBACK_TYPE="$2"
99
+ shift 2
100
+ ;;
101
+ --feedback-text)
102
+ FEEDBACK_TEXT="$2"
103
+ shift 2
104
+ ;;
105
+ --task-id)
106
+ TASK_ID="$2"
107
+ shift 2
108
+ ;;
109
+ --iteration)
110
+ ITERATION="$2"
111
+ shift 2
112
+ ;;
113
+ --confidence)
114
+ CONFIDENCE="$2"
115
+ shift 2
116
+ ;;
117
+ --default-agent)
118
+ DEFAULT_AGENT="$2"
119
+ shift 2
120
+ ;;
121
+ --dry-run)
122
+ DRY_RUN=true
123
+ shift
124
+ ;;
125
+ --verbose)
126
+ VERBOSE=true
127
+ shift
128
+ ;;
129
+ --help)
130
+ show_usage
131
+ exit 0
132
+ ;;
133
+ *)
134
+ error "Unknown option: $1"
135
+ show_usage
136
+ exit 1
137
+ ;;
138
+ esac
139
+ done
140
+
141
+ # Validate required arguments
142
+ if [[ -z "$FEEDBACK_TYPE" && -z "$FEEDBACK_TEXT" ]]; then
143
+ error "Either --feedback-type or --feedback-text is required"
144
+ show_usage
145
+ exit 1
146
+ fi
147
+ }
148
+
149
+ # Analyze feedback text to determine category
150
+ analyze_feedback_text() {
151
+ local text="$1"
152
+ local feedback_type=""
153
+
154
+ if [[ "$VERBOSE" == true ]]; then
155
+ log "Analyzing feedback text: '$text'"
156
+ fi
157
+
158
+ # Security keywords
159
+ if echo "$text" | grep -qiE "(security|vulnerability|auth|password|token|injection|xss|csrf|encryption|ssl|tls|hack|breach|malicious)"; then
160
+ feedback_type="SECURITY"
161
+ # Performance keywords
162
+ elif echo "$text" | grep -qiE "(performance|slow|memory|leak|cpu|optimization|cache|bottleneck|latency|throughput|scale|efficiency)"; then
163
+ feedback_type="PERFORMANCE"
164
+ # Architecture keywords
165
+ elif echo "$text" | grep -qiE "(architecture|design|pattern|structure|modular|coupling|cohesion|scalability|maintainability|refactor|component)"; then
166
+ feedback_type="ARCHITECTURE"
167
+ # Testing keywords
168
+ elif echo "$text" | grep -qiE "(test|testing|coverage|unit|integration|e2e|tdd|assert|mock|fixture|spec|validate)"; then
169
+ feedback_type="TESTING"
170
+ # Documentation keywords
171
+ elif echo "$text" | grep -qiE "(documentation|doc|readme|guide|manual|comment|explain|clarify|instruction|tutorial)"; then
172
+ feedback_type="DOCUMENTATION"
173
+ # Critical severity indicators
174
+ elif echo "$text" | grep -qiE "(critical|urgent|broken|failed|crash|error|exception|blocker|showstopper)"; then
175
+ feedback_type="CRITICAL"
176
+ # Warning indicators
177
+ elif echo "$text" | grep -qiE "(warning|caution|risk|potential|should|recommend|consider|improve)"; then
178
+ feedback_type="WARNING"
179
+ else
180
+ feedback_type="SUGGESTION"
181
+ fi
182
+
183
+ if [[ "$VERBOSE" == true ]]; then
184
+ log "Detected feedback type: $feedback_type"
185
+ fi
186
+
187
+ echo "$feedback_type"
188
+ }
189
+
190
+ # Initialize specialist registry
191
+ initialize_registry() {
192
+ if [[ ! -f "$SPECIALIST_REGISTRY" ]]; then
193
+ log "Creating specialist registry"
194
+ mkdir -p "$(dirname "$SPECIALIST_REGISTRY")"
195
+ cat > "$SPECIALIST_REGISTRY" << 'EOF'
196
+ {
197
+ "specialists": {
198
+ "security": {
199
+ "agent": "security-specialist",
200
+ "keywords": ["security", "vulnerability", "auth", "password", "token", "injection", "xss", "csrf", "encryption", "ssl", "tls", "hack", "breach", "malicious"],
201
+ "feedback_types": ["SECURITY", "CRITICAL"],
202
+ "capabilities": ["Security analysis", "Vulnerability assessment", "Authentication/Authorization", "Encryption implementation", "Security testing"],
203
+ "confidence_threshold": 0.8
204
+ },
205
+ "performance": {
206
+ "agent": "performance-specialist",
207
+ "keywords": ["performance", "slow", "memory", "leak", "cpu", "optimization", "cache", "bottleneck", "latency", "throughput", "scale", "efficiency"],
208
+ "feedback_types": ["PERFORMANCE"],
209
+ "capabilities": ["Performance profiling", "Memory optimization", "Caching strategies", "Load testing", "Benchmarking"],
210
+ "confidence_threshold": 0.75
211
+ },
212
+ "architecture": {
213
+ "agent": "architecture-specialist",
214
+ "keywords": ["architecture", "design", "pattern", "structure", "modular", "coupling", "cohesion", "scalability", "maintainability", "refactor", "component"],
215
+ "feedback_types": ["ARCHITECTURE", "WARNING"],
216
+ "capabilities": ["System design", "Pattern implementation", "Refactoring", "Modularity", "Scalability planning"],
217
+ "confidence_threshold": 0.7
218
+ },
219
+ "testing": {
220
+ "agent": "testing-specialist",
221
+ "keywords": ["test", "testing", "coverage", "unit", "integration", "e2e", "tdd", "assert", "mock", "fixture", "spec", "validate"],
222
+ "feedback_types": ["TESTING"],
223
+ "capabilities": ["Test design", "Test automation", "Coverage analysis", "Test-driven development", "Quality assurance"],
224
+ "confidence_threshold": 0.75
225
+ },
226
+ "documentation": {
227
+ "agent": "documentation-specialist",
228
+ "keywords": ["documentation", "doc", "readme", "guide", "manual", "comment", "explain", "clarify", "instruction", "tutorial"],
229
+ "feedback_types": ["DOCUMENTATION"],
230
+ "capabilities": ["Technical writing", "API documentation", "User guides", "Code comments", "Tutorial creation"],
231
+ "confidence_threshold": 0.65
232
+ }
233
+ },
234
+ "fallback_mappings": {
235
+ "CRITICAL": "security",
236
+ "WARNING": "architecture",
237
+ "SUGGESTION": "general"
238
+ },
239
+ "version": "1.0.0",
240
+ "last_updated": "2025-06-17"
241
+ }
242
+ EOF
243
+ log "Specialist registry initialized at $SPECIALIST_REGISTRY"
244
+ fi
245
+ }
246
+
247
+ # Select specialist agent based on feedback type
248
+ select_specialist() {
249
+ local feedback_type="$1"
250
+ local specialist_type=""
251
+ local selected_agent=""
252
+ local confidence=""
253
+
254
+ # Normalize feedback type
255
+ feedback_type=$(echo "$feedback_type" | tr '[:lower:]' '[:upper:]')
256
+
257
+ if [[ "$VERBOSE" == true ]]; then
258
+ log "Selecting specialist for feedback type: $feedback_type"
259
+ fi
260
+
261
+ # Load specialist registry
262
+ if [[ -f "$SPECIALIST_REGISTRY" ]]; then
263
+ # Try direct mapping to specialist type
264
+ specialist_type=$(jq -r ".specialists | to_entries[] | select(.value.feedback_types[] | test(\"^$feedback_type$\"; \"i\")) | .key" "$SPECIALIST_REGISTRY" 2>/dev/null || echo "")
265
+
266
+ # If no direct match, try fallback mappings
267
+ if [[ -z "$specialist_type" ]]; then
268
+ specialist_type=$(jq -r ".fallback_mappings[\"$feedback_type\"] // empty" "$SPECIALIST_REGISTRY" 2>/dev/null || echo "")
269
+ fi
270
+
271
+ # Get agent and confidence if specialist type found
272
+ if [[ -n "$specialist_type" && "$specialist_type" != "null" ]]; then
273
+ selected_agent=$(jq -r ".specialists[\"$specialist_type\"].agent // empty" "$SPECIALIST_REGISTRY" 2>/dev/null || echo "")
274
+ confidence=$(jq -r ".specialists[\"$specialist_type\"].confidence_threshold // $CONFIDENCE" "$SPECIALIST_REGISTRY" 2>/dev/null || echo "$CONFIDENCE")
275
+ fi
276
+ fi
277
+
278
+ # Fallback to default agent if no specialist found
279
+ if [[ -z "$selected_agent" || "$selected_agent" == "null" ]]; then
280
+ selected_agent="$DEFAULT_AGENT"
281
+ confidence="$CONFIDENCE"
282
+ warning "No specialist found for feedback type '$feedback_type', using default agent: $DEFAULT_AGENT"
283
+ else
284
+ success "Selected specialist: $selected_agent (confidence: $confidence)"
285
+ fi
286
+
287
+ echo "$selected_agent:$confidence:$specialist_type"
288
+ }
289
+
290
+ # Spawn specialist agent
291
+ spawn_specialist() {
292
+ local agent="$1"
293
+ local task_id="$2"
294
+ local iteration="$3"
295
+ local specialist_type="$4"
296
+
297
+ if [[ "$DRY_RUN" == true ]]; then
298
+ log "[DRY RUN] Would spawn specialist agent: $agent"
299
+ log "[DRY RUN] Task ID: $task_id"
300
+ log "[DRY RUN] Iteration: $iteration"
301
+ log "[DRY RUN] Specialist type: $specialist_type"
302
+ return 0
303
+ fi
304
+
305
+ log "Spawning specialist agent: $agent"
306
+
307
+ # Spawn agent using CLI
308
+ if command -v npx >/dev/null 2>&1; then
309
+ npx claude-flow-novice spawn agent "$agent" \
310
+ --task-id "$task_id" \
311
+ --iteration "$iteration" \
312
+ --specialist-type "$specialist_type" \
313
+ --feedback-type "$FEEDBACK_TYPE" || {
314
+ error "Failed to spawn specialist agent: $agent"
315
+ return 1
316
+ }
317
+ success "Specialist agent spawned successfully: $agent"
318
+ else
319
+ error "npx command not found. Cannot spawn specialist agent."
320
+ return 1
321
+ fi
322
+ }
323
+
324
+ # Main execution
325
+ main() {
326
+ parse_args "$@"
327
+
328
+ # Initialize registry
329
+ initialize_registry
330
+
331
+ # Determine feedback type
332
+ if [[ -z "$FEEDBACK_TYPE" ]]; then
333
+ FEEDBACK_TYPE=$(analyze_feedback_text "$FEEDBACK_TEXT")
334
+ fi
335
+
336
+ # Select specialist
337
+ local result=$(select_specialist "$FEEDBACK_TYPE")
338
+ local selected_agent=$(echo "$result" | cut -d: -f1)
339
+ local confidence_score=$(echo "$result" | cut -d: -f2)
340
+ local specialist_type=$(echo "$result" | cut -d: -f3)
341
+
342
+ # Log selection details
343
+ if [[ "$VERBOSE" == true ]]; then
344
+ log "Feedback Type: $FEEDBACK_TYPE"
345
+ log "Selected Agent: $selected_agent"
346
+ log "Confidence Score: $confidence_score"
347
+ log "Specialist Type: $specialist_type"
348
+ log "Task ID: ${TASK_ID:-N/A}"
349
+ log "Iteration: $ITERATION"
350
+ fi
351
+
352
+ # Check confidence threshold
353
+ if (( $(echo "$confidence_score >= $CONFIDENCE" | bc -l) )); then
354
+ # Spawn specialist
355
+ spawn_specialist "$selected_agent" "$TASK_ID" "$ITERATION" "$specialist_type"
356
+
357
+ # Return result for orchestrator
358
+ echo "{\"selected_agent\":\"$selected_agent\",\"confidence\":$confidence_score,\"specialist_type\":\"$specialist_type\",\"feedback_type\":\"$FEEDBACK_TYPE\"}"
359
+ else
360
+ warning "Confidence score ($confidence_score) below threshold ($CONFIDENCE), using default agent"
361
+ if [[ "$DRY_RUN" != true ]]; then
362
+ spawn_specialist "$DEFAULT_AGENT" "$TASK_ID" "$ITERATION" "general"
363
+ fi
364
+ echo "{\"selected_agent\":\"$DEFAULT_AGENT\",\"confidence\":$confidence_score,\"specialist_type\":\"general\",\"feedback_type\":\"$FEEDBACK_TYPE\"}"
365
+ fi
366
+ }
367
+
368
+ # Execute main function
369
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
370
+ main "$@"
371
+ fi
@@ -0,0 +1,252 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ TF-IDF Semantic Agent Matcher
4
+
5
+ Purpose: Use semantic similarity (TF-IDF + cosine similarity) to match
6
+ task descriptions to optimal agents.
7
+
8
+ Usage:
9
+ ./semantic-match-tfidf.py "Build user dashboard" 0.5
10
+ ./semantic-match-tfidf.py "Create auth system" --threshold 0.6 --json
11
+
12
+ Output:
13
+ agent1,agent2,agent3 (default)
14
+ {"agents": [...]} (--json)
15
+ """
16
+
17
+ import sys
18
+ import json
19
+ import argparse
20
+
21
+ try:
22
+ from sklearn.feature_extraction.text import TfidfVectorizer
23
+ from sklearn.metrics.pairwise import cosine_similarity
24
+ except ImportError:
25
+ print("Error: scikit-learn not installed", file=sys.stderr)
26
+ print("Install: pip install scikit-learn", file=sys.stderr)
27
+ sys.exit(1)
28
+
29
+
30
+ # Agent Registry with Enhanced Semantic Descriptions
31
+ # Each description includes keywords, domains, and related concepts
32
+ AGENTS = {
33
+ "react-frontend-engineer": (
34
+ "React frontend UI components dashboard interface SPA web application "
35
+ "user interface client-side JavaScript TypeScript hooks state management "
36
+ "responsive design web pages forms interactive"
37
+ ),
38
+ "ui-designer": (
39
+ "UI design user experience UX interface design visual design wireframes "
40
+ "mockups prototypes accessibility usability user flows style guide branding"
41
+ ),
42
+ "backend-dev": (
43
+ "API server backend endpoint REST GraphQL database business logic "
44
+ "server-side Node.js Python Java authentication authorization data processing "
45
+ "microservices integration middleware"
46
+ ),
47
+ "rust-developer": (
48
+ "Rust systems programming memory safety concurrency performance "
49
+ "low-level programming async tokio cargo ownership borrowing compiler "
50
+ "systems language native speed"
51
+ ),
52
+ "rust-mvp-developer": (
53
+ "Rust MVP prototype proof-of-concept quick implementation basic features "
54
+ "simple rapid development starter code minimal viable product"
55
+ ),
56
+ "rust-enterprise-developer": (
57
+ "Rust production enterprise advanced optimization performance critical "
58
+ "production-grade scalable robust high-performance mission-critical"
59
+ ),
60
+ "mobile-dev": (
61
+ "React Native mobile iOS Android app development cross-platform "
62
+ "smartphone tablet native modules mobile UI touch gestures mobile UX "
63
+ "app store deployment mobile navigation"
64
+ ),
65
+ "devops-engineer": (
66
+ "infrastructure deployment Docker Kubernetes AWS cloud CI/CD pipeline "
67
+ "automation orchestration containerization cloud infrastructure Terraform "
68
+ "monitoring logging provisioning infrastructure-as-code"
69
+ ),
70
+ "security-specialist": (
71
+ "security authentication encryption RBAC vulnerabilities penetration testing "
72
+ "threat analysis security audit compliance access control authorization "
73
+ "cybersecurity secure coding SSL/TLS security review"
74
+ ),
75
+ "system-architect": (
76
+ "architecture system design component design API design database schema "
77
+ "high-level design scalability patterns microservices architecture decisions "
78
+ "technical leadership design patterns distributed systems"
79
+ ),
80
+ "tester": (
81
+ "testing test unit-test integration-test TDD quality-assurance QA "
82
+ "test-coverage Jest Mocha pytest test-strategy validation verification "
83
+ "automated testing regression testing"
84
+ ),
85
+ "reviewer": (
86
+ "code-review quality-assessment technical-debt code-analysis quality-metrics "
87
+ "code-standards linting static-analysis best-practices code-quality "
88
+ "peer-review refactoring suggestions"
89
+ ),
90
+ "researcher": (
91
+ "research explore investigate analyze study evaluation comparison "
92
+ "proof-of-concept feasibility analysis technical-research documentation "
93
+ "exploration discovery learning experimentation"
94
+ ),
95
+ "coder": (
96
+ "implementation feature-development bug-fix coding general-development "
97
+ "problem-solving code-implementation feature-completion programming "
98
+ "general-purpose development writing code"
99
+ ),
100
+ "perf-analyzer": (
101
+ "performance optimization profiling benchmarking speed efficiency "
102
+ "performance-tuning latency throughput resource-optimization "
103
+ "scalability load-testing stress-testing performance-metrics"
104
+ ),
105
+ "accessibility-advocate": (
106
+ "accessibility WCAG screen-readers keyboard-navigation ARIA semantic-HTML "
107
+ "inclusive-design disability-access a11y accessibility-testing "
108
+ "accessibility-compliance universal-design"
109
+ ),
110
+ "code-quality-validator": (
111
+ "quality-validation architecture-compliance code-standards advanced-quality "
112
+ "deep-analysis compliance-checking quality-gates code-metrics "
113
+ "technical-excellence validation comprehensive-review"
114
+ ),
115
+ "performance-benchmarker": (
116
+ "performance-benchmarking metrics analysis load-testing stress-testing "
117
+ "profiling performance-monitoring benchmark-suite performance-validation "
118
+ "throughput-testing latency-analysis"
119
+ ),
120
+ "product-owner": (
121
+ "product strategy business decisions scope management priorities "
122
+ "stakeholder requirements roadmap planning strategic-decisions "
123
+ "product-vision business-value feature-prioritization"
124
+ ),
125
+ }
126
+
127
+
128
+ def semantic_match(task: str, threshold: float = 0.5, top_n: int = None):
129
+ """
130
+ Match task description to agents using TF-IDF semantic similarity.
131
+
132
+ Args:
133
+ task: Task description string
134
+ threshold: Minimum similarity score (0.0-1.0)
135
+ top_n: Return top N matches (None = all above threshold)
136
+
137
+ Returns:
138
+ List of dicts: [{"agent": "name", "score": 0.85}, ...]
139
+ """
140
+ if not task or not task.strip():
141
+ return []
142
+
143
+ # Build corpus: agent descriptions + task
144
+ corpus = list(AGENTS.values()) + [task]
145
+
146
+ # Vectorize using TF-IDF
147
+ vectorizer = TfidfVectorizer(
148
+ lowercase=True,
149
+ stop_words='english',
150
+ ngram_range=(1, 2), # Unigrams + bigrams
151
+ max_df=0.85, # Ignore very common terms
152
+ min_df=1
153
+ )
154
+
155
+ try:
156
+ tfidf = vectorizer.fit_transform(corpus)
157
+ except ValueError as e:
158
+ # Handle edge case: empty vocabulary
159
+ print(f"Warning: {e}", file=sys.stderr)
160
+ return []
161
+
162
+ # Compute cosine similarity
163
+ task_vector = tfidf[-1] # Last item is the task
164
+ agent_vectors = tfidf[:-1] # All others are agents
165
+ similarities = cosine_similarity(task_vector, agent_vectors)[0]
166
+
167
+ # Build results
168
+ results = []
169
+ for agent_name, score in zip(AGENTS.keys(), similarities):
170
+ if score >= threshold:
171
+ results.append({
172
+ "agent": agent_name,
173
+ "score": float(score)
174
+ })
175
+
176
+ # Sort by score (descending)
177
+ results.sort(key=lambda x: x["score"], reverse=True)
178
+
179
+ # Limit to top N if specified
180
+ if top_n is not None:
181
+ results = results[:top_n]
182
+
183
+ return results
184
+
185
+
186
+ def main():
187
+ parser = argparse.ArgumentParser(
188
+ description="Semantic agent matching using TF-IDF"
189
+ )
190
+ parser.add_argument(
191
+ "task",
192
+ nargs="?",
193
+ default="",
194
+ help="Task description to match against agents"
195
+ )
196
+ parser.add_argument(
197
+ "-t", "--threshold",
198
+ type=float,
199
+ default=0.5,
200
+ help="Minimum similarity threshold (0.0-1.0, default: 0.5)"
201
+ )
202
+ parser.add_argument(
203
+ "-n", "--top-n",
204
+ type=int,
205
+ default=None,
206
+ help="Return top N matches (default: all above threshold)"
207
+ )
208
+ parser.add_argument(
209
+ "-j", "--json",
210
+ action="store_true",
211
+ help="Output as JSON instead of CSV"
212
+ )
213
+ parser.add_argument(
214
+ "-v", "--verbose",
215
+ action="store_true",
216
+ help="Show scores for all matches"
217
+ )
218
+
219
+ args = parser.parse_args()
220
+
221
+ # Get task from args or stdin
222
+ task = args.task
223
+ if not task and not sys.stdin.isatty():
224
+ task = sys.stdin.read().strip()
225
+
226
+ if not task:
227
+ parser.print_help()
228
+ sys.exit(1)
229
+
230
+ # Perform matching
231
+ matches = semantic_match(task, args.threshold, args.top_n)
232
+
233
+ # Output results
234
+ if args.json:
235
+ # JSON output
236
+ print(json.dumps({
237
+ "task": task,
238
+ "threshold": args.threshold,
239
+ "matches": matches
240
+ }, indent=2))
241
+ elif args.verbose:
242
+ # Verbose output with scores
243
+ for match in matches:
244
+ print(f"{match['agent']}: {match['score']:.3f}")
245
+ else:
246
+ # CSV output (agent names only)
247
+ agent_names = [m["agent"] for m in matches]
248
+ print(",".join(agent_names))
249
+
250
+
251
+ if __name__ == "__main__":
252
+ main()