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