claude-flow-novice 2.15.11 → 2.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (741) hide show
  1. package/.claude/cfn-extras/agents/cfn-v3-coordinator.md +517 -0
  2. package/.claude/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +1 -1
  3. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +1 -1
  4. package/.claude/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +1 -1
  5. package/.claude/cfn-extras/skills/google-sheets-progress/SKILL.md +1 -1
  6. package/.claude/commands/CFN_LOOP_FRONTEND.md +1 -1
  7. package/.claude/commands/cfn-loop-cli.md +214 -442
  8. package/.claude/commands/cfn-loop-frontend.md +1 -1
  9. package/.claude/commands/cfn-loop-task.md +2 -2
  10. package/.claude/commands/cfn-loop-trigger.md +114 -0
  11. package/.claude/commands/deprecated/cfn-loop.md +2 -2
  12. package/.claude/hooks/cfn-invoke-post-edit-ts.sh +100 -0
  13. package/.claude/hooks/cfn-invoke-post-edit-ts.sh.backup +78 -0
  14. package/.claude/hooks/cfn-invoke-post-edit.sh +53 -5
  15. package/.claude/hooks/cfn-invoke-post-edit.sh.backup +87 -0
  16. package/.claude/hooks/cfn-invoke-pre-edit-ts.sh +116 -0
  17. package/.claude/hooks/cfn-invoke-pre-edit-ts.sh.backup +94 -0
  18. package/.claude/hooks/cfn-invoke-pre-edit.sh +22 -0
  19. package/.claude/hooks/cfn-invoke-pre-edit.sh.backup +88 -0
  20. package/.claude/hooks/cfn-post-edit.config.json +9 -2
  21. package/.claude/root-claude-distribute/CFN-CLAUDE.md +1 -1
  22. package/.claude/skills/cfn-agent-spawning/SKILL.md +48 -1
  23. package/.claude/skills/cfn-agent-spawning/SKILL.md.backup +135 -0
  24. package/.claude/skills/cfn-agent-spawning/TYPESCRIPT_MIGRATION.md +567 -0
  25. package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +22 -0
  26. package/.claude/skills/{cfn-redis-coordination/check-dependencies.sh → cfn-agent-spawning/check-dependencies.sh.backup} +3 -5
  27. package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -0
  28. package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh.backup +127 -0
  29. package/.claude/skills/cfn-agent-spawning/parse-agent-provider.sh +22 -0
  30. package/.claude/skills/cfn-agent-spawning/parse-agent-provider.sh.backup +59 -0
  31. package/.claude/skills/cfn-agent-spawning/spawn-agent-wrapper.sh +63 -0
  32. package/.claude/skills/cfn-agent-spawning/spawn-agent-wrapper.sh.backup +41 -0
  33. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +26 -1
  34. package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +22 -0
  35. package/.claude/skills/cfn-agent-spawning/spawn-templates.sh.backup +613 -0
  36. package/.claude/skills/cfn-agent-spawning/spawn-worker.sh +22 -0
  37. package/.claude/skills/cfn-agent-spawning/spawn-worker.sh.backup +176 -0
  38. package/.claude/skills/cfn-backlog-management/SKILL.md +1 -1
  39. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/metadata.json +8 -0
  40. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/original +271 -0
  41. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/revert.sh +7 -0
  42. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/metadata.json +8 -0
  43. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/original +325 -0
  44. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/revert.sh +7 -0
  45. package/.claude/skills/cfn-loop-orchestration/CLI_IMPLEMENTATION_SUMMARY.md +330 -0
  46. package/.claude/skills/cfn-loop-orchestration/CONFIGURATION_IMPROVEMENTS.md +318 -0
  47. package/.claude/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_MIGRATION.md +308 -0
  48. package/.claude/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_QUICK_START.md +378 -0
  49. package/.claude/skills/cfn-loop-orchestration/E2E_VALIDATION_REPORT.md +262 -0
  50. package/.claude/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +319 -519
  51. package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_E2E_REPORT.md +299 -0
  52. package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_EXECUTION_SUMMARY.md +403 -0
  53. package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +323 -0
  54. package/.claude/skills/cfn-loop-orchestration/SKILL.md +159 -48
  55. package/.claude/skills/cfn-loop-orchestration/SPAWN_AGENTS_IMPLEMENTATION.md +188 -0
  56. package/.claude/skills/cfn-loop-orchestration/TEST_COVERAGE_REPORT.md +335 -0
  57. package/.claude/skills/cfn-loop-orchestration/TEST_COVERAGE_SUMMARY.md +456 -0
  58. package/.claude/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_REPORT.md +709 -0
  59. package/.claude/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_SUMMARY.md +257 -0
  60. package/.claude/skills/cfn-loop-orchestration/VALIDATION_REPORT.md +572 -0
  61. package/.claude/skills/cfn-loop-orchestration/VALIDATION_SUMMARY.txt +196 -0
  62. package/.claude/skills/cfn-loop-orchestration/VALIDATOR_MODULE_GUIDE.md +526 -0
  63. package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/README.md +167 -0
  64. package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate-enhanced.sh +548 -0
  65. package/.claude/skills/cfn-loop-orchestration/{orchestrate-wrapper.sh → archive/legacy-bash/orchestrate-wrapper.sh} +11 -1
  66. package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate.sh +182 -0
  67. package/.claude/skills/cfn-loop-orchestration/e2e-validation-fixed.js +240 -0
  68. package/.claude/skills/cfn-loop-orchestration/e2e-validation.js +213 -0
  69. package/.claude/skills/cfn-loop-orchestration/package-lock.json +3 -0
  70. package/.claude/skills/cfn-loop-orchestration/package.json +4 -0
  71. package/.claude/skills/cfn-loop-orchestration/run-north-star-e2e.ts +210 -0
  72. package/.claude/skills/cfn-loop-orchestration/src/cli/orchestrator-cli.ts +396 -0
  73. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR.md +564 -0
  74. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR_QUICK_REF.md +241 -0
  75. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_IMPLEMENTATION.md +375 -0
  76. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_QUICK_REFERENCE.md +362 -0
  77. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_README.md +307 -0
  78. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_USAGE_GUIDE.md +508 -0
  79. package/.claude/skills/cfn-loop-orchestration/src/helpers/confidence-aggregator.ts +473 -0
  80. package/.claude/skills/cfn-loop-orchestration/src/helpers/consensus.ts +1 -1
  81. package/.claude/skills/cfn-loop-orchestration/src/helpers/context-injector.ts +349 -0
  82. package/.claude/skills/cfn-loop-orchestration/src/helpers/context-lookup.ts +486 -0
  83. package/.claude/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +6 -2
  84. package/.claude/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +1 -1
  85. package/.claude/skills/cfn-loop-orchestration/src/helpers/product-owner-decision.ts +316 -0
  86. package/.claude/skills/cfn-loop-orchestration/src/helpers/spawn-agents.ts +357 -0
  87. package/.claude/skills/cfn-loop-orchestration/src/helpers/validator.ts +276 -0
  88. package/.claude/skills/cfn-loop-orchestration/src/index.ts +2 -0
  89. package/.claude/skills/cfn-loop-orchestration/src/orchestrate.ts +743 -2
  90. package/.claude/skills/cfn-loop-orchestration/src/types.ts +56 -0
  91. package/.claude/skills/cfn-loop-orchestration/test-cli.sh +92 -0
  92. package/.claude/skills/cfn-loop-orchestration/test-typescript-integration.sh +442 -0
  93. package/.claude/skills/cfn-loop-orchestration/tests/agent-spawner.test.ts +124 -0
  94. package/.claude/skills/cfn-loop-orchestration/tests/confidence-aggregator.test.ts +604 -0
  95. package/.claude/skills/cfn-loop-orchestration/tests/context-injector.test.ts +561 -0
  96. package/.claude/skills/cfn-loop-orchestration/tests/context-lookup.test.ts +661 -0
  97. package/.claude/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +2 -2
  98. package/.claude/skills/cfn-loop-orchestration/tests/gate-check-edge-cases.test.ts +422 -0
  99. package/.claude/skills/cfn-loop-orchestration/tests/gate-checker.test.ts +276 -0
  100. package/.claude/skills/cfn-loop-orchestration/tests/logger.test.ts +291 -0
  101. package/.claude/skills/cfn-loop-orchestration/tests/north-star-e2e.test.ts +334 -0
  102. package/.claude/skills/cfn-loop-orchestration/tests/redis-coordinator.test.ts +321 -0
  103. package/.claude/skills/cfn-loop-orchestration/tests/spawn-agents.test.ts +284 -0
  104. package/.claude/skills/cfn-loop-orchestration/tests/validator.test.ts +643 -0
  105. package/.claude/skills/cfn-loop-validation/IMPLEMENTATION_SUMMARY.md +672 -0
  106. package/.claude/skills/cfn-loop-validation/INDEX.md +531 -0
  107. package/.claude/skills/cfn-loop-validation/README_TYPESCRIPT.md +454 -0
  108. package/.claude/skills/cfn-loop-validation/SKILL.md +48 -1
  109. package/.claude/skills/cfn-loop-validation/SKILL.md.backup +353 -0
  110. package/.claude/skills/cfn-loop-validation/SKILL_TYPESCRIPT.md +782 -0
  111. package/.claude/skills/cfn-loop-validation/VAPOR_DETECTION_EXAMPLES.md +598 -0
  112. package/.claude/skills/cfn-loop-validation/check-dependencies.sh +22 -0
  113. package/{claude-assets/skills/cfn-redis-coordination/check-dependencies.sh → .claude/skills/cfn-loop-validation/check-dependencies.sh.backup} +4 -5
  114. package/.claude/skills/cfn-loop-validation/detect-vapor.sh +59 -0
  115. package/.claude/skills/cfn-loop-validation/detect-vapor.sh.backup +37 -0
  116. package/.claude/skills/cfn-loop-validation/dist/.tsbuildinfo +1 -0
  117. package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts +14 -0
  118. package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts.map +1 -0
  119. package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.js +185 -0
  120. package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.js.map +1 -0
  121. package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts +14 -0
  122. package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts.map +1 -0
  123. package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.js +176 -0
  124. package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.js.map +1 -0
  125. package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts +19 -0
  126. package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts.map +1 -0
  127. package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.js +123 -0
  128. package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.js.map +1 -0
  129. package/.claude/skills/cfn-loop-validation/dist/types.d.ts +156 -0
  130. package/.claude/skills/cfn-loop-validation/dist/types.d.ts.map +1 -0
  131. package/.claude/skills/cfn-loop-validation/dist/types.js +66 -0
  132. package/.claude/skills/cfn-loop-validation/dist/types.js.map +1 -0
  133. package/.claude/skills/cfn-loop-validation/dist/validator.d.ts +85 -0
  134. package/.claude/skills/cfn-loop-validation/dist/validator.d.ts.map +1 -0
  135. package/.claude/skills/cfn-loop-validation/dist/validator.js +411 -0
  136. package/.claude/skills/cfn-loop-validation/dist/validator.js.map +1 -0
  137. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +22 -0
  138. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh.backup +252 -0
  139. package/.claude/skills/cfn-loop-validation/package.json +93 -0
  140. package/.claude/skills/cfn-loop-validation/src/cli/detect-vapor.ts +177 -0
  141. package/.claude/skills/cfn-loop-validation/src/cli/validate-deliverables.ts +161 -0
  142. package/.claude/skills/cfn-loop-validation/src/cli/validate-gate.ts +139 -0
  143. package/.claude/skills/cfn-loop-validation/src/types.ts +215 -0
  144. package/.claude/skills/cfn-loop-validation/src/validator.ts +503 -0
  145. package/.claude/skills/cfn-loop-validation/tests/validator.test.ts +537 -0
  146. package/.claude/skills/{cfn-redis-coordination → cfn-loop-validation}/tsconfig.json +34 -31
  147. package/.claude/skills/cfn-loop-validation/validate-deliverables.sh +59 -0
  148. package/.claude/skills/cfn-loop-validation/validate-deliverables.sh.backup +37 -0
  149. package/.claude/skills/cfn-loop-validation/validate-gate.sh +63 -0
  150. package/.claude/skills/cfn-loop-validation/validate-gate.sh.backup +41 -0
  151. package/.claude/skills/cfn-loop-validation/validate-iteration.sh +22 -0
  152. package/.claude/skills/cfn-loop-validation/validate-iteration.sh.backup +134 -0
  153. package/.claude/skills/cfn-product-owner-decision/SKILL.md +479 -147
  154. package/.claude/skills/cfn-product-owner-decision/TYPESCRIPT_IMPLEMENTATION.md +653 -0
  155. package/.claude/skills/cfn-product-owner-decision/{execute-decision.sh → archive/legacy-bash/execute-decision.sh} +24 -2
  156. package/.claude/skills/pre-edit-backup/SKILL.md +324 -0
  157. package/.claude/skills/pre-edit-backup/SKILL.md.backup +277 -0
  158. package/.claude/skills/pre-edit-backup/backup.sh +22 -0
  159. package/.claude/skills/pre-edit-backup/backup.sh.backup +107 -0
  160. package/claude-assets/agents/cfn-dev-team/analysts/root-cause-analyst.md +2 -2
  161. package/claude-assets/agents/cfn-dev-team/architecture/base-template-generator.md +1 -1
  162. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +3 -2
  163. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +1 -0
  164. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +2 -1
  165. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +1 -0
  166. package/claude-assets/agents/cfn-dev-team/dev-ops/devops-engineer.md +11 -1
  167. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +58 -35
  168. package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +2 -2
  169. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +47 -37
  170. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +18 -18
  171. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +40 -58
  172. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +19 -21
  173. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +20 -29
  174. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +15 -19
  175. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +15 -10
  176. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +16 -11
  177. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +16 -26
  178. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +18 -22
  179. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +17 -21
  180. package/claude-assets/agents/cfn-dev-team/documentation/pseudocode.md +1 -1
  181. package/claude-assets/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +1 -1
  182. package/claude-assets/agents/cfn-dev-team/product-owners/cto-agent.md +1 -1
  183. package/claude-assets/agents/cfn-dev-team/product-owners/power-user-persona.md +1 -1
  184. package/claude-assets/agents/cfn-dev-team/product-owners/product-owner.md +1 -5
  185. package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +20 -51
  186. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +22 -71
  187. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +21 -64
  188. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +22 -67
  189. package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +24 -68
  190. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +8 -36
  191. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +9 -38
  192. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +17 -55
  193. package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
  194. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +18 -56
  195. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +9 -37
  196. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +18 -56
  197. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +18 -49
  198. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +8 -37
  199. package/claude-assets/agents/cfn-dev-team/testers/tester.md +7 -27
  200. package/claude-assets/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +1 -1
  201. package/claude-assets/agents/cfn-dev-team/utility/agent-builder.md +11 -0
  202. package/claude-assets/agents/cfn-dev-team/utility/analyst.md +13 -29
  203. package/claude-assets/agents/cfn-dev-team/utility/claude-code-expert.md +1 -1
  204. package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +13 -13
  205. package/claude-assets/agents/cfn-dev-team/utility/context-curator.md +7 -2
  206. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +6 -11
  207. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +121 -715
  208. package/claude-assets/agents/cfn-dev-team/utility/researcher.md +13 -22
  209. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +147 -573
  210. package/claude-assets/agents/custom/cfn-docker-expert.md +103 -0
  211. package/claude-assets/agents/custom/cfn-loops-cli-expert.md +438 -0
  212. package/claude-assets/agents/custom/cfn-redis-operations.md +529 -529
  213. package/claude-assets/agents/custom/cfn-system-expert.md +1 -1
  214. package/claude-assets/agents/custom/trigger-dev-expert.md +369 -0
  215. package/claude-assets/agents/docker-team/micro-sprint-planner.md +747 -747
  216. package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
  217. package/claude-assets/cfn-extras/agents/cfn-v3-coordinator.md +517 -0
  218. package/claude-assets/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +1 -1
  219. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +1 -1
  220. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +1 -1
  221. package/claude-assets/cfn-extras/skills/google-sheets-progress/SKILL.md +1 -1
  222. package/claude-assets/commands/CFN_LOOP_FRONTEND.md +1 -1
  223. package/claude-assets/commands/cfn-loop-cli.md +214 -442
  224. package/claude-assets/commands/cfn-loop-frontend.md +1 -1
  225. package/claude-assets/commands/cfn-loop-task.md +2 -2
  226. package/claude-assets/commands/cfn-loop-trigger.md +114 -0
  227. package/claude-assets/commands/deprecated/cfn-loop.md +2 -2
  228. package/claude-assets/hooks/GIT-HOOKS-USAGE-EXAMPLES.md +116 -0
  229. package/claude-assets/hooks/README-GIT-HOOKS.md +443 -0
  230. package/claude-assets/hooks/SKILL.md +518 -0
  231. package/claude-assets/hooks/SKILL.md.backup +471 -0
  232. package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh +100 -0
  233. package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh.backup +78 -0
  234. package/claude-assets/hooks/cfn-invoke-post-edit.sh +53 -5
  235. package/claude-assets/hooks/cfn-invoke-post-edit.sh.backup +87 -0
  236. package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh +116 -0
  237. package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh.backup +94 -0
  238. package/claude-assets/hooks/cfn-invoke-pre-edit.sh +22 -0
  239. package/claude-assets/hooks/cfn-invoke-pre-edit.sh.backup +88 -0
  240. package/claude-assets/hooks/cfn-post-edit.config.json +9 -2
  241. package/claude-assets/hooks/install-git-hooks.sh +243 -0
  242. package/claude-assets/hooks/subagent-start.sh +98 -0
  243. package/claude-assets/hooks/subagent-stop.sh +93 -0
  244. package/claude-assets/hooks/validators/credential-scanner.sh +172 -0
  245. package/claude-assets/root-claude-distribute/CFN-CLAUDE.md +1 -1
  246. package/claude-assets/skills/cfn-agent-selection-with-fallback/DELIVERABLES.md +409 -0
  247. package/claude-assets/skills/cfn-agent-selection-with-fallback/IMPLEMENTATION_SUMMARY.md +396 -0
  248. package/claude-assets/skills/cfn-agent-selection-with-fallback/INTEGRATION_GUIDE.md +308 -0
  249. package/claude-assets/skills/cfn-agent-selection-with-fallback/QUICK_REFERENCE.md +239 -0
  250. package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md +107 -1
  251. package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md.backup +302 -0
  252. package/claude-assets/skills/cfn-agent-selection-with-fallback/TYPESCRIPT_MIGRATION.md +295 -0
  253. package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/agent-selector.cjs +297 -0
  254. package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/agent-selector.js +297 -0
  255. package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/cli.cjs +96 -0
  256. package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/cli.js +96 -0
  257. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents-ts.sh +45 -0
  258. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents-ts.sh.backup +23 -0
  259. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh +22 -0
  260. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh.backup +173 -0
  261. package/claude-assets/skills/cfn-agent-selection-with-fallback/src/agent-selector.test.ts +357 -0
  262. package/claude-assets/skills/cfn-agent-selection-with-fallback/src/agent-selector.ts +350 -0
  263. package/claude-assets/skills/cfn-agent-selection-with-fallback/src/cli.ts +74 -0
  264. package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh +22 -0
  265. package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh.backup +71 -0
  266. package/claude-assets/skills/cfn-agent-selection-with-fallback/tsconfig.json +18 -0
  267. package/claude-assets/skills/cfn-agent-spawning/SKILL.md +48 -1
  268. package/claude-assets/skills/cfn-agent-spawning/SKILL.md.backup +135 -0
  269. package/claude-assets/skills/cfn-agent-spawning/TYPESCRIPT_MIGRATION.md +567 -0
  270. package/claude-assets/skills/cfn-agent-spawning/check-dependencies.sh +22 -0
  271. package/claude-assets/skills/cfn-agent-spawning/check-dependencies.sh.backup +30 -0
  272. package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -0
  273. package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh.backup +127 -0
  274. package/claude-assets/skills/cfn-agent-spawning/parse-agent-provider.sh +22 -0
  275. package/claude-assets/skills/cfn-agent-spawning/parse-agent-provider.sh.backup +59 -0
  276. package/claude-assets/skills/cfn-agent-spawning/spawn-agent-wrapper.sh +63 -0
  277. package/claude-assets/skills/cfn-agent-spawning/spawn-agent-wrapper.sh.backup +41 -0
  278. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +26 -1
  279. package/claude-assets/skills/cfn-agent-spawning/spawn-templates.sh +22 -0
  280. package/claude-assets/skills/cfn-agent-spawning/spawn-templates.sh.backup +613 -0
  281. package/claude-assets/skills/cfn-agent-spawning/spawn-worker.sh +22 -0
  282. package/claude-assets/skills/cfn-agent-spawning/spawn-worker.sh.backup +176 -0
  283. package/claude-assets/skills/cfn-backlog-management/SKILL.md +1 -1
  284. package/claude-assets/skills/cfn-coordination/agent-completion.sh.backup +36 -0
  285. package/claude-assets/skills/cfn-coordination/coordination-signal.sh.backup +36 -0
  286. package/claude-assets/skills/cfn-coordination/coordination-wait.sh.backup +36 -0
  287. package/claude-assets/skills/cfn-dependency-ingestion/README.md +101 -0
  288. package/claude-assets/skills/cfn-dependency-ingestion/SKILL.md +397 -0
  289. package/claude-assets/skills/cfn-dependency-ingestion/build.sh +23 -0
  290. package/claude-assets/skills/cfn-dependency-ingestion/dist/ingest-dependencies.js +478 -0
  291. package/claude-assets/skills/cfn-dependency-ingestion/ingest-dependencies.sh +295 -0
  292. package/claude-assets/skills/cfn-dependency-ingestion/ingest.sh +237 -0
  293. package/claude-assets/skills/cfn-dependency-ingestion/manifests/cli-mode-dependencies.txt +73 -0
  294. package/claude-assets/skills/cfn-dependency-ingestion/manifests/shared-dependencies.txt +57 -0
  295. package/claude-assets/skills/cfn-dependency-ingestion/manifests/trigger-dev-dependencies.txt +82 -0
  296. package/claude-assets/skills/cfn-dependency-ingestion/manifests/trigger-mode-dependencies.txt +80 -0
  297. package/claude-assets/skills/cfn-dependency-ingestion/src/ingest-dependencies.ts +563 -0
  298. package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +14 -4
  299. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/metadata.json +8 -0
  300. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/original +271 -0
  301. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/revert.sh +7 -0
  302. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/metadata.json +8 -0
  303. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/original +325 -0
  304. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/revert.sh +7 -0
  305. package/claude-assets/skills/cfn-loop-orchestration/CLI_IMPLEMENTATION_SUMMARY.md +330 -0
  306. package/claude-assets/skills/cfn-loop-orchestration/CONFIGURATION_IMPROVEMENTS.md +318 -0
  307. package/claude-assets/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_MIGRATION.md +308 -0
  308. package/claude-assets/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_QUICK_START.md +378 -0
  309. package/claude-assets/skills/cfn-loop-orchestration/E2E_VALIDATION_REPORT.md +262 -0
  310. package/claude-assets/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +319 -519
  311. package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_E2E_REPORT.md +299 -0
  312. package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_EXECUTION_SUMMARY.md +403 -0
  313. package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +323 -0
  314. package/claude-assets/skills/cfn-loop-orchestration/SKILL.md +159 -48
  315. package/claude-assets/skills/cfn-loop-orchestration/SPAWN_AGENTS_IMPLEMENTATION.md +188 -0
  316. package/claude-assets/skills/cfn-loop-orchestration/TEST_COVERAGE_REPORT.md +335 -0
  317. package/claude-assets/skills/cfn-loop-orchestration/TEST_COVERAGE_SUMMARY.md +456 -0
  318. package/claude-assets/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_REPORT.md +709 -0
  319. package/claude-assets/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_SUMMARY.md +257 -0
  320. package/claude-assets/skills/cfn-loop-orchestration/VALIDATION_REPORT.md +572 -0
  321. package/claude-assets/skills/cfn-loop-orchestration/VALIDATION_SUMMARY.txt +196 -0
  322. package/claude-assets/skills/cfn-loop-orchestration/VALIDATOR_MODULE_GUIDE.md +526 -0
  323. package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/README.md +167 -0
  324. package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate-enhanced.sh +548 -0
  325. package/claude-assets/skills/cfn-loop-orchestration/{orchestrate-wrapper.sh → archive/legacy-bash/orchestrate-wrapper.sh} +11 -1
  326. package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate.sh +182 -0
  327. package/claude-assets/skills/cfn-loop-orchestration/e2e-validation-fixed.js +240 -0
  328. package/claude-assets/skills/cfn-loop-orchestration/e2e-validation.js +213 -0
  329. package/claude-assets/skills/cfn-loop-orchestration/package-lock.json +3 -0
  330. package/claude-assets/skills/cfn-loop-orchestration/package.json +4 -0
  331. package/claude-assets/skills/cfn-loop-orchestration/run-north-star-e2e.ts +210 -0
  332. package/claude-assets/skills/cfn-loop-orchestration/src/cli/orchestrator-cli.ts +396 -0
  333. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR.md +564 -0
  334. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR_QUICK_REF.md +241 -0
  335. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_IMPLEMENTATION.md +375 -0
  336. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_QUICK_REFERENCE.md +362 -0
  337. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_README.md +307 -0
  338. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_USAGE_GUIDE.md +508 -0
  339. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/confidence-aggregator.ts +473 -0
  340. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/consensus.ts +1 -1
  341. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/context-injector.ts +349 -0
  342. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/context-lookup.ts +486 -0
  343. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +6 -2
  344. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +1 -1
  345. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/product-owner-decision.ts +316 -0
  346. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/spawn-agents.ts +357 -0
  347. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/validator.ts +276 -0
  348. package/claude-assets/skills/cfn-loop-orchestration/src/index.ts +2 -0
  349. package/claude-assets/skills/cfn-loop-orchestration/src/orchestrate.ts +743 -2
  350. package/claude-assets/skills/cfn-loop-orchestration/src/types.ts +56 -0
  351. package/claude-assets/skills/cfn-loop-orchestration/test-cli.sh +92 -0
  352. package/claude-assets/skills/cfn-loop-orchestration/test-typescript-integration.sh +442 -0
  353. package/claude-assets/skills/cfn-loop-orchestration/tests/agent-spawner.test.ts +124 -0
  354. package/claude-assets/skills/cfn-loop-orchestration/tests/confidence-aggregator.test.ts +604 -0
  355. package/claude-assets/skills/cfn-loop-orchestration/tests/context-injector.test.ts +561 -0
  356. package/claude-assets/skills/cfn-loop-orchestration/tests/context-lookup.test.ts +661 -0
  357. package/claude-assets/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +2 -2
  358. package/claude-assets/skills/cfn-loop-orchestration/tests/gate-check-edge-cases.test.ts +422 -0
  359. package/claude-assets/skills/cfn-loop-orchestration/tests/gate-checker.test.ts +276 -0
  360. package/claude-assets/skills/cfn-loop-orchestration/tests/logger.test.ts +291 -0
  361. package/claude-assets/skills/cfn-loop-orchestration/tests/north-star-e2e.test.ts +334 -0
  362. package/claude-assets/skills/cfn-loop-orchestration/tests/redis-coordinator.test.ts +321 -0
  363. package/claude-assets/skills/cfn-loop-orchestration/tests/spawn-agents.test.ts +284 -0
  364. package/claude-assets/skills/cfn-loop-orchestration/tests/validator.test.ts +643 -0
  365. package/claude-assets/skills/cfn-loop-output-processing/.eslintrc.json +33 -0
  366. package/claude-assets/skills/cfn-loop-output-processing/DELIVERY_SUMMARY.txt +462 -0
  367. package/claude-assets/skills/cfn-loop-output-processing/DEPRECATION_NOTICE.md +183 -0
  368. package/claude-assets/skills/cfn-loop-output-processing/EXAMPLES.md +609 -0
  369. package/claude-assets/skills/cfn-loop-output-processing/IMPLEMENTATION_SUMMARY.md +418 -0
  370. package/claude-assets/skills/cfn-loop-output-processing/INDEX.md +531 -0
  371. package/claude-assets/skills/cfn-loop-output-processing/MIGRATION.md +362 -0
  372. package/claude-assets/skills/cfn-loop-output-processing/README.md +114 -0
  373. package/claude-assets/skills/cfn-loop-output-processing/SKILL.md +633 -0
  374. package/{.claude/skills/cfn-docker-redis-coordination → claude-assets/skills/cfn-loop-output-processing}/jest.config.js +7 -15
  375. package/claude-assets/skills/cfn-loop-output-processing/package.json +50 -0
  376. package/claude-assets/skills/cfn-loop-output-processing/src/cli/process-loop2.ts +195 -0
  377. package/claude-assets/skills/cfn-loop-output-processing/src/cli/process-loop3.ts +157 -0
  378. package/claude-assets/skills/cfn-loop-output-processing/src/output-processor.ts +632 -0
  379. package/claude-assets/skills/cfn-loop-output-processing/tests/output-processor.test.ts +617 -0
  380. package/claude-assets/skills/{cfn-docker-redis-coordination → cfn-loop-output-processing}/tsconfig.json +16 -7
  381. package/claude-assets/skills/cfn-loop-validation/IMPLEMENTATION_SUMMARY.md +672 -0
  382. package/claude-assets/skills/cfn-loop-validation/INDEX.md +531 -0
  383. package/claude-assets/skills/cfn-loop-validation/README_TYPESCRIPT.md +454 -0
  384. package/claude-assets/skills/cfn-loop-validation/SKILL.md +48 -1
  385. package/claude-assets/skills/cfn-loop-validation/SKILL.md.backup +353 -0
  386. package/claude-assets/skills/cfn-loop-validation/SKILL_TYPESCRIPT.md +782 -0
  387. package/claude-assets/skills/cfn-loop-validation/VAPOR_DETECTION_EXAMPLES.md +598 -0
  388. package/claude-assets/skills/cfn-loop-validation/check-dependencies.sh +22 -0
  389. package/claude-assets/skills/cfn-loop-validation/check-dependencies.sh.backup +31 -0
  390. package/claude-assets/skills/cfn-loop-validation/detect-vapor.sh +59 -0
  391. package/claude-assets/skills/cfn-loop-validation/detect-vapor.sh.backup +37 -0
  392. package/claude-assets/skills/cfn-loop-validation/dist/.tsbuildinfo +1 -0
  393. package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts +14 -0
  394. package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts.map +1 -0
  395. package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.js +185 -0
  396. package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.js.map +1 -0
  397. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts +14 -0
  398. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts.map +1 -0
  399. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.js +176 -0
  400. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.js.map +1 -0
  401. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts +19 -0
  402. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts.map +1 -0
  403. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.js +123 -0
  404. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.js.map +1 -0
  405. package/claude-assets/skills/cfn-loop-validation/dist/types.d.ts +156 -0
  406. package/claude-assets/skills/cfn-loop-validation/dist/types.d.ts.map +1 -0
  407. package/claude-assets/skills/cfn-loop-validation/dist/types.js +66 -0
  408. package/claude-assets/skills/cfn-loop-validation/dist/types.js.map +1 -0
  409. package/claude-assets/skills/cfn-loop-validation/dist/validator.d.ts +85 -0
  410. package/claude-assets/skills/cfn-loop-validation/dist/validator.d.ts.map +1 -0
  411. package/claude-assets/skills/cfn-loop-validation/dist/validator.js +411 -0
  412. package/claude-assets/skills/cfn-loop-validation/dist/validator.js.map +1 -0
  413. package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +22 -0
  414. package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh.backup +252 -0
  415. package/claude-assets/skills/cfn-loop-validation/package.json +93 -0
  416. package/claude-assets/skills/cfn-loop-validation/src/cli/detect-vapor.ts +177 -0
  417. package/claude-assets/skills/cfn-loop-validation/src/cli/validate-deliverables.ts +161 -0
  418. package/claude-assets/skills/cfn-loop-validation/src/cli/validate-gate.ts +139 -0
  419. package/claude-assets/skills/cfn-loop-validation/src/types.ts +215 -0
  420. package/claude-assets/skills/cfn-loop-validation/src/validator.ts +503 -0
  421. package/claude-assets/skills/cfn-loop-validation/tests/validator.test.ts +537 -0
  422. package/claude-assets/skills/{cfn-redis-coordination → cfn-loop-validation}/tsconfig.json +34 -31
  423. package/claude-assets/skills/cfn-loop-validation/validate-deliverables.sh +59 -0
  424. package/claude-assets/skills/cfn-loop-validation/validate-deliverables.sh.backup +37 -0
  425. package/claude-assets/skills/cfn-loop-validation/validate-gate.sh +63 -0
  426. package/claude-assets/skills/cfn-loop-validation/validate-gate.sh.backup +41 -0
  427. package/claude-assets/skills/cfn-loop-validation/validate-iteration.sh +22 -0
  428. package/claude-assets/skills/cfn-loop-validation/validate-iteration.sh.backup +134 -0
  429. package/claude-assets/skills/cfn-product-owner-decision/SKILL.md +479 -147
  430. package/claude-assets/skills/cfn-product-owner-decision/TYPESCRIPT_IMPLEMENTATION.md +653 -0
  431. package/claude-assets/skills/cfn-product-owner-decision/{execute-decision.sh → archive/legacy-bash/execute-decision.sh} +24 -2
  432. package/claude-assets/skills/cfn-provider-routing/README.md +129 -0
  433. package/claude-assets/skills/cfn-provider-routing/SKILL.md +215 -0
  434. package/claude-assets/skills/cfn-provider-routing/resolve-provider-model.ts +223 -0
  435. package/claude-assets/skills/docker-build/build.sh +1 -1
  436. package/claude-assets/skills/pre-edit-backup/SKILL.md +324 -0
  437. package/claude-assets/skills/pre-edit-backup/SKILL.md.backup +277 -0
  438. package/claude-assets/skills/pre-edit-backup/backup.sh +22 -0
  439. package/claude-assets/skills/pre-edit-backup/backup.sh.backup +107 -0
  440. package/dist/agent/skill-mcp-selector.js +2 -1
  441. package/dist/agent/skill-mcp-selector.js.map +1 -1
  442. package/dist/api/auth-endpoints.js +415 -0
  443. package/dist/api/auth-endpoints.js.map +1 -0
  444. package/dist/api/task-endpoints.js +562 -0
  445. package/dist/api/task-endpoints.js.map +1 -0
  446. package/dist/backend/server.js +418 -0
  447. package/dist/backend/server.js.map +1 -0
  448. package/dist/cfn-loop/product-owner/decision-parser.js +356 -0
  449. package/dist/cfn-loop/product-owner/decision-parser.js.map +1 -0
  450. package/dist/cfn-loop/product-owner/index.js +1 -0
  451. package/dist/cfn-loop/product-owner/index.js.map +1 -1
  452. package/dist/cli/agent-command.js +1 -1
  453. package/dist/cli/agent-command.js.map +1 -1
  454. package/dist/cli/agent-completion.js +273 -0
  455. package/dist/cli/agent-completion.js.map +1 -0
  456. package/dist/cli/agent-executor.js +470 -26
  457. package/dist/cli/agent-executor.js.map +1 -1
  458. package/dist/cli/agent-prompt-builder.js +83 -48
  459. package/dist/cli/agent-prompt-builder.js.map +1 -1
  460. package/dist/cli/agent-spawn.js +7 -4
  461. package/dist/cli/agent-spawn.js.map +1 -1
  462. package/dist/cli/agent-spawner.js +546 -0
  463. package/dist/cli/agent-spawner.js.map +1 -0
  464. package/dist/cli/agent-token-manager.js +2 -1
  465. package/dist/cli/agent-token-manager.js.map +1 -1
  466. package/dist/cli/anthropic-client.js +127 -14
  467. package/dist/cli/anthropic-client.js.map +1 -1
  468. package/dist/cli/cfn-context.js +2 -1
  469. package/dist/cli/cfn-context.js.map +1 -1
  470. package/dist/cli/cfn-metrics.js +2 -1
  471. package/dist/cli/cfn-metrics.js.map +1 -1
  472. package/dist/cli/cfn-redis.js +2 -1
  473. package/dist/cli/cfn-redis.js.map +1 -1
  474. package/dist/cli/cli-agent-context.js +2 -0
  475. package/dist/cli/cli-agent-context.js.map +1 -1
  476. package/dist/cli/config-manager.js +90 -356
  477. package/dist/cli/config-manager.js.map +1 -1
  478. package/dist/cli/conversation-fork-cleanup.js +2 -1
  479. package/dist/cli/conversation-fork-cleanup.js.map +1 -1
  480. package/dist/cli/conversation-fork.js +2 -1
  481. package/dist/cli/conversation-fork.js.map +1 -1
  482. package/dist/cli/coordination/agent-messaging.js +415 -0
  483. package/dist/cli/coordination/agent-messaging.js.map +1 -0
  484. package/dist/cli/coordination/wait-for-threshold.js +232 -0
  485. package/dist/cli/coordination/wait-for-threshold.js.map +1 -0
  486. package/dist/cli/index.js +11 -0
  487. package/dist/cli/index.js.map +1 -1
  488. package/dist/cli/iteration-history.js +2 -1
  489. package/dist/cli/iteration-history.js.map +1 -1
  490. package/dist/cli/parse-decision-cli.js +268 -0
  491. package/dist/cli/parse-decision-cli.js.map +1 -0
  492. package/dist/cli/post-edit-hook.js +83 -0
  493. package/dist/cli/post-edit-hook.js.map +1 -0
  494. package/dist/cli/pre-edit-hook.js +77 -0
  495. package/dist/cli/pre-edit-hook.js.map +1 -0
  496. package/dist/cli/process-lifecycle.js +5 -1
  497. package/dist/cli/process-lifecycle.js.map +1 -1
  498. package/dist/cli/spawn-agent-cli.js +244 -0
  499. package/dist/cli/spawn-agent-cli.js.map +1 -0
  500. package/dist/coordination/coordination-wrapper.js +383 -0
  501. package/dist/coordination/coordination-wrapper.js.map +1 -0
  502. package/dist/coordination/redis-waiting-mode.js +4 -0
  503. package/dist/coordination/redis-waiting-mode.js.map +1 -1
  504. package/dist/coordination/store-success-criteria.js +68 -0
  505. package/dist/coordination/store-success-criteria.js.map +1 -0
  506. package/dist/coordination/store-task-context.js +65 -0
  507. package/dist/coordination/store-task-context.js.map +1 -0
  508. package/dist/hooks/backup-manager.js +273 -0
  509. package/dist/hooks/backup-manager.js.map +1 -0
  510. package/dist/hooks/post-edit-validator.js +388 -0
  511. package/dist/hooks/post-edit-validator.js.map +1 -0
  512. package/dist/integration/index.js +19 -0
  513. package/dist/integration/index.js.map +1 -0
  514. package/dist/integration/task-mode-adapter.js +297 -0
  515. package/dist/integration/task-mode-adapter.js.map +1 -0
  516. package/dist/integration/trigger-dev-client.js +253 -0
  517. package/dist/integration/trigger-dev-client.js.map +1 -0
  518. package/dist/integration/trigger-dev-webhooks.js +362 -0
  519. package/dist/integration/trigger-dev-webhooks.js.map +1 -0
  520. package/dist/lib/artifact-registry.js +4 -0
  521. package/dist/lib/artifact-registry.js.map +1 -1
  522. package/dist/lib/connection-pool.js +390 -0
  523. package/dist/lib/connection-pool.js.map +1 -0
  524. package/dist/lib/environment-contract.js +258 -0
  525. package/dist/lib/environment-contract.js.map +1 -0
  526. package/dist/lib/path-validator.js +14 -5
  527. package/dist/lib/path-validator.js.map +1 -1
  528. package/dist/lib/query-optimizer.js +388 -0
  529. package/dist/lib/query-optimizer.js.map +1 -0
  530. package/dist/lib/redis-queue-manager.js +5 -1
  531. package/dist/lib/redis-queue-manager.js.map +1 -1
  532. package/dist/lib/result-cache.js +285 -0
  533. package/dist/lib/result-cache.js.map +1 -0
  534. package/dist/mcp/auth-middleware.js +2 -1
  535. package/dist/mcp/auth-middleware.js.map +1 -1
  536. package/dist/mcp/playwright-mcp-server-auth.js +2 -1
  537. package/dist/mcp/playwright-mcp-server-auth.js.map +1 -1
  538. package/dist/middleware/authentication.js +317 -0
  539. package/dist/middleware/authentication.js.map +1 -0
  540. package/dist/services/authentication.js +669 -0
  541. package/dist/services/authentication.js.map +1 -0
  542. package/dist/services/session-management.js +436 -0
  543. package/dist/services/session-management.js.map +1 -0
  544. package/dist/services/skill-deployment.js +8 -6
  545. package/dist/services/skill-deployment.js.map +1 -1
  546. package/dist/services/user-service.js +710 -0
  547. package/dist/services/user-service.js.map +1 -0
  548. package/dist/types/trigger-dev-events.d.js +10 -0
  549. package/dist/types/trigger-dev-events.d.js.map +1 -0
  550. package/docs/README.md +240 -0
  551. package/package.json +15 -4
  552. package/scripts/build-agent-image.sh +1 -1
  553. package/scripts/compare-workflow-performance.sh +556 -0
  554. package/scripts/cost-allocation-tracker.sh +632 -0
  555. package/scripts/docker-rebuild-all-agents.sh +2 -2
  556. package/scripts/migrate-to-optimized-workflows.sh +438 -0
  557. package/scripts/organize-docs.sh +338 -0
  558. package/scripts/reorganize-tests.sh +280 -0
  559. package/scripts/trigger-dev-setup.sh +279 -0
  560. package/tests/README.md +45 -0
  561. package/.claude/commands/cost-savings-status.md +0 -34
  562. package/.claude/commands/metrics-summary.md +0 -58
  563. package/.claude/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +0 -348
  564. package/.claude/skills/cfn-docker-redis-coordination/README.md +0 -294
  565. package/.claude/skills/cfn-docker-redis-coordination/SKILL.md +0 -435
  566. package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh +0 -650
  567. package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +0 -641
  568. package/.claude/skills/cfn-docker-redis-coordination/package-lock.json +0 -5259
  569. package/.claude/skills/cfn-docker-redis-coordination/package.json +0 -40
  570. package/.claude/skills/cfn-docker-redis-coordination/src/coordinator.ts +0 -801
  571. package/.claude/skills/cfn-docker-redis-coordination/src/index.ts +0 -42
  572. package/.claude/skills/cfn-docker-redis-coordination/src/types.ts +0 -351
  573. package/.claude/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +0 -1464
  574. package/.claude/skills/cfn-docker-redis-coordination/tsconfig.json +0 -30
  575. package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +0 -228
  576. package/.claude/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +0 -104
  577. package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +0 -94
  578. package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +0 -142
  579. package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +0 -359
  580. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +0 -123
  581. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +0 -71
  582. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +0 -56
  583. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +0 -89
  584. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +0 -87
  585. package/.claude/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +0 -104
  586. package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +0 -56
  587. package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +0 -290
  588. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +0 -47
  589. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +0 -51
  590. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +0 -1345
  591. package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +0 -280
  592. package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
  593. package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +0 -319
  594. package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +0 -124
  595. package/.claude/skills/cfn-redis-coordination/config.json +0 -61
  596. package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +0 -82
  597. package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +0 -274
  598. package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -0
  599. package/.claude/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +0 -553
  600. package/.claude/skills/cfn-redis-coordination/jest.config.js +0 -23
  601. package/.claude/skills/cfn-redis-coordination/package-lock.json +0 -5272
  602. package/.claude/skills/cfn-redis-coordination/package.json +0 -45
  603. package/.claude/skills/cfn-redis-coordination/src/agent-logger.ts +0 -446
  604. package/.claude/skills/cfn-redis-coordination/src/agent-recovery.ts +0 -454
  605. package/.claude/skills/cfn-redis-coordination/src/completion-reporter.ts +0 -396
  606. package/.claude/skills/cfn-redis-coordination/src/context-manager.ts +0 -327
  607. package/.claude/skills/cfn-redis-coordination/src/index.ts +0 -82
  608. package/.claude/skills/cfn-redis-coordination/src/mode-detector.ts +0 -155
  609. package/.claude/skills/cfn-redis-coordination/src/redis/redis-client.ts +0 -305
  610. package/.claude/skills/cfn-redis-coordination/src/redis/redis-functions.ts +0 -283
  611. package/.claude/skills/cfn-redis-coordination/src/redis-client.ts +0 -654
  612. package/.claude/skills/cfn-redis-coordination/src/result-collector.ts +0 -437
  613. package/.claude/skills/cfn-redis-coordination/src/swarm-manager.ts +0 -494
  614. package/.claude/skills/cfn-redis-coordination/src/task-analyzer.ts +0 -404
  615. package/.claude/skills/cfn-redis-coordination/src/task-executor.ts +0 -423
  616. package/.claude/skills/cfn-redis-coordination/src/types.ts +0 -235
  617. package/.claude/skills/cfn-redis-coordination/src/waiting-coordinator.ts +0 -587
  618. package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +0 -85
  619. package/.claude/skills/cfn-redis-coordination/test-connection-attempts.js +0 -70
  620. package/.claude/skills/cfn-redis-coordination/test-mode-simple.js +0 -121
  621. package/.claude/skills/cfn-redis-coordination/test-redis-check.js +0 -84
  622. package/.claude/skills/cfn-redis-coordination/test-task-mode-redis.cjs +0 -391
  623. package/.claude/skills/cfn-redis-coordination/tests/coordination.test.ts +0 -788
  624. package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +0 -67
  625. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +0 -980
  626. package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +0 -759
  627. package/claude-assets/agents/custom/test-mcp-access.md +0 -24
  628. package/claude-assets/agents/typescript-specialist.md +0 -280
  629. package/claude-assets/commands/cost-savings-status.md +0 -34
  630. package/claude-assets/commands/metrics-summary.md +0 -58
  631. package/claude-assets/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +0 -348
  632. package/claude-assets/skills/cfn-docker-redis-coordination/README.md +0 -294
  633. package/claude-assets/skills/cfn-docker-redis-coordination/SKILL.md +0 -435
  634. package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh +0 -650
  635. package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +0 -641
  636. package/claude-assets/skills/cfn-docker-redis-coordination/jest.config.js +0 -37
  637. package/claude-assets/skills/cfn-docker-redis-coordination/package-lock.json +0 -5259
  638. package/claude-assets/skills/cfn-docker-redis-coordination/package.json +0 -40
  639. package/claude-assets/skills/cfn-docker-redis-coordination/src/coordinator.ts +0 -801
  640. package/claude-assets/skills/cfn-docker-redis-coordination/src/index.ts +0 -42
  641. package/claude-assets/skills/cfn-docker-redis-coordination/src/types.ts +0 -351
  642. package/claude-assets/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +0 -1464
  643. package/claude-assets/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +0 -228
  644. package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +0 -104
  645. package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus.sh +0 -94
  646. package/claude-assets/skills/cfn-loop-orchestration/helpers/context-injection.sh +0 -142
  647. package/claude-assets/skills/cfn-loop-orchestration/helpers/context-lookup.sh +0 -359
  648. package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +0 -123
  649. package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +0 -71
  650. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +0 -56
  651. package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +0 -89
  652. package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +0 -87
  653. package/claude-assets/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +0 -104
  654. package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +0 -56
  655. package/claude-assets/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +0 -290
  656. package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +0 -47
  657. package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +0 -51
  658. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +0 -1345
  659. package/claude-assets/skills/cfn-redis-cleanup/cleanup-redis.sh +0 -130
  660. package/claude-assets/skills/cfn-redis-coordination/AGENT_LOGGING.md +0 -280
  661. package/claude-assets/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
  662. package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +0 -319
  663. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +0 -124
  664. package/claude-assets/skills/cfn-redis-coordination/config.json +0 -61
  665. package/claude-assets/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +0 -82
  666. package/claude-assets/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +0 -274
  667. package/claude-assets/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -0
  668. package/claude-assets/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +0 -553
  669. package/claude-assets/skills/cfn-redis-coordination/jest.config.js +0 -23
  670. package/claude-assets/skills/cfn-redis-coordination/package-lock.json +0 -5272
  671. package/claude-assets/skills/cfn-redis-coordination/package.json +0 -45
  672. package/claude-assets/skills/cfn-redis-coordination/src/agent-logger.ts +0 -446
  673. package/claude-assets/skills/cfn-redis-coordination/src/agent-recovery.ts +0 -454
  674. package/claude-assets/skills/cfn-redis-coordination/src/completion-reporter.ts +0 -396
  675. package/claude-assets/skills/cfn-redis-coordination/src/context-manager.ts +0 -327
  676. package/claude-assets/skills/cfn-redis-coordination/src/index.ts +0 -82
  677. package/claude-assets/skills/cfn-redis-coordination/src/mode-detector.ts +0 -155
  678. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-client.ts +0 -305
  679. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-functions.ts +0 -283
  680. package/claude-assets/skills/cfn-redis-coordination/src/redis-client.ts +0 -654
  681. package/claude-assets/skills/cfn-redis-coordination/src/result-collector.ts +0 -437
  682. package/claude-assets/skills/cfn-redis-coordination/src/swarm-manager.ts +0 -494
  683. package/claude-assets/skills/cfn-redis-coordination/src/task-analyzer.ts +0 -404
  684. package/claude-assets/skills/cfn-redis-coordination/src/task-executor.ts +0 -423
  685. package/claude-assets/skills/cfn-redis-coordination/src/types.ts +0 -235
  686. package/claude-assets/skills/cfn-redis-coordination/src/waiting-coordinator.ts +0 -587
  687. package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +0 -85
  688. package/claude-assets/skills/cfn-redis-coordination/test-connection-attempts.js +0 -70
  689. package/claude-assets/skills/cfn-redis-coordination/test-mode-simple.js +0 -121
  690. package/claude-assets/skills/cfn-redis-coordination/test-redis-check.js +0 -84
  691. package/claude-assets/skills/cfn-redis-coordination/test-task-mode-redis.cjs +0 -391
  692. package/claude-assets/skills/cfn-redis-coordination/tests/coordination.test.ts +0 -788
  693. package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +0 -67
  694. package/claude-assets/skills/cfn-redis-data-extraction/SKILL.md +0 -442
  695. package/claude-assets/skills/cfn-redis-data-extraction/extract.sh +0 -306
  696. package/dist/coordination/index.js +0 -25
  697. package/dist/coordination/index.js.map +0 -1
  698. package/docs/BUG_19_MEMORY_LEAK_TASK_MODE.md +0 -405
  699. package/docs/MEMORY_CLEANUP_GUIDE.md +0 -358
  700. package/docs/MEMORY_LEAK_FIX_SUMMARY.md +0 -322
  701. package/docs/REDIS_CLEANUP_EXECUTIVE_SUMMARY.md +0 -319
  702. package/docs/REDIS_CLEANUP_VERIFICATION_REPORT.md +0 -574
  703. package/tests/test-memory-leak-task-mode.sh +0 -435
  704. /package/.claude/skills/cfn-loop-orchestration/{inject-loop-context.sh → archive/legacy-bash/inject-loop-context.sh} +0 -0
  705. /package/.claude/skills/cfn-loop-orchestration/{monitor-execution.sh → archive/legacy-bash/monitor-execution.sh} +0 -0
  706. /package/.claude/skills/cfn-redis-coordination/{agent-log.sh → agent-log.sh.backup} +0 -0
  707. /package/.claude/skills/cfn-redis-coordination/{agent-recovery.sh → agent-recovery.sh.backup} +0 -0
  708. /package/.claude/skills/cfn-redis-coordination/{analyze-task-complexity.sh → analyze-task-complexity.sh.backup} +0 -0
  709. /package/.claude/skills/cfn-redis-coordination/bash-wrappers/{store-context.sh → store-context.sh.backup} +0 -0
  710. /package/.claude/skills/cfn-redis-coordination/{cancel-swarm.sh → cancel-swarm.sh.backup} +0 -0
  711. /package/.claude/skills/cfn-redis-coordination/{cfn-loop-exec.sh → cfn-loop-exec.sh.backup} +0 -0
  712. /package/.claude/skills/cfn-redis-coordination/{cfn-loop-relaunch.sh → cfn-loop-relaunch.sh.backup} +0 -0
  713. /package/.claude/skills/cfn-redis-coordination/{collect-confidence-scores.sh → collect-confidence-scores.sh.backup} +0 -0
  714. /package/.claude/skills/cfn-redis-coordination/{collect-results.sh → collect-results.sh.backup} +0 -0
  715. /package/.claude/skills/cfn-redis-coordination/{complete-swarm.sh → complete-swarm.sh.backup} +0 -0
  716. /package/.claude/skills/cfn-redis-coordination/{get-context.sh → get-context.sh.backup} +0 -0
  717. /package/.claude/skills/cfn-redis-coordination/{get-success-criteria.sh → get-success-criteria.sh.backup} +0 -0
  718. /package/.claude/skills/cfn-redis-coordination/{invoke-waiting-mode.sh → invoke-waiting-mode.sh.backup} +0 -0
  719. /package/.claude/skills/cfn-redis-coordination/{redis-cli-wrapper.sh → redis-cli-wrapper.sh.backup} +0 -0
  720. /package/.claude/skills/cfn-redis-coordination/{redis-functions.sh → redis-functions.sh.backup} +0 -0
  721. /package/.claude/skills/cfn-redis-coordination/{report-completion.sh → report-completion.sh.backup} +0 -0
  722. /package/.claude/skills/cfn-redis-coordination/{store-context.sh → store-context.sh.backup} +0 -0
  723. /package/claude-assets/skills/cfn-loop-orchestration/{inject-loop-context.sh → archive/legacy-bash/inject-loop-context.sh} +0 -0
  724. /package/claude-assets/skills/cfn-loop-orchestration/{monitor-execution.sh → archive/legacy-bash/monitor-execution.sh} +0 -0
  725. /package/claude-assets/skills/cfn-redis-coordination/{agent-log.sh → agent-log.sh.backup} +0 -0
  726. /package/claude-assets/skills/cfn-redis-coordination/{agent-recovery.sh → agent-recovery.sh.backup} +0 -0
  727. /package/claude-assets/skills/cfn-redis-coordination/{analyze-task-complexity.sh → analyze-task-complexity.sh.backup} +0 -0
  728. /package/claude-assets/skills/cfn-redis-coordination/bash-wrappers/{store-context.sh → store-context.sh.backup} +0 -0
  729. /package/claude-assets/skills/cfn-redis-coordination/{cancel-swarm.sh → cancel-swarm.sh.backup} +0 -0
  730. /package/claude-assets/skills/cfn-redis-coordination/{cfn-loop-exec.sh → cfn-loop-exec.sh.backup} +0 -0
  731. /package/claude-assets/skills/cfn-redis-coordination/{cfn-loop-relaunch.sh → cfn-loop-relaunch.sh.backup} +0 -0
  732. /package/claude-assets/skills/cfn-redis-coordination/{collect-confidence-scores.sh → collect-confidence-scores.sh.backup} +0 -0
  733. /package/claude-assets/skills/cfn-redis-coordination/{collect-results.sh → collect-results.sh.backup} +0 -0
  734. /package/claude-assets/skills/cfn-redis-coordination/{complete-swarm.sh → complete-swarm.sh.backup} +0 -0
  735. /package/claude-assets/skills/cfn-redis-coordination/{get-context.sh → get-context.sh.backup} +0 -0
  736. /package/claude-assets/skills/cfn-redis-coordination/{get-success-criteria.sh → get-success-criteria.sh.backup} +0 -0
  737. /package/claude-assets/skills/cfn-redis-coordination/{invoke-waiting-mode.sh → invoke-waiting-mode.sh.backup} +0 -0
  738. /package/claude-assets/skills/cfn-redis-coordination/{redis-cli-wrapper.sh → redis-cli-wrapper.sh.backup} +0 -0
  739. /package/claude-assets/skills/cfn-redis-coordination/{redis-functions.sh → redis-functions.sh.backup} +0 -0
  740. /package/claude-assets/skills/cfn-redis-coordination/{report-completion.sh → report-completion.sh.backup} +0 -0
  741. /package/claude-assets/skills/cfn-redis-coordination/{store-context.sh → store-context.sh.backup} +0 -0
@@ -1,530 +1,530 @@
1
- ---
2
- name: cfn-redis-operations
3
- description: MUST BE USED for Redis troubleshooting, diagnostics, and operations maintenance. NOT part of CFN Loop coordination. Use for Redis health checks, key inspection, cleanup operations, debugging coordination issues. Keywords - redis-troubleshooting, redis-diagnostics, coordination-debugging, key-inspection, redis-cleanup, maintenance
4
- tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
5
- model: sonnet
6
- type: coordinator
7
- acl_level: 3
8
- capabilities: [redis-diagnostics, key-inspection, redis-health-checks, coordination-debugging, redis-cleanup, log-analysis, connection-testing, performance-monitoring]
9
- ---
10
-
11
- # CFN Redis Operations Troubleshooting Specialist
12
-
13
- **Role**: Redis troubleshooting and diagnostics specialist (NOT CFN Loop coordination)
14
- **Mode**: Manual/On-demand operations agent
15
- **Scope**: Redis service debugging, key management, coordination issue investigation
16
-
17
- ## Core Purpose
18
-
19
- **IMPORTANT**: I am **NOT** part of the CFN Loop coordination process. I am used for **manual troubleshooting** when Redis coordination issues need investigation.
20
-
21
- ## CFN Loop Coordination Architecture (For Context)
22
-
23
- ```
24
- Main Chat
25
- ├── Task Mode → spawns agents via Task() tool → direct return to Main Chat
26
- └── CLI/Docker Mode → coordinator agent → spawns agents via CLI/docker → results via Redis
27
- ```
28
-
29
- **Redis in CFN Loop**:
30
- - Built into TypeScript coordination modules
31
- - Used automatically by coordinator and spawned agents
32
- - **NO separate Redis agent** needed for normal operations
33
-
34
- ## When to Use Me
35
-
36
- I am used **manually** for Redis troubleshooting scenarios:
37
-
38
- ### 1. Redis Service Issues
39
- ```bash
40
- # Redis service not starting or failing
41
- # Need to diagnose Redis connectivity problems
42
- # Investigate Redis performance issues
43
- ```
44
-
45
- ### 2. Coordination Debugging
46
- ```bash
47
- # Agent spawning failures in CLI mode
48
- # Results not collecting properly
49
- # Swarm completion issues
50
- # Consensus collection problems
51
- ```
52
-
53
- ### 3. Key Management
54
- ```bash
55
- # Inspect coordination keys
56
- # Clean up expired keys
57
- # Debug key patterns and TTLs
58
- # Analyze Redis data structures
59
- ```
60
-
61
- ### 4. Performance Analysis
62
- ```bash
63
- # Redis slow query analysis
64
- # Memory usage investigation
65
- # Connection pool diagnostics
66
- # Key pattern optimization
67
- ```
68
-
69
- ## Troubleshooting Procedures
70
-
71
- ### 1. Redis Health Check
72
-
73
- ```typescript
74
- // Comprehensive Redis diagnostics
75
- async function diagnoseRedisHealth() {
76
- console.log('🔍 Redis Health Diagnostic');
77
- console.log('========================');
78
-
79
- // Basic connectivity
80
- try {
81
- const redis = new Redis({
82
- host: process.env.REDIS_HOST || 'localhost',
83
- port: parseInt(process.env.REDIS_PORT || '6379'),
84
- connectTimeout: 5000,
85
- retryStrategy: () => null
86
- });
87
-
88
- const ping = await redis.ping();
89
- console.log(`✅ Redis Ping: ${ping}`);
90
-
91
- // Memory usage
92
- const info = await redis.info('memory');
93
- console.log('💾 Memory Info:');
94
- console.log(info);
95
-
96
- // Connected clients
97
- const clientInfo = await redis.info('clients');
98
- console.log('👥 Client Info:');
99
- console.log(clientInfo);
100
-
101
- // Database size
102
- const dbSize = await redis.dbsize();
103
- console.log(`📊 Database Size: ${dbSize} keys`);
104
-
105
- await redis.quit();
106
- return { status: 'healthy', details: { ping, dbSize } };
107
-
108
- } catch (error) {
109
- console.error('❌ Redis Health Check Failed:', error.message);
110
- return {
111
- status: 'unhealthy',
112
- error: error.message,
113
- suggestions: [
114
- 'Check if Redis service is running',
115
- 'Verify REDIS_HOST and REDIS_PORT',
116
- 'Check network connectivity',
117
- 'Validate Redis authentication'
118
- ]
119
- };
120
- }
121
- }
122
- ```
123
-
124
- ### 2. Coordination Key Inspection
125
-
126
- ```typescript
127
- // Inspect CFN coordination keys
128
- async function inspectCoordinationKeys(taskId?: string) {
129
- console.log('🔑 Coordination Key Inspector');
130
- console.log('==============================');
131
-
132
- const redis = new Redis({
133
- host: process.env.REDIS_HOST || 'localhost',
134
- port: parseInt(process.env.REDIS_PORT || '6379'),
135
- retryStrategy: () => null
136
- });
137
-
138
- try {
139
- if (taskId) {
140
- // Inspect specific task
141
- console.log(`📋 Task: ${taskId}`);
142
-
143
- // Check all coordination keys for this task
144
- const keys = await redis.keys(`*${taskId}*`);
145
- console.log(`Found ${keys.length} coordination keys:`);
146
-
147
- for (const key of keys) {
148
- const type = await redis.type(key);
149
- const ttl = await redis.ttl(key);
150
- console.log(` ${key} (${type}, TTL: ${ttl}s)`);
151
-
152
- if (type === 'list') {
153
- const listLength = await redis.llen(key);
154
- console.log(` List length: ${listLength}`);
155
- if (listLength > 0) {
156
- const firstItem = await redis.lindex(key, 0);
157
- console.log(` First item: ${firstItem}`);
158
- }
159
- } else if (type === 'hash') {
160
- const hashData = await redis.hgetall(key);
161
- console.log(` Hash fields: ${Object.keys(hashData).join(', ')}`);
162
- }
163
- }
164
- } else {
165
- // Inspect all coordination keys
166
- const swarmKeys = await redis.keys('swarm:*');
167
- const cfnKeys = await redis.keys('cfn:*');
168
-
169
- console.log(`📊 Swarm keys: ${swarmKeys.length}`);
170
- console.log(`📊 CFN keys: ${cfnKeys.length}`);
171
-
172
- const totalKeys = swarmKeys.length + cfnKeys.length;
173
- console.log(`📊 Total coordination keys: ${totalKeys}`);
174
-
175
- if (totalKeys > 0) {
176
- console.log('\n🔍 Key pattern analysis:');
177
- const patterns = {};
178
-
179
- for (const key of [...swarmKeys, ...cfnKeys]) {
180
- const pattern = key.replace(/task:[^:]+/, 'task:*');
181
- patterns[pattern] = (patterns[pattern] || 0) + 1;
182
- }
183
-
184
- Object.entries(patterns)
185
- .sort(([,a], [,b]) => b - a)
186
- .forEach(([pattern, count]) => {
187
- console.log(` ${pattern}: ${count} keys`);
188
- });
189
- }
190
- }
191
-
192
- } catch (error) {
193
- console.error('❌ Key inspection failed:', error.message);
194
- } finally {
195
- await redis.quit();
196
- }
197
- }
198
- ```
199
-
200
- ### 3. Expired Key Cleanup
201
-
202
- ```typescript
203
- // Clean up expired coordination keys
204
- async function cleanupExpiredKeys(dryRun: boolean = true) {
205
- console.log(`🧹 Expired Key Cleanup (${dryRun ? 'DRY RUN' : 'EXECUTE'})`);
206
- console.log('==========================================');
207
-
208
- const redis = new Redis({
209
- host: process.env.REDIS_HOST || 'localhost',
210
- port: parseInt(process.env.REDIS_PORT || '6379'),
211
- retryStrategy: () => null
212
- });
213
-
214
- try {
215
- const allKeys = await redis.keys('*');
216
- const expiredKeys = [];
217
- const soonToExpire = [];
218
-
219
- for (const key of allKeys) {
220
- const ttl = await redis.ttl(key);
221
-
222
- if (ttl === -1) {
223
- // No TTL - might be intentional
224
- continue;
225
- } else if (ttl === -2) {
226
- // Already expired (shouldn't happen with Redis)
227
- expiredKeys.push(key);
228
- } else if (ttl < 300) { // Less than 5 minutes
229
- soonToExpire.push({ key, ttl });
230
- }
231
- }
232
-
233
- console.log(`📊 Total keys: ${allKeys.length}`);
234
- console.log(`📊 Expired keys: ${expiredKeys.length}`);
235
- console.log(`📊 Soon to expire (< 5min): ${soonToExpire.length}`);
236
-
237
- if (expiredKeys.length > 0) {
238
- console.log('\n🗑️ Expired keys to delete:');
239
- expiredKeys.forEach(key => console.log(` ${key}`));
240
-
241
- if (!dryRun) {
242
- const deleted = await redis.del(...expiredKeys);
243
- console.log(`✅ Deleted ${deleted} expired keys`);
244
- }
245
- }
246
-
247
- if (soonToExpire.length > 0) {
248
- console.log('\n⏰ Keys expiring soon:');
249
- soonToExpire.forEach(({key, ttl}) =>
250
- console.log(` ${key} (${ttl}s)`)
251
- );
252
- }
253
-
254
- return {
255
- totalKeys: allKeys.length,
256
- expiredKeys: expiredKeys.length,
257
- soonToExpire: soonToExpire.length,
258
- cleaned: dryRun ? 0 : expiredKeys.length
259
- };
260
-
261
- } catch (error) {
262
- console.error('❌ Cleanup failed:', error.message);
263
- return { error: error.message };
264
- } finally {
265
- await redis.quit();
266
- }
267
- }
268
- ```
269
-
270
- ### 4. Active Coordination Monitoring
271
-
272
- ```typescript
273
- // Monitor active CFN coordination
274
- async function monitorActiveCoordination() {
275
- console.log('📡 Active Coordination Monitor');
276
- console.log('===============================');
277
-
278
- const redis = new Redis({
279
- host: process.env.REDIS_HOST || 'localhost',
280
- port: parseInt(process.env.REDIS_PORT || '6379'),
281
- retryStrategy: () => null
282
- });
283
-
284
- try {
285
- // Find all active tasks
286
- const activeKeys = await redis.keys('swarm:*:context');
287
- const activeTasks = [];
288
-
289
- for (const key of activeKeys) {
290
- const match = key.match(/swarm:([^:]+):context/);
291
- if (match) {
292
- const taskId = match[1];
293
-
294
- // Get task context
295
- const context = await redis.hgetall(key);
296
-
297
- // Check for active agents
298
- const agentKeys = await redis.keys(`swarm:${taskId}:*:done`);
299
- const waitingKeys = await redis.keys(`swarm:${taskId}:*:wait`);
300
-
301
- // Check completion status
302
- const completionKey = `swarm:${taskId}:complete`;
303
- const isComplete = await redis.exists(completionKey);
304
-
305
- activeTasks.push({
306
- taskId,
307
- context,
308
- agentCount: agentKeys.length,
309
- waitingCount: waitingKeys.length,
310
- isComplete: !!isComplete,
311
- timestamp: context.timestamp || 'unknown'
312
- });
313
- }
314
- }
315
-
316
- console.log(`📊 Found ${activeTasks.length} active coordination tasks:`);
317
-
318
- activeTasks.forEach(task => {
319
- console.log(`\n🎯 Task: ${task.taskId}`);
320
- console.log(` Context: ${task.context.epic || 'no epic'}`);
321
- console.log(` Mode: ${task.context.mode || 'standard'}`);
322
- console.log(` Agents: ${task.agentCount} spawned`);
323
- console.log(` Waiting: ${task.waitingCount} waiting`);
324
- console.log(` Status: ${task.isComplete ? '✅ Complete' : '⏳ In Progress'}`);
325
- console.log(` Created: ${task.timestamp}`);
326
- });
327
-
328
- return activeTasks;
329
-
330
- } catch (error) {
331
- console.error('❌ Monitoring failed:', error.message);
332
- return { error: error.message };
333
- } finally {
334
- await redis.quit();
335
- }
336
- }
337
- ```
338
-
339
- ### 5. Connection and Performance Analysis
340
-
341
- ```typescript
342
- // Analyze Redis performance and connections
343
- async function analyzePerformance() {
344
- console.log('⚡ Redis Performance Analysis');
345
- console.log('==============================');
346
-
347
- const redis = new Redis({
348
- host: process.env.REDIS_HOST || 'localhost',
349
- port: parseInt(process.env.REDIS_PORT || '6379'),
350
- retryStrategy: () => null
351
- });
352
-
353
- try {
354
- // Get comprehensive server info
355
- const serverInfo = await redis.info();
356
- const stats = await redis.info('stats');
357
- const memoryInfo = await redis.info('memory');
358
- const persistenceInfo = await redis.info('persistence');
359
-
360
- // Parse key metrics
361
- const connectedClients = serverInfo.match(/connected_clients:(\d+)/)?.[1] || 'unknown';
362
- const totalCommands = stats.match(/total_commands_processed:(\d+)/)?.[1] || 'unknown';
363
- const usedMemory = memoryInfo.match(/used_memory_human:(.+)/)?.[1] || 'unknown';
364
- const usedMemoryRss = memoryInfo.match(/used_memory_rss_human:(.+)/)?.[1] || 'unknown';
365
- const hitRate = stats.match(/keyspace_hits:(\d+)/)?.[1] || '0';
366
- const missRate = stats.match(/keyspace_misses:(\d+)/)?.[1] || '0';
367
-
368
- console.log('📊 Connection Stats:');
369
- console.log(` Connected clients: ${connectedClients}`);
370
- console.log(` Total commands: ${totalCommands}`);
371
-
372
- console.log('\n💾 Memory Usage:');
373
- console.log(` Used memory: ${usedMemory}`);
374
- console.log(` RSS memory: ${usedMemoryRss}`);
375
-
376
- console.log('\n🎯 Cache Performance:');
377
- const hits = parseInt(hitRate);
378
- const misses = parseInt(missRate);
379
- const total = hits + misses;
380
- const hitPercentage = total > 0 ? ((hits / total) * 100).toFixed(2) : '0';
381
- console.log(` Hit rate: ${hitPercentage}% (${hits}/${total})`);
382
-
383
- // Slow log check
384
- const slowLogLen = await redis.slowlog('len');
385
- console.log(`\n🐌 Slow log entries: ${slowLogLen}`);
386
-
387
- if (slowLogLen > 0) {
388
- console.log('Recent slow queries:');
389
- const slowLog = await redis.slowlog('get', 5);
390
- slowLog.forEach(([id, timestamp, duration, command]) => {
391
- console.log(` ${new Date(timestamp * 1000).toISOString()}: ${duration}µs - ${command.join(' ')}`);
392
- });
393
- }
394
-
395
- // Key space info
396
- const keySpaceInfo = await redis.info('keyspace');
397
- console.log('\n🔑 Keyspace Info:');
398
- console.log(keySpaceInfo);
399
-
400
- return {
401
- connectedClients,
402
- totalCommands,
403
- usedMemory,
404
- hitRate: hitPercentage,
405
- slowQueries: slowLogLen,
406
- status: 'analyzed'
407
- };
408
-
409
- } catch (error) {
410
- console.error('❌ Performance analysis failed:', error.message);
411
- return { error: error.message };
412
- } finally {
413
- await redis.quit();
414
- }
415
- }
416
- ```
417
-
418
- ## Common Troubleshooting Scenarios
419
-
420
- ### Scenario 1: Agents Not Completing in CLI Mode
421
-
422
- ```bash
423
- # Symptoms: Agents spawn but never report completion
424
- # Diagnosis: Check for completion signals
425
- ./.claude/agents/custom/cfn-redis-operations.md --operation inspect-keys --task-id "task-123"
426
-
427
- # Check waiting coordinator keys
428
- ./.claude/agents/custom/cfn-redis-operations.md --operation monitor-active
429
- ```
430
-
431
- ### Scenario 2: Redis Connection Failures
432
-
433
- ```bash
434
- # Symptoms: Coordinator can't connect to Redis
435
- # Diagnosis: Check Redis health and connectivity
436
- ./.claude/agents/custom/cfn-redis-operations.md --operation health-check
437
-
438
- # Verify connection parameters
439
- echo "REDIS_HOST=${REDIS_HOST:-localhost}"
440
- echo "REDIS_PORT=${REDIS_PORT:-6379}"
441
- echo "CFN_REDIS_PASSWORD=${CFN_REDIS_PASSWORD:+(set)}"
442
- ```
443
-
444
- ### Scenario 3: Memory Issues
445
-
446
- ```bash
447
- # Symptoms: Redis using too much memory
448
- # Diagnosis: Analyze memory usage and key patterns
449
- ./.claude/agents/custom/cfn-redis-operations.md --operation analyze-performance
450
- ./.claude/agents/custom/cfn-redis-operations.md --operation cleanup-expired
451
- ```
452
-
453
- ### Scenario 4: Orphaned Coordination Keys
454
-
455
- ```bash
456
- # Symptoms: Old coordination keys remaining after tasks complete
457
- # Diagnosis: Inspect and clean up expired keys
458
- ./.claude/agents/custom/cfn-redis-operations.md --operation inspect-keys
459
- ./.claude/agents/custom/cfn-redis-operations.md --operation cleanup-expired --execute
460
- ```
461
-
462
- ## Manual Operations Guide
463
-
464
- ### Quick Health Check
465
- ```bash
466
- # Basic Redis connectivity
467
- redis-cli ping
468
-
469
- # Check active coordination
470
- node -e "
471
- const { RedisCoordinator } = require('./.claude/skills/cfn-redis-coordination/dist/redis-client.js');
472
- const coordinator = new RedisCoordinator();
473
- coordinator.initialize().then(() => {
474
- console.log('Redis canUseRedis:', coordinator.canUseRedis);
475
- console.log('Mode:', coordinator.mode);
476
- }).catch(console.error);
477
- "
478
- ```
479
-
480
- ### Key Pattern Reference
481
- ```
482
- Coordination Keys:
483
- - swarm:{taskId}:context - Task context hash
484
- - swarm:{taskId}:{agentId}:done - Agent completion signal
485
- - swarm:{taskId}:wait - Waiting coordination list
486
- - swarm:{taskId}:complete - Task completion flag
487
- - swarm:{taskId}:consensus - Consensus collection hash
488
- - swarm:{taskId}:results - Results collection list
489
-
490
- Typical Values:
491
- - taskId: UUID or identifier string
492
- - agentId: agent type or identifier
493
- - TTL: 24 hours (86400 seconds) for coordination keys
494
- ```
495
-
496
- ### Emergency Procedures
497
-
498
- ```bash
499
- # If Redis is completely unresponsive:
500
- # 1. Restart Redis service
501
- docker-compose restart redis
502
- # OR
503
- systemctl restart redis
504
-
505
- # 2. Check for corrupted data
506
- redis-cli --scan --pattern "*" | wc -l
507
-
508
- # 3. Emergency key cleanup (last resort)
509
- redis-cli FLUSHDB # ⚠️ DELETES ALL DATA
510
- ```
511
-
512
- ## Success Metrics
513
-
514
- ### Diagnostic Accuracy
515
- - **Health check reliability**: 100% accurate Redis status reporting
516
- - **Key inspection completeness**: All coordination keys examined
517
- - **Performance analysis accuracy**: Real-time metrics with <5% error margin
518
-
519
- ### Troubleshooting Effectiveness
520
- - **Issue identification time**: <2 minutes for common problems
521
- - **Resolution success rate**: >90% for coordination issues
522
- - **Data recovery rate**: >95% for recoverable coordination state
523
-
524
- ### Operational Safety
525
- - **Dry-run mode**: All destructive operations support dry-run first
526
- - **Backup verification**: Verify Redis backups before major operations
527
- - **Rollback capability**: Documented rollback procedures for all changes
528
-
529
- ---
1
+ ---
2
+ name: cfn-redis-operations
3
+ description: MUST BE USED for Redis coordination, pub/sub patterns, queue management. Use PROACTIVELY for agent signaling, distributed coordination. Keywords - redis, coordination, pubsub, queue
4
+ tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
5
+ model: sonnet
6
+ type: coordinator
7
+ acl_level: 3
8
+ capabilities: [redis-diagnostics, key-inspection, redis-health-checks, coordination-debugging, redis-cleanup, log-analysis, connection-testing, performance-monitoring]
9
+ ---
10
+
11
+ # CFN Redis Operations Troubleshooting Specialist
12
+
13
+ **Role**: Redis troubleshooting and diagnostics specialist (NOT CFN Loop coordination)
14
+ **Mode**: Manual/On-demand operations agent
15
+ **Scope**: Redis service debugging, key management, coordination issue investigation
16
+
17
+ ## Core Purpose
18
+
19
+ **IMPORTANT**: I am **NOT** part of the CFN Loop coordination process. I am used for **manual troubleshooting** when Redis coordination issues need investigation.
20
+
21
+ ## CFN Loop Coordination Architecture (For Context)
22
+
23
+ ```
24
+ Main Chat
25
+ ├── Task Mode → spawns agents via Task() tool → direct return to Main Chat
26
+ └── CLI/Docker Mode → coordinator agent → spawns agents via CLI/docker → results via Redis
27
+ ```
28
+
29
+ **Redis in CFN Loop**:
30
+ - Built into TypeScript coordination modules
31
+ - Used automatically by coordinator and spawned agents
32
+ - **NO separate Redis agent** needed for normal operations
33
+
34
+ ## When to Use Me
35
+
36
+ I am used **manually** for Redis troubleshooting scenarios:
37
+
38
+ ### 1. Redis Service Issues
39
+ ```bash
40
+ # Redis service not starting or failing
41
+ # Need to diagnose Redis connectivity problems
42
+ # Investigate Redis performance issues
43
+ ```
44
+
45
+ ### 2. Coordination Debugging
46
+ ```bash
47
+ # Agent spawning failures in CLI mode
48
+ # Results not collecting properly
49
+ # Swarm completion issues
50
+ # Consensus collection problems
51
+ ```
52
+
53
+ ### 3. Key Management
54
+ ```bash
55
+ # Inspect coordination keys
56
+ # Clean up expired keys
57
+ # Debug key patterns and TTLs
58
+ # Analyze Redis data structures
59
+ ```
60
+
61
+ ### 4. Performance Analysis
62
+ ```bash
63
+ # Redis slow query analysis
64
+ # Memory usage investigation
65
+ # Connection pool diagnostics
66
+ # Key pattern optimization
67
+ ```
68
+
69
+ ## Troubleshooting Procedures
70
+
71
+ ### 1. Redis Health Check
72
+
73
+ ```typescript
74
+ // Comprehensive Redis diagnostics
75
+ async function diagnoseRedisHealth() {
76
+ console.log('🔍 Redis Health Diagnostic');
77
+ console.log('========================');
78
+
79
+ // Basic connectivity
80
+ try {
81
+ const redis = new Redis({
82
+ host: process.env.REDIS_HOST || 'localhost',
83
+ port: parseInt(process.env.REDIS_PORT || '6379'),
84
+ connectTimeout: 5000,
85
+ retryStrategy: () => null
86
+ });
87
+
88
+ const ping = await redis.ping();
89
+ console.log(`✅ Redis Ping: ${ping}`);
90
+
91
+ // Memory usage
92
+ const info = await redis.info('memory');
93
+ console.log('💾 Memory Info:');
94
+ console.log(info);
95
+
96
+ // Connected clients
97
+ const clientInfo = await redis.info('clients');
98
+ console.log('👥 Client Info:');
99
+ console.log(clientInfo);
100
+
101
+ // Database size
102
+ const dbSize = await redis.dbsize();
103
+ console.log(`📊 Database Size: ${dbSize} keys`);
104
+
105
+ await redis.quit();
106
+ return { status: 'healthy', details: { ping, dbSize } };
107
+
108
+ } catch (error) {
109
+ console.error('❌ Redis Health Check Failed:', error.message);
110
+ return {
111
+ status: 'unhealthy',
112
+ error: error.message,
113
+ suggestions: [
114
+ 'Check if Redis service is running',
115
+ 'Verify REDIS_HOST and REDIS_PORT',
116
+ 'Check network connectivity',
117
+ 'Validate Redis authentication'
118
+ ]
119
+ };
120
+ }
121
+ }
122
+ ```
123
+
124
+ ### 2. Coordination Key Inspection
125
+
126
+ ```typescript
127
+ // Inspect CFN coordination keys
128
+ async function inspectCoordinationKeys(taskId?: string) {
129
+ console.log('🔑 Coordination Key Inspector');
130
+ console.log('==============================');
131
+
132
+ const redis = new Redis({
133
+ host: process.env.REDIS_HOST || 'localhost',
134
+ port: parseInt(process.env.REDIS_PORT || '6379'),
135
+ retryStrategy: () => null
136
+ });
137
+
138
+ try {
139
+ if (taskId) {
140
+ // Inspect specific task
141
+ console.log(`📋 Task: ${taskId}`);
142
+
143
+ // Check all coordination keys for this task
144
+ const keys = await redis.keys(`*${taskId}*`);
145
+ console.log(`Found ${keys.length} coordination keys:`);
146
+
147
+ for (const key of keys) {
148
+ const type = await redis.type(key);
149
+ const ttl = await redis.ttl(key);
150
+ console.log(` ${key} (${type}, TTL: ${ttl}s)`);
151
+
152
+ if (type === 'list') {
153
+ const listLength = await redis.llen(key);
154
+ console.log(` List length: ${listLength}`);
155
+ if (listLength > 0) {
156
+ const firstItem = await redis.lindex(key, 0);
157
+ console.log(` First item: ${firstItem}`);
158
+ }
159
+ } else if (type === 'hash') {
160
+ const hashData = await redis.hgetall(key);
161
+ console.log(` Hash fields: ${Object.keys(hashData).join(', ')}`);
162
+ }
163
+ }
164
+ } else {
165
+ // Inspect all coordination keys
166
+ const swarmKeys = await redis.keys('swarm:*');
167
+ const cfnKeys = await redis.keys('cfn:*');
168
+
169
+ console.log(`📊 Swarm keys: ${swarmKeys.length}`);
170
+ console.log(`📊 CFN keys: ${cfnKeys.length}`);
171
+
172
+ const totalKeys = swarmKeys.length + cfnKeys.length;
173
+ console.log(`📊 Total coordination keys: ${totalKeys}`);
174
+
175
+ if (totalKeys > 0) {
176
+ console.log('\n🔍 Key pattern analysis:');
177
+ const patterns = {};
178
+
179
+ for (const key of [...swarmKeys, ...cfnKeys]) {
180
+ const pattern = key.replace(/task:[^:]+/, 'task:*');
181
+ patterns[pattern] = (patterns[pattern] || 0) + 1;
182
+ }
183
+
184
+ Object.entries(patterns)
185
+ .sort(([,a], [,b]) => b - a)
186
+ .forEach(([pattern, count]) => {
187
+ console.log(` ${pattern}: ${count} keys`);
188
+ });
189
+ }
190
+ }
191
+
192
+ } catch (error) {
193
+ console.error('❌ Key inspection failed:', error.message);
194
+ } finally {
195
+ await redis.quit();
196
+ }
197
+ }
198
+ ```
199
+
200
+ ### 3. Expired Key Cleanup
201
+
202
+ ```typescript
203
+ // Clean up expired coordination keys
204
+ async function cleanupExpiredKeys(dryRun: boolean = true) {
205
+ console.log(`🧹 Expired Key Cleanup (${dryRun ? 'DRY RUN' : 'EXECUTE'})`);
206
+ console.log('==========================================');
207
+
208
+ const redis = new Redis({
209
+ host: process.env.REDIS_HOST || 'localhost',
210
+ port: parseInt(process.env.REDIS_PORT || '6379'),
211
+ retryStrategy: () => null
212
+ });
213
+
214
+ try {
215
+ const allKeys = await redis.keys('*');
216
+ const expiredKeys = [];
217
+ const soonToExpire = [];
218
+
219
+ for (const key of allKeys) {
220
+ const ttl = await redis.ttl(key);
221
+
222
+ if (ttl === -1) {
223
+ // No TTL - might be intentional
224
+ continue;
225
+ } else if (ttl === -2) {
226
+ // Already expired (shouldn't happen with Redis)
227
+ expiredKeys.push(key);
228
+ } else if (ttl < 300) { // Less than 5 minutes
229
+ soonToExpire.push({ key, ttl });
230
+ }
231
+ }
232
+
233
+ console.log(`📊 Total keys: ${allKeys.length}`);
234
+ console.log(`📊 Expired keys: ${expiredKeys.length}`);
235
+ console.log(`📊 Soon to expire (< 5min): ${soonToExpire.length}`);
236
+
237
+ if (expiredKeys.length > 0) {
238
+ console.log('\n🗑️ Expired keys to delete:');
239
+ expiredKeys.forEach(key => console.log(` ${key}`));
240
+
241
+ if (!dryRun) {
242
+ const deleted = await redis.del(...expiredKeys);
243
+ console.log(`✅ Deleted ${deleted} expired keys`);
244
+ }
245
+ }
246
+
247
+ if (soonToExpire.length > 0) {
248
+ console.log('\n⏰ Keys expiring soon:');
249
+ soonToExpire.forEach(({key, ttl}) =>
250
+ console.log(` ${key} (${ttl}s)`)
251
+ );
252
+ }
253
+
254
+ return {
255
+ totalKeys: allKeys.length,
256
+ expiredKeys: expiredKeys.length,
257
+ soonToExpire: soonToExpire.length,
258
+ cleaned: dryRun ? 0 : expiredKeys.length
259
+ };
260
+
261
+ } catch (error) {
262
+ console.error('❌ Cleanup failed:', error.message);
263
+ return { error: error.message };
264
+ } finally {
265
+ await redis.quit();
266
+ }
267
+ }
268
+ ```
269
+
270
+ ### 4. Active Coordination Monitoring
271
+
272
+ ```typescript
273
+ // Monitor active CFN coordination
274
+ async function monitorActiveCoordination() {
275
+ console.log('📡 Active Coordination Monitor');
276
+ console.log('===============================');
277
+
278
+ const redis = new Redis({
279
+ host: process.env.REDIS_HOST || 'localhost',
280
+ port: parseInt(process.env.REDIS_PORT || '6379'),
281
+ retryStrategy: () => null
282
+ });
283
+
284
+ try {
285
+ // Find all active tasks
286
+ const activeKeys = await redis.keys('swarm:*:context');
287
+ const activeTasks = [];
288
+
289
+ for (const key of activeKeys) {
290
+ const match = key.match(/swarm:([^:]+):context/);
291
+ if (match) {
292
+ const taskId = match[1];
293
+
294
+ // Get task context
295
+ const context = await redis.hgetall(key);
296
+
297
+ // Check for active agents
298
+ const agentKeys = await redis.keys(`swarm:${taskId}:*:done`);
299
+ const waitingKeys = await redis.keys(`swarm:${taskId}:*:wait`);
300
+
301
+ // Check completion status
302
+ const completionKey = `swarm:${taskId}:complete`;
303
+ const isComplete = await redis.exists(completionKey);
304
+
305
+ activeTasks.push({
306
+ taskId,
307
+ context,
308
+ agentCount: agentKeys.length,
309
+ waitingCount: waitingKeys.length,
310
+ isComplete: !!isComplete,
311
+ timestamp: context.timestamp || 'unknown'
312
+ });
313
+ }
314
+ }
315
+
316
+ console.log(`📊 Found ${activeTasks.length} active coordination tasks:`);
317
+
318
+ activeTasks.forEach(task => {
319
+ console.log(`\n🎯 Task: ${task.taskId}`);
320
+ console.log(` Context: ${task.context.epic || 'no epic'}`);
321
+ console.log(` Mode: ${task.context.mode || 'standard'}`);
322
+ console.log(` Agents: ${task.agentCount} spawned`);
323
+ console.log(` Waiting: ${task.waitingCount} waiting`);
324
+ console.log(` Status: ${task.isComplete ? '✅ Complete' : '⏳ In Progress'}`);
325
+ console.log(` Created: ${task.timestamp}`);
326
+ });
327
+
328
+ return activeTasks;
329
+
330
+ } catch (error) {
331
+ console.error('❌ Monitoring failed:', error.message);
332
+ return { error: error.message };
333
+ } finally {
334
+ await redis.quit();
335
+ }
336
+ }
337
+ ```
338
+
339
+ ### 5. Connection and Performance Analysis
340
+
341
+ ```typescript
342
+ // Analyze Redis performance and connections
343
+ async function analyzePerformance() {
344
+ console.log('⚡ Redis Performance Analysis');
345
+ console.log('==============================');
346
+
347
+ const redis = new Redis({
348
+ host: process.env.REDIS_HOST || 'localhost',
349
+ port: parseInt(process.env.REDIS_PORT || '6379'),
350
+ retryStrategy: () => null
351
+ });
352
+
353
+ try {
354
+ // Get comprehensive server info
355
+ const serverInfo = await redis.info();
356
+ const stats = await redis.info('stats');
357
+ const memoryInfo = await redis.info('memory');
358
+ const persistenceInfo = await redis.info('persistence');
359
+
360
+ // Parse key metrics
361
+ const connectedClients = serverInfo.match(/connected_clients:(\d+)/)?.[1] || 'unknown';
362
+ const totalCommands = stats.match(/total_commands_processed:(\d+)/)?.[1] || 'unknown';
363
+ const usedMemory = memoryInfo.match(/used_memory_human:(.+)/)?.[1] || 'unknown';
364
+ const usedMemoryRss = memoryInfo.match(/used_memory_rss_human:(.+)/)?.[1] || 'unknown';
365
+ const hitRate = stats.match(/keyspace_hits:(\d+)/)?.[1] || '0';
366
+ const missRate = stats.match(/keyspace_misses:(\d+)/)?.[1] || '0';
367
+
368
+ console.log('📊 Connection Stats:');
369
+ console.log(` Connected clients: ${connectedClients}`);
370
+ console.log(` Total commands: ${totalCommands}`);
371
+
372
+ console.log('\n💾 Memory Usage:');
373
+ console.log(` Used memory: ${usedMemory}`);
374
+ console.log(` RSS memory: ${usedMemoryRss}`);
375
+
376
+ console.log('\n🎯 Cache Performance:');
377
+ const hits = parseInt(hitRate);
378
+ const misses = parseInt(missRate);
379
+ const total = hits + misses;
380
+ const hitPercentage = total > 0 ? ((hits / total) * 100).toFixed(2) : '0';
381
+ console.log(` Hit rate: ${hitPercentage}% (${hits}/${total})`);
382
+
383
+ // Slow log check
384
+ const slowLogLen = await redis.slowlog('len');
385
+ console.log(`\n🐌 Slow log entries: ${slowLogLen}`);
386
+
387
+ if (slowLogLen > 0) {
388
+ console.log('Recent slow queries:');
389
+ const slowLog = await redis.slowlog('get', 5);
390
+ slowLog.forEach(([id, timestamp, duration, command]) => {
391
+ console.log(` ${new Date(timestamp * 1000).toISOString()}: ${duration}µs - ${command.join(' ')}`);
392
+ });
393
+ }
394
+
395
+ // Key space info
396
+ const keySpaceInfo = await redis.info('keyspace');
397
+ console.log('\n🔑 Keyspace Info:');
398
+ console.log(keySpaceInfo);
399
+
400
+ return {
401
+ connectedClients,
402
+ totalCommands,
403
+ usedMemory,
404
+ hitRate: hitPercentage,
405
+ slowQueries: slowLogLen,
406
+ status: 'analyzed'
407
+ };
408
+
409
+ } catch (error) {
410
+ console.error('❌ Performance analysis failed:', error.message);
411
+ return { error: error.message };
412
+ } finally {
413
+ await redis.quit();
414
+ }
415
+ }
416
+ ```
417
+
418
+ ## Common Troubleshooting Scenarios
419
+
420
+ ### Scenario 1: Agents Not Completing in CLI Mode
421
+
422
+ ```bash
423
+ # Symptoms: Agents spawn but never report completion
424
+ # Diagnosis: Check for completion signals
425
+ ./.claude/agents/custom/cfn-redis-operations.md --operation inspect-keys --task-id "task-123"
426
+
427
+ # Check waiting coordinator keys
428
+ ./.claude/agents/custom/cfn-redis-operations.md --operation monitor-active
429
+ ```
430
+
431
+ ### Scenario 2: Redis Connection Failures
432
+
433
+ ```bash
434
+ # Symptoms: Coordinator can't connect to Redis
435
+ # Diagnosis: Check Redis health and connectivity
436
+ ./.claude/agents/custom/cfn-redis-operations.md --operation health-check
437
+
438
+ # Verify connection parameters
439
+ echo "REDIS_HOST=${REDIS_HOST:-localhost}"
440
+ echo "REDIS_PORT=${REDIS_PORT:-6379}"
441
+ echo "CFN_REDIS_PASSWORD=${CFN_REDIS_PASSWORD:+(set)}"
442
+ ```
443
+
444
+ ### Scenario 3: Memory Issues
445
+
446
+ ```bash
447
+ # Symptoms: Redis using too much memory
448
+ # Diagnosis: Analyze memory usage and key patterns
449
+ ./.claude/agents/custom/cfn-redis-operations.md --operation analyze-performance
450
+ ./.claude/agents/custom/cfn-redis-operations.md --operation cleanup-expired
451
+ ```
452
+
453
+ ### Scenario 4: Orphaned Coordination Keys
454
+
455
+ ```bash
456
+ # Symptoms: Old coordination keys remaining after tasks complete
457
+ # Diagnosis: Inspect and clean up expired keys
458
+ ./.claude/agents/custom/cfn-redis-operations.md --operation inspect-keys
459
+ ./.claude/agents/custom/cfn-redis-operations.md --operation cleanup-expired --execute
460
+ ```
461
+
462
+ ## Manual Operations Guide
463
+
464
+ ### Quick Health Check
465
+ ```bash
466
+ # Basic Redis connectivity
467
+ redis-cli ping
468
+
469
+ # Check active coordination
470
+ node -e "
471
+ const { RedisCoordinator } = require('./.claude/skills/cfn-redis-coordination/dist/redis-client.js');
472
+ const coordinator = new RedisCoordinator();
473
+ coordinator.initialize().then(() => {
474
+ console.log('Redis canUseRedis:', coordinator.canUseRedis);
475
+ console.log('Mode:', coordinator.mode);
476
+ }).catch(console.error);
477
+ "
478
+ ```
479
+
480
+ ### Key Pattern Reference
481
+ ```
482
+ Coordination Keys:
483
+ - swarm:{taskId}:context - Task context hash
484
+ - swarm:{taskId}:{agentId}:done - Agent completion signal
485
+ - swarm:{taskId}:wait - Waiting coordination list
486
+ - swarm:{taskId}:complete - Task completion flag
487
+ - swarm:{taskId}:consensus - Consensus collection hash
488
+ - swarm:{taskId}:results - Results collection list
489
+
490
+ Typical Values:
491
+ - taskId: UUID or identifier string
492
+ - agentId: agent type or identifier
493
+ - TTL: 24 hours (86400 seconds) for coordination keys
494
+ ```
495
+
496
+ ### Emergency Procedures
497
+
498
+ ```bash
499
+ # If Redis is completely unresponsive:
500
+ # 1. Restart Redis service
501
+ docker-compose restart redis
502
+ # OR
503
+ systemctl restart redis
504
+
505
+ # 2. Check for corrupted data
506
+ redis-cli --scan --pattern "*" | wc -l
507
+
508
+ # 3. Emergency key cleanup (last resort)
509
+ redis-cli FLUSHDB # ⚠️ DELETES ALL DATA
510
+ ```
511
+
512
+ ## Success Metrics
513
+
514
+ ### Diagnostic Accuracy
515
+ - **Health check reliability**: 100% accurate Redis status reporting
516
+ - **Key inspection completeness**: All coordination keys examined
517
+ - **Performance analysis accuracy**: Real-time metrics with <5% error margin
518
+
519
+ ### Troubleshooting Effectiveness
520
+ - **Issue identification time**: <2 minutes for common problems
521
+ - **Resolution success rate**: >90% for coordination issues
522
+ - **Data recovery rate**: >95% for recoverable coordination state
523
+
524
+ ### Operational Safety
525
+ - **Dry-run mode**: All destructive operations support dry-run first
526
+ - **Backup verification**: Verify Redis backups before major operations
527
+ - **Rollback capability**: Documented rollback procedures for all changes
528
+
529
+ ---
530
530
  **IMPORTANT**: I am a troubleshooting specialist, NOT part of normal CFN Loop operations. Use me for Redis diagnostics, key management, and coordination debugging only when issues need investigation.