claude-flow-novice 2.15.11 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. package/.claude/cfn-extras/agents/cfn-v3-coordinator.md +517 -0
  2. package/.claude/commands/cfn-loop-cli.md +158 -464
  3. package/.claude/commands/cfn-loop-trigger.md +114 -0
  4. package/.claude/hooks/cfn-invoke-post-edit-ts.sh +100 -0
  5. package/.claude/hooks/cfn-invoke-post-edit-ts.sh.backup +78 -0
  6. package/.claude/hooks/cfn-invoke-post-edit.sh +22 -0
  7. package/.claude/hooks/cfn-invoke-post-edit.sh.backup +87 -0
  8. package/.claude/hooks/cfn-invoke-pre-edit-ts.sh +116 -0
  9. package/.claude/hooks/cfn-invoke-pre-edit-ts.sh.backup +94 -0
  10. package/.claude/hooks/cfn-invoke-pre-edit.sh +22 -0
  11. package/.claude/hooks/cfn-invoke-pre-edit.sh.backup +88 -0
  12. package/.claude/skills/cfn-agent-spawning/SKILL.md +48 -1
  13. package/.claude/skills/cfn-agent-spawning/SKILL.md.backup +135 -0
  14. package/.claude/skills/cfn-agent-spawning/TYPESCRIPT_MIGRATION.md +567 -0
  15. package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +22 -0
  16. package/.claude/skills/{cfn-redis-coordination/check-dependencies.sh → cfn-agent-spawning/check-dependencies.sh.backup} +3 -5
  17. package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -0
  18. package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh.backup +127 -0
  19. package/.claude/skills/cfn-agent-spawning/parse-agent-provider.sh +22 -0
  20. package/.claude/skills/cfn-agent-spawning/parse-agent-provider.sh.backup +59 -0
  21. package/.claude/skills/cfn-agent-spawning/spawn-agent-wrapper.sh +63 -0
  22. package/.claude/skills/cfn-agent-spawning/spawn-agent-wrapper.sh.backup +41 -0
  23. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +26 -1
  24. package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +22 -0
  25. package/.claude/skills/cfn-agent-spawning/spawn-templates.sh.backup +613 -0
  26. package/.claude/skills/cfn-agent-spawning/spawn-worker.sh +22 -0
  27. package/.claude/skills/cfn-agent-spawning/spawn-worker.sh.backup +176 -0
  28. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/metadata.json +8 -0
  29. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/original +271 -0
  30. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/revert.sh +7 -0
  31. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/metadata.json +8 -0
  32. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/original +325 -0
  33. package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/revert.sh +7 -0
  34. package/.claude/skills/cfn-loop-orchestration/CLI_IMPLEMENTATION_SUMMARY.md +330 -0
  35. package/.claude/skills/cfn-loop-orchestration/CONFIGURATION_IMPROVEMENTS.md +318 -0
  36. package/.claude/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_MIGRATION.md +308 -0
  37. package/.claude/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_QUICK_START.md +378 -0
  38. package/.claude/skills/cfn-loop-orchestration/E2E_VALIDATION_REPORT.md +262 -0
  39. package/.claude/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +319 -519
  40. package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_E2E_REPORT.md +299 -0
  41. package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_EXECUTION_SUMMARY.md +403 -0
  42. package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +323 -0
  43. package/.claude/skills/cfn-loop-orchestration/SKILL.md +159 -48
  44. package/.claude/skills/cfn-loop-orchestration/SPAWN_AGENTS_IMPLEMENTATION.md +188 -0
  45. package/.claude/skills/cfn-loop-orchestration/TEST_COVERAGE_REPORT.md +335 -0
  46. package/.claude/skills/cfn-loop-orchestration/TEST_COVERAGE_SUMMARY.md +456 -0
  47. package/.claude/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_REPORT.md +709 -0
  48. package/.claude/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_SUMMARY.md +257 -0
  49. package/.claude/skills/cfn-loop-orchestration/VALIDATION_REPORT.md +572 -0
  50. package/.claude/skills/cfn-loop-orchestration/VALIDATION_SUMMARY.txt +196 -0
  51. package/.claude/skills/cfn-loop-orchestration/VALIDATOR_MODULE_GUIDE.md +526 -0
  52. package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/README.md +167 -0
  53. package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate-enhanced.sh +548 -0
  54. package/{claude-assets/skills/cfn-loop-orchestration → .claude/skills/cfn-loop-orchestration/archive/legacy-bash}/orchestrate-wrapper.sh +11 -1
  55. package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate.sh +182 -0
  56. package/.claude/skills/cfn-loop-orchestration/e2e-validation-fixed.js +240 -0
  57. package/.claude/skills/cfn-loop-orchestration/e2e-validation.js +213 -0
  58. package/.claude/skills/cfn-loop-orchestration/package-lock.json +3 -0
  59. package/.claude/skills/cfn-loop-orchestration/package.json +4 -0
  60. package/.claude/skills/cfn-loop-orchestration/run-north-star-e2e.ts +210 -0
  61. package/.claude/skills/cfn-loop-orchestration/src/cli/orchestrator-cli.ts +396 -0
  62. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR.md +564 -0
  63. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR_QUICK_REF.md +241 -0
  64. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_IMPLEMENTATION.md +375 -0
  65. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_QUICK_REFERENCE.md +362 -0
  66. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_README.md +307 -0
  67. package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_USAGE_GUIDE.md +508 -0
  68. package/.claude/skills/cfn-loop-orchestration/src/helpers/confidence-aggregator.ts +473 -0
  69. package/.claude/skills/cfn-loop-orchestration/src/helpers/consensus.ts +1 -1
  70. package/.claude/skills/cfn-loop-orchestration/src/helpers/context-injector.ts +349 -0
  71. package/.claude/skills/cfn-loop-orchestration/src/helpers/context-lookup.ts +486 -0
  72. package/.claude/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +6 -2
  73. package/.claude/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +1 -1
  74. package/.claude/skills/cfn-loop-orchestration/src/helpers/product-owner-decision.ts +316 -0
  75. package/.claude/skills/cfn-loop-orchestration/src/helpers/spawn-agents.ts +357 -0
  76. package/.claude/skills/cfn-loop-orchestration/src/helpers/validator.ts +276 -0
  77. package/.claude/skills/cfn-loop-orchestration/src/index.ts +2 -0
  78. package/.claude/skills/cfn-loop-orchestration/src/orchestrate.ts +743 -2
  79. package/.claude/skills/cfn-loop-orchestration/src/types.ts +56 -0
  80. package/.claude/skills/cfn-loop-orchestration/test-cli.sh +92 -0
  81. package/.claude/skills/cfn-loop-orchestration/test-typescript-integration.sh +442 -0
  82. package/.claude/skills/cfn-loop-orchestration/tests/agent-spawner.test.ts +124 -0
  83. package/.claude/skills/cfn-loop-orchestration/tests/confidence-aggregator.test.ts +604 -0
  84. package/.claude/skills/cfn-loop-orchestration/tests/context-injector.test.ts +561 -0
  85. package/.claude/skills/cfn-loop-orchestration/tests/context-lookup.test.ts +661 -0
  86. package/.claude/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +2 -2
  87. package/.claude/skills/cfn-loop-orchestration/tests/gate-check-edge-cases.test.ts +422 -0
  88. package/.claude/skills/cfn-loop-orchestration/tests/gate-checker.test.ts +276 -0
  89. package/.claude/skills/cfn-loop-orchestration/tests/logger.test.ts +291 -0
  90. package/.claude/skills/cfn-loop-orchestration/tests/north-star-e2e.test.ts +334 -0
  91. package/.claude/skills/cfn-loop-orchestration/tests/redis-coordinator.test.ts +321 -0
  92. package/.claude/skills/cfn-loop-orchestration/tests/spawn-agents.test.ts +284 -0
  93. package/.claude/skills/cfn-loop-orchestration/tests/validator.test.ts +643 -0
  94. package/.claude/skills/cfn-loop-validation/IMPLEMENTATION_SUMMARY.md +672 -0
  95. package/.claude/skills/cfn-loop-validation/INDEX.md +531 -0
  96. package/.claude/skills/cfn-loop-validation/README_TYPESCRIPT.md +454 -0
  97. package/.claude/skills/cfn-loop-validation/SKILL.md +48 -1
  98. package/.claude/skills/cfn-loop-validation/SKILL.md.backup +353 -0
  99. package/.claude/skills/cfn-loop-validation/SKILL_TYPESCRIPT.md +782 -0
  100. package/.claude/skills/cfn-loop-validation/VAPOR_DETECTION_EXAMPLES.md +598 -0
  101. package/.claude/skills/cfn-loop-validation/check-dependencies.sh +22 -0
  102. package/{claude-assets/skills/cfn-redis-coordination/check-dependencies.sh → .claude/skills/cfn-loop-validation/check-dependencies.sh.backup} +4 -5
  103. package/.claude/skills/cfn-loop-validation/detect-vapor.sh +59 -0
  104. package/.claude/skills/cfn-loop-validation/detect-vapor.sh.backup +37 -0
  105. package/.claude/skills/cfn-loop-validation/dist/.tsbuildinfo +1 -0
  106. package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts +14 -0
  107. package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts.map +1 -0
  108. package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.js +185 -0
  109. package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.js.map +1 -0
  110. package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts +14 -0
  111. package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts.map +1 -0
  112. package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.js +176 -0
  113. package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.js.map +1 -0
  114. package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts +19 -0
  115. package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts.map +1 -0
  116. package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.js +123 -0
  117. package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.js.map +1 -0
  118. package/.claude/skills/cfn-loop-validation/dist/types.d.ts +156 -0
  119. package/.claude/skills/cfn-loop-validation/dist/types.d.ts.map +1 -0
  120. package/.claude/skills/cfn-loop-validation/dist/types.js +66 -0
  121. package/.claude/skills/cfn-loop-validation/dist/types.js.map +1 -0
  122. package/.claude/skills/cfn-loop-validation/dist/validator.d.ts +85 -0
  123. package/.claude/skills/cfn-loop-validation/dist/validator.d.ts.map +1 -0
  124. package/.claude/skills/cfn-loop-validation/dist/validator.js +411 -0
  125. package/.claude/skills/cfn-loop-validation/dist/validator.js.map +1 -0
  126. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +22 -0
  127. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh.backup +252 -0
  128. package/.claude/skills/cfn-loop-validation/package.json +93 -0
  129. package/.claude/skills/cfn-loop-validation/src/cli/detect-vapor.ts +177 -0
  130. package/.claude/skills/cfn-loop-validation/src/cli/validate-deliverables.ts +161 -0
  131. package/.claude/skills/cfn-loop-validation/src/cli/validate-gate.ts +139 -0
  132. package/.claude/skills/cfn-loop-validation/src/types.ts +215 -0
  133. package/.claude/skills/cfn-loop-validation/src/validator.ts +503 -0
  134. package/.claude/skills/cfn-loop-validation/tests/validator.test.ts +537 -0
  135. package/.claude/skills/{cfn-redis-coordination → cfn-loop-validation}/tsconfig.json +34 -31
  136. package/.claude/skills/cfn-loop-validation/validate-deliverables.sh +59 -0
  137. package/.claude/skills/cfn-loop-validation/validate-deliverables.sh.backup +37 -0
  138. package/.claude/skills/cfn-loop-validation/validate-gate.sh +63 -0
  139. package/.claude/skills/cfn-loop-validation/validate-gate.sh.backup +41 -0
  140. package/.claude/skills/cfn-loop-validation/validate-iteration.sh +22 -0
  141. package/.claude/skills/cfn-loop-validation/validate-iteration.sh.backup +134 -0
  142. package/.claude/skills/cfn-product-owner-decision/SKILL.md +479 -147
  143. package/.claude/skills/cfn-product-owner-decision/TYPESCRIPT_IMPLEMENTATION.md +653 -0
  144. package/{claude-assets/skills/cfn-product-owner-decision → .claude/skills/cfn-product-owner-decision/archive/legacy-bash}/execute-decision.sh +24 -2
  145. package/.claude/skills/pre-edit-backup/SKILL.md +324 -0
  146. package/.claude/skills/pre-edit-backup/SKILL.md.backup +277 -0
  147. package/.claude/skills/pre-edit-backup/backup.sh +22 -0
  148. package/.claude/skills/pre-edit-backup/backup.sh.backup +107 -0
  149. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +1 -0
  150. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +1 -0
  151. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +1 -0
  152. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +1 -0
  153. package/claude-assets/agents/cfn-dev-team/dev-ops/devops-engineer.md +10 -0
  154. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +56 -33
  155. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +46 -36
  156. package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +9 -0
  157. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +17 -17
  158. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +40 -58
  159. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +18 -20
  160. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +19 -28
  161. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +15 -19
  162. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +15 -10
  163. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +15 -10
  164. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +15 -25
  165. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +17 -21
  166. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +17 -21
  167. package/claude-assets/agents/cfn-dev-team/product-owners/product-owner.md +1 -5
  168. package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +20 -51
  169. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +22 -71
  170. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +21 -64
  171. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +22 -67
  172. package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +23 -67
  173. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +7 -35
  174. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +8 -37
  175. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +16 -54
  176. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +17 -55
  177. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +9 -37
  178. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +17 -55
  179. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +17 -48
  180. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +8 -37
  181. package/claude-assets/agents/cfn-dev-team/testers/tester.md +7 -27
  182. package/claude-assets/agents/cfn-dev-team/utility/analyst.md +12 -28
  183. package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +13 -13
  184. package/claude-assets/agents/cfn-dev-team/utility/context-curator.md +7 -2
  185. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +5 -10
  186. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +120 -714
  187. package/claude-assets/agents/cfn-dev-team/utility/researcher.md +12 -21
  188. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +146 -572
  189. package/claude-assets/agents/custom/cfn-docker-expert.md +102 -0
  190. package/claude-assets/agents/custom/cfn-loops-cli-expert.md +129 -0
  191. package/claude-assets/cfn-extras/agents/cfn-v3-coordinator.md +517 -0
  192. package/claude-assets/commands/cfn-loop-cli.md +158 -464
  193. package/claude-assets/commands/cfn-loop-trigger.md +114 -0
  194. package/claude-assets/hooks/SKILL.md +518 -0
  195. package/claude-assets/hooks/SKILL.md.backup +471 -0
  196. package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh +100 -0
  197. package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh.backup +78 -0
  198. package/claude-assets/hooks/cfn-invoke-post-edit.sh +22 -0
  199. package/claude-assets/hooks/cfn-invoke-post-edit.sh.backup +87 -0
  200. package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh +116 -0
  201. package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh.backup +94 -0
  202. package/claude-assets/hooks/cfn-invoke-pre-edit.sh +22 -0
  203. package/claude-assets/hooks/cfn-invoke-pre-edit.sh.backup +88 -0
  204. package/claude-assets/skills/cfn-agent-selection-with-fallback/DELIVERABLES.md +409 -0
  205. package/claude-assets/skills/cfn-agent-selection-with-fallback/IMPLEMENTATION_SUMMARY.md +396 -0
  206. package/claude-assets/skills/cfn-agent-selection-with-fallback/INTEGRATION_GUIDE.md +308 -0
  207. package/claude-assets/skills/cfn-agent-selection-with-fallback/QUICK_REFERENCE.md +239 -0
  208. package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md +107 -1
  209. package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md.backup +302 -0
  210. package/claude-assets/skills/cfn-agent-selection-with-fallback/TYPESCRIPT_MIGRATION.md +295 -0
  211. package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/agent-selector.cjs +297 -0
  212. package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/agent-selector.js +297 -0
  213. package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/cli.cjs +96 -0
  214. package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/cli.js +96 -0
  215. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents-ts.sh +45 -0
  216. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents-ts.sh.backup +23 -0
  217. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh +22 -0
  218. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh.backup +173 -0
  219. package/claude-assets/skills/cfn-agent-selection-with-fallback/src/agent-selector.test.ts +357 -0
  220. package/claude-assets/skills/cfn-agent-selection-with-fallback/src/agent-selector.ts +350 -0
  221. package/claude-assets/skills/cfn-agent-selection-with-fallback/src/cli.ts +74 -0
  222. package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh +22 -0
  223. package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh.backup +71 -0
  224. package/claude-assets/skills/cfn-agent-selection-with-fallback/tsconfig.json +18 -0
  225. package/claude-assets/skills/cfn-agent-spawning/SKILL.md +48 -1
  226. package/claude-assets/skills/cfn-agent-spawning/SKILL.md.backup +135 -0
  227. package/claude-assets/skills/cfn-agent-spawning/TYPESCRIPT_MIGRATION.md +567 -0
  228. package/claude-assets/skills/cfn-agent-spawning/check-dependencies.sh +22 -0
  229. package/claude-assets/skills/cfn-agent-spawning/check-dependencies.sh.backup +30 -0
  230. package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -0
  231. package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh.backup +127 -0
  232. package/claude-assets/skills/cfn-agent-spawning/parse-agent-provider.sh +22 -0
  233. package/claude-assets/skills/cfn-agent-spawning/parse-agent-provider.sh.backup +59 -0
  234. package/claude-assets/skills/cfn-agent-spawning/spawn-agent-wrapper.sh +63 -0
  235. package/claude-assets/skills/cfn-agent-spawning/spawn-agent-wrapper.sh.backup +41 -0
  236. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +26 -1
  237. package/claude-assets/skills/cfn-agent-spawning/spawn-templates.sh +22 -0
  238. package/claude-assets/skills/cfn-agent-spawning/spawn-templates.sh.backup +613 -0
  239. package/claude-assets/skills/cfn-agent-spawning/spawn-worker.sh +22 -0
  240. package/claude-assets/skills/cfn-agent-spawning/spawn-worker.sh.backup +176 -0
  241. package/claude-assets/skills/cfn-coordination/agent-completion.sh.backup +36 -0
  242. package/claude-assets/skills/cfn-coordination/coordination-signal.sh.backup +36 -0
  243. package/claude-assets/skills/cfn-coordination/coordination-wait.sh.backup +36 -0
  244. package/claude-assets/skills/cfn-dependency-ingestion/README.md +101 -0
  245. package/claude-assets/skills/cfn-dependency-ingestion/SKILL.md +369 -0
  246. package/claude-assets/skills/cfn-dependency-ingestion/build.sh +23 -0
  247. package/claude-assets/skills/cfn-dependency-ingestion/dist/ingest-dependencies.js +478 -0
  248. package/claude-assets/skills/cfn-dependency-ingestion/ingest-dependencies.sh +295 -0
  249. package/claude-assets/skills/cfn-dependency-ingestion/src/ingest-dependencies.ts +563 -0
  250. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/metadata.json +8 -0
  251. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/original +271 -0
  252. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/revert.sh +7 -0
  253. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/metadata.json +8 -0
  254. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/original +325 -0
  255. package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/revert.sh +7 -0
  256. package/claude-assets/skills/cfn-loop-orchestration/CLI_IMPLEMENTATION_SUMMARY.md +330 -0
  257. package/claude-assets/skills/cfn-loop-orchestration/CONFIGURATION_IMPROVEMENTS.md +318 -0
  258. package/claude-assets/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_MIGRATION.md +308 -0
  259. package/claude-assets/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_QUICK_START.md +378 -0
  260. package/claude-assets/skills/cfn-loop-orchestration/E2E_VALIDATION_REPORT.md +262 -0
  261. package/claude-assets/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +319 -519
  262. package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_E2E_REPORT.md +299 -0
  263. package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_EXECUTION_SUMMARY.md +403 -0
  264. package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +323 -0
  265. package/claude-assets/skills/cfn-loop-orchestration/SKILL.md +159 -48
  266. package/claude-assets/skills/cfn-loop-orchestration/SPAWN_AGENTS_IMPLEMENTATION.md +188 -0
  267. package/claude-assets/skills/cfn-loop-orchestration/TEST_COVERAGE_REPORT.md +335 -0
  268. package/claude-assets/skills/cfn-loop-orchestration/TEST_COVERAGE_SUMMARY.md +456 -0
  269. package/claude-assets/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_REPORT.md +709 -0
  270. package/claude-assets/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_SUMMARY.md +257 -0
  271. package/claude-assets/skills/cfn-loop-orchestration/VALIDATION_REPORT.md +572 -0
  272. package/claude-assets/skills/cfn-loop-orchestration/VALIDATION_SUMMARY.txt +196 -0
  273. package/claude-assets/skills/cfn-loop-orchestration/VALIDATOR_MODULE_GUIDE.md +526 -0
  274. package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/README.md +167 -0
  275. package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate-enhanced.sh +548 -0
  276. package/{.claude/skills/cfn-loop-orchestration → claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash}/orchestrate-wrapper.sh +11 -1
  277. package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate.sh +182 -0
  278. package/claude-assets/skills/cfn-loop-orchestration/e2e-validation-fixed.js +240 -0
  279. package/claude-assets/skills/cfn-loop-orchestration/e2e-validation.js +213 -0
  280. package/claude-assets/skills/cfn-loop-orchestration/package-lock.json +3 -0
  281. package/claude-assets/skills/cfn-loop-orchestration/package.json +4 -0
  282. package/claude-assets/skills/cfn-loop-orchestration/run-north-star-e2e.ts +210 -0
  283. package/claude-assets/skills/cfn-loop-orchestration/src/cli/orchestrator-cli.ts +396 -0
  284. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR.md +564 -0
  285. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR_QUICK_REF.md +241 -0
  286. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_IMPLEMENTATION.md +375 -0
  287. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_QUICK_REFERENCE.md +362 -0
  288. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_README.md +307 -0
  289. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_USAGE_GUIDE.md +508 -0
  290. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/confidence-aggregator.ts +473 -0
  291. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/consensus.ts +1 -1
  292. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/context-injector.ts +349 -0
  293. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/context-lookup.ts +486 -0
  294. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +6 -2
  295. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +1 -1
  296. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/product-owner-decision.ts +316 -0
  297. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/spawn-agents.ts +357 -0
  298. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/validator.ts +276 -0
  299. package/claude-assets/skills/cfn-loop-orchestration/src/index.ts +2 -0
  300. package/claude-assets/skills/cfn-loop-orchestration/src/orchestrate.ts +743 -2
  301. package/claude-assets/skills/cfn-loop-orchestration/src/types.ts +56 -0
  302. package/claude-assets/skills/cfn-loop-orchestration/test-cli.sh +92 -0
  303. package/claude-assets/skills/cfn-loop-orchestration/test-typescript-integration.sh +442 -0
  304. package/claude-assets/skills/cfn-loop-orchestration/tests/agent-spawner.test.ts +124 -0
  305. package/claude-assets/skills/cfn-loop-orchestration/tests/confidence-aggregator.test.ts +604 -0
  306. package/claude-assets/skills/cfn-loop-orchestration/tests/context-injector.test.ts +561 -0
  307. package/claude-assets/skills/cfn-loop-orchestration/tests/context-lookup.test.ts +661 -0
  308. package/claude-assets/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +2 -2
  309. package/claude-assets/skills/cfn-loop-orchestration/tests/gate-check-edge-cases.test.ts +422 -0
  310. package/claude-assets/skills/cfn-loop-orchestration/tests/gate-checker.test.ts +276 -0
  311. package/claude-assets/skills/cfn-loop-orchestration/tests/logger.test.ts +291 -0
  312. package/claude-assets/skills/cfn-loop-orchestration/tests/north-star-e2e.test.ts +334 -0
  313. package/claude-assets/skills/cfn-loop-orchestration/tests/redis-coordinator.test.ts +321 -0
  314. package/claude-assets/skills/cfn-loop-orchestration/tests/spawn-agents.test.ts +284 -0
  315. package/claude-assets/skills/cfn-loop-orchestration/tests/validator.test.ts +643 -0
  316. package/claude-assets/skills/cfn-loop-output-processing/.eslintrc.json +33 -0
  317. package/claude-assets/skills/cfn-loop-output-processing/DELIVERY_SUMMARY.txt +462 -0
  318. package/claude-assets/skills/cfn-loop-output-processing/DEPRECATION_NOTICE.md +183 -0
  319. package/claude-assets/skills/cfn-loop-output-processing/EXAMPLES.md +609 -0
  320. package/claude-assets/skills/cfn-loop-output-processing/IMPLEMENTATION_SUMMARY.md +418 -0
  321. package/claude-assets/skills/cfn-loop-output-processing/INDEX.md +531 -0
  322. package/claude-assets/skills/cfn-loop-output-processing/MIGRATION.md +362 -0
  323. package/claude-assets/skills/cfn-loop-output-processing/README.md +114 -0
  324. package/claude-assets/skills/cfn-loop-output-processing/SKILL.md +633 -0
  325. package/{.claude/skills/cfn-docker-redis-coordination → claude-assets/skills/cfn-loop-output-processing}/jest.config.js +7 -15
  326. package/claude-assets/skills/cfn-loop-output-processing/package.json +50 -0
  327. package/claude-assets/skills/cfn-loop-output-processing/src/cli/process-loop2.ts +195 -0
  328. package/claude-assets/skills/cfn-loop-output-processing/src/cli/process-loop3.ts +157 -0
  329. package/claude-assets/skills/cfn-loop-output-processing/src/output-processor.ts +632 -0
  330. package/claude-assets/skills/cfn-loop-output-processing/tests/output-processor.test.ts +617 -0
  331. package/claude-assets/skills/{cfn-docker-redis-coordination → cfn-loop-output-processing}/tsconfig.json +16 -7
  332. package/claude-assets/skills/cfn-loop-validation/IMPLEMENTATION_SUMMARY.md +672 -0
  333. package/claude-assets/skills/cfn-loop-validation/INDEX.md +531 -0
  334. package/claude-assets/skills/cfn-loop-validation/README_TYPESCRIPT.md +454 -0
  335. package/claude-assets/skills/cfn-loop-validation/SKILL.md +48 -1
  336. package/claude-assets/skills/cfn-loop-validation/SKILL.md.backup +353 -0
  337. package/claude-assets/skills/cfn-loop-validation/SKILL_TYPESCRIPT.md +782 -0
  338. package/claude-assets/skills/cfn-loop-validation/VAPOR_DETECTION_EXAMPLES.md +598 -0
  339. package/claude-assets/skills/cfn-loop-validation/check-dependencies.sh +22 -0
  340. package/claude-assets/skills/cfn-loop-validation/check-dependencies.sh.backup +31 -0
  341. package/claude-assets/skills/cfn-loop-validation/detect-vapor.sh +59 -0
  342. package/claude-assets/skills/cfn-loop-validation/detect-vapor.sh.backup +37 -0
  343. package/claude-assets/skills/cfn-loop-validation/dist/.tsbuildinfo +1 -0
  344. package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts +14 -0
  345. package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts.map +1 -0
  346. package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.js +185 -0
  347. package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.js.map +1 -0
  348. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts +14 -0
  349. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts.map +1 -0
  350. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.js +176 -0
  351. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.js.map +1 -0
  352. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts +19 -0
  353. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts.map +1 -0
  354. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.js +123 -0
  355. package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.js.map +1 -0
  356. package/claude-assets/skills/cfn-loop-validation/dist/types.d.ts +156 -0
  357. package/claude-assets/skills/cfn-loop-validation/dist/types.d.ts.map +1 -0
  358. package/claude-assets/skills/cfn-loop-validation/dist/types.js +66 -0
  359. package/claude-assets/skills/cfn-loop-validation/dist/types.js.map +1 -0
  360. package/claude-assets/skills/cfn-loop-validation/dist/validator.d.ts +85 -0
  361. package/claude-assets/skills/cfn-loop-validation/dist/validator.d.ts.map +1 -0
  362. package/claude-assets/skills/cfn-loop-validation/dist/validator.js +411 -0
  363. package/claude-assets/skills/cfn-loop-validation/dist/validator.js.map +1 -0
  364. package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +22 -0
  365. package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh.backup +252 -0
  366. package/claude-assets/skills/cfn-loop-validation/package.json +93 -0
  367. package/claude-assets/skills/cfn-loop-validation/src/cli/detect-vapor.ts +177 -0
  368. package/claude-assets/skills/cfn-loop-validation/src/cli/validate-deliverables.ts +161 -0
  369. package/claude-assets/skills/cfn-loop-validation/src/cli/validate-gate.ts +139 -0
  370. package/claude-assets/skills/cfn-loop-validation/src/types.ts +215 -0
  371. package/claude-assets/skills/cfn-loop-validation/src/validator.ts +503 -0
  372. package/claude-assets/skills/cfn-loop-validation/tests/validator.test.ts +537 -0
  373. package/claude-assets/skills/{cfn-redis-coordination → cfn-loop-validation}/tsconfig.json +34 -31
  374. package/claude-assets/skills/cfn-loop-validation/validate-deliverables.sh +59 -0
  375. package/claude-assets/skills/cfn-loop-validation/validate-deliverables.sh.backup +37 -0
  376. package/claude-assets/skills/cfn-loop-validation/validate-gate.sh +63 -0
  377. package/claude-assets/skills/cfn-loop-validation/validate-gate.sh.backup +41 -0
  378. package/claude-assets/skills/cfn-loop-validation/validate-iteration.sh +22 -0
  379. package/claude-assets/skills/cfn-loop-validation/validate-iteration.sh.backup +134 -0
  380. package/claude-assets/skills/cfn-product-owner-decision/SKILL.md +479 -147
  381. package/claude-assets/skills/cfn-product-owner-decision/TYPESCRIPT_IMPLEMENTATION.md +653 -0
  382. package/{.claude/skills/cfn-product-owner-decision → claude-assets/skills/cfn-product-owner-decision/archive/legacy-bash}/execute-decision.sh +24 -2
  383. package/claude-assets/skills/cfn-provider-routing/README.md +129 -0
  384. package/claude-assets/skills/cfn-provider-routing/SKILL.md +192 -0
  385. package/claude-assets/skills/cfn-provider-routing/resolve-provider-model.ts +223 -0
  386. package/claude-assets/skills/pre-edit-backup/SKILL.md +324 -0
  387. package/claude-assets/skills/pre-edit-backup/SKILL.md.backup +277 -0
  388. package/claude-assets/skills/pre-edit-backup/backup.sh +22 -0
  389. package/claude-assets/skills/pre-edit-backup/backup.sh.backup +107 -0
  390. package/dist/agents/agent-loader.js +146 -165
  391. package/dist/agents/agent-loader.js.map +1 -1
  392. package/dist/api/auth-endpoints.js +415 -0
  393. package/dist/api/auth-endpoints.js.map +1 -0
  394. package/dist/api/task-endpoints.js +562 -0
  395. package/dist/api/task-endpoints.js.map +1 -0
  396. package/dist/backend/server.js +418 -0
  397. package/dist/backend/server.js.map +1 -0
  398. package/dist/cfn-loop/product-owner/decision-parser.js +356 -0
  399. package/dist/cfn-loop/product-owner/decision-parser.js.map +1 -0
  400. package/dist/cfn-loop/product-owner/index.js +1 -0
  401. package/dist/cfn-loop/product-owner/index.js.map +1 -1
  402. package/dist/cli/agent-command.js +1 -1
  403. package/dist/cli/agent-command.js.map +1 -1
  404. package/dist/cli/agent-completion.js +273 -0
  405. package/dist/cli/agent-completion.js.map +1 -0
  406. package/dist/cli/agent-prompt-builder.js +83 -48
  407. package/dist/cli/agent-prompt-builder.js.map +1 -1
  408. package/dist/cli/agent-spawner.js +499 -0
  409. package/dist/cli/agent-spawner.js.map +1 -0
  410. package/dist/cli/anthropic-client.js +10 -3
  411. package/dist/cli/anthropic-client.js.map +1 -1
  412. package/dist/cli/config-manager.js +91 -109
  413. package/dist/cli/index.js +11 -0
  414. package/dist/cli/index.js.map +1 -1
  415. package/dist/cli/parse-decision-cli.js +268 -0
  416. package/dist/cli/parse-decision-cli.js.map +1 -0
  417. package/dist/cli/post-edit-hook.js +83 -0
  418. package/dist/cli/post-edit-hook.js.map +1 -0
  419. package/dist/cli/pre-edit-hook.js +77 -0
  420. package/dist/cli/pre-edit-hook.js.map +1 -0
  421. package/dist/cli/spawn-agent-cli.js +209 -0
  422. package/dist/cli/spawn-agent-cli.js.map +1 -0
  423. package/dist/coordination/coordination-wrapper.js +383 -0
  424. package/dist/coordination/coordination-wrapper.js.map +1 -0
  425. package/dist/coordination/store-success-criteria.js +68 -0
  426. package/dist/coordination/store-success-criteria.js.map +1 -0
  427. package/dist/coordination/store-task-context.js +65 -0
  428. package/dist/coordination/store-task-context.js.map +1 -0
  429. package/dist/hooks/backup-manager.js +273 -0
  430. package/dist/hooks/backup-manager.js.map +1 -0
  431. package/dist/hooks/post-edit-validator.js +388 -0
  432. package/dist/hooks/post-edit-validator.js.map +1 -0
  433. package/dist/integration/index.js +19 -0
  434. package/dist/integration/index.js.map +1 -0
  435. package/dist/integration/task-mode-adapter.js +297 -0
  436. package/dist/integration/task-mode-adapter.js.map +1 -0
  437. package/dist/integration/trigger-dev-client.js +253 -0
  438. package/dist/integration/trigger-dev-client.js.map +1 -0
  439. package/dist/integration/trigger-dev-webhooks.js +362 -0
  440. package/dist/integration/trigger-dev-webhooks.js.map +1 -0
  441. package/dist/lib/path-validator.js +14 -5
  442. package/dist/lib/path-validator.js.map +1 -1
  443. package/dist/lib/redis-queue-manager.js +5 -1
  444. package/dist/lib/redis-queue-manager.js.map +1 -1
  445. package/dist/middleware/authentication.js +317 -0
  446. package/dist/middleware/authentication.js.map +1 -0
  447. package/dist/services/authentication.js +669 -0
  448. package/dist/services/authentication.js.map +1 -0
  449. package/dist/services/session-management.js +436 -0
  450. package/dist/services/session-management.js.map +1 -0
  451. package/dist/services/skill-deployment.js +8 -6
  452. package/dist/services/skill-deployment.js.map +1 -1
  453. package/dist/services/user-service.js +710 -0
  454. package/dist/services/user-service.js.map +1 -0
  455. package/dist/types/trigger-dev-events.d.js +10 -0
  456. package/dist/types/trigger-dev-events.d.js.map +1 -0
  457. package/docs/README.md +240 -0
  458. package/package.json +13 -4
  459. package/scripts/compare-workflow-performance.sh +556 -0
  460. package/scripts/migrate-to-optimized-workflows.sh +438 -0
  461. package/scripts/organize-docs.sh +338 -0
  462. package/scripts/trigger-dev-setup.sh +267 -0
  463. package/.claude/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +0 -348
  464. package/.claude/skills/cfn-docker-redis-coordination/README.md +0 -294
  465. package/.claude/skills/cfn-docker-redis-coordination/SKILL.md +0 -435
  466. package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh +0 -650
  467. package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +0 -641
  468. package/.claude/skills/cfn-docker-redis-coordination/package-lock.json +0 -5259
  469. package/.claude/skills/cfn-docker-redis-coordination/package.json +0 -40
  470. package/.claude/skills/cfn-docker-redis-coordination/src/coordinator.ts +0 -801
  471. package/.claude/skills/cfn-docker-redis-coordination/src/index.ts +0 -42
  472. package/.claude/skills/cfn-docker-redis-coordination/src/types.ts +0 -351
  473. package/.claude/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +0 -1464
  474. package/.claude/skills/cfn-docker-redis-coordination/tsconfig.json +0 -30
  475. package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +0 -228
  476. package/.claude/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +0 -104
  477. package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +0 -94
  478. package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +0 -142
  479. package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +0 -359
  480. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +0 -123
  481. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +0 -71
  482. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +0 -56
  483. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +0 -89
  484. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +0 -87
  485. package/.claude/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +0 -104
  486. package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +0 -56
  487. package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +0 -290
  488. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +0 -47
  489. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +0 -51
  490. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +0 -1345
  491. package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +0 -280
  492. package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
  493. package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +0 -319
  494. package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +0 -124
  495. package/.claude/skills/cfn-redis-coordination/config.json +0 -61
  496. package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +0 -82
  497. package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +0 -274
  498. package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -0
  499. package/.claude/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +0 -553
  500. package/.claude/skills/cfn-redis-coordination/jest.config.js +0 -23
  501. package/.claude/skills/cfn-redis-coordination/package-lock.json +0 -5272
  502. package/.claude/skills/cfn-redis-coordination/package.json +0 -45
  503. package/.claude/skills/cfn-redis-coordination/src/agent-logger.ts +0 -446
  504. package/.claude/skills/cfn-redis-coordination/src/agent-recovery.ts +0 -454
  505. package/.claude/skills/cfn-redis-coordination/src/completion-reporter.ts +0 -396
  506. package/.claude/skills/cfn-redis-coordination/src/context-manager.ts +0 -327
  507. package/.claude/skills/cfn-redis-coordination/src/index.ts +0 -82
  508. package/.claude/skills/cfn-redis-coordination/src/mode-detector.ts +0 -155
  509. package/.claude/skills/cfn-redis-coordination/src/redis/redis-client.ts +0 -305
  510. package/.claude/skills/cfn-redis-coordination/src/redis/redis-functions.ts +0 -283
  511. package/.claude/skills/cfn-redis-coordination/src/redis-client.ts +0 -654
  512. package/.claude/skills/cfn-redis-coordination/src/result-collector.ts +0 -437
  513. package/.claude/skills/cfn-redis-coordination/src/swarm-manager.ts +0 -494
  514. package/.claude/skills/cfn-redis-coordination/src/task-analyzer.ts +0 -404
  515. package/.claude/skills/cfn-redis-coordination/src/task-executor.ts +0 -423
  516. package/.claude/skills/cfn-redis-coordination/src/types.ts +0 -235
  517. package/.claude/skills/cfn-redis-coordination/src/waiting-coordinator.ts +0 -587
  518. package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +0 -85
  519. package/.claude/skills/cfn-redis-coordination/test-connection-attempts.js +0 -70
  520. package/.claude/skills/cfn-redis-coordination/test-mode-simple.js +0 -121
  521. package/.claude/skills/cfn-redis-coordination/test-redis-check.js +0 -84
  522. package/.claude/skills/cfn-redis-coordination/test-task-mode-redis.cjs +0 -391
  523. package/.claude/skills/cfn-redis-coordination/tests/coordination.test.ts +0 -788
  524. package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +0 -67
  525. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +0 -980
  526. package/claude-assets/agents/typescript-specialist.md +0 -280
  527. package/claude-assets/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +0 -348
  528. package/claude-assets/skills/cfn-docker-redis-coordination/README.md +0 -294
  529. package/claude-assets/skills/cfn-docker-redis-coordination/SKILL.md +0 -435
  530. package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh +0 -650
  531. package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +0 -641
  532. package/claude-assets/skills/cfn-docker-redis-coordination/jest.config.js +0 -37
  533. package/claude-assets/skills/cfn-docker-redis-coordination/package-lock.json +0 -5259
  534. package/claude-assets/skills/cfn-docker-redis-coordination/package.json +0 -40
  535. package/claude-assets/skills/cfn-docker-redis-coordination/src/coordinator.ts +0 -801
  536. package/claude-assets/skills/cfn-docker-redis-coordination/src/index.ts +0 -42
  537. package/claude-assets/skills/cfn-docker-redis-coordination/src/types.ts +0 -351
  538. package/claude-assets/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +0 -1464
  539. package/claude-assets/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +0 -228
  540. package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +0 -104
  541. package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus.sh +0 -94
  542. package/claude-assets/skills/cfn-loop-orchestration/helpers/context-injection.sh +0 -142
  543. package/claude-assets/skills/cfn-loop-orchestration/helpers/context-lookup.sh +0 -359
  544. package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +0 -123
  545. package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +0 -71
  546. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +0 -56
  547. package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +0 -89
  548. package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +0 -87
  549. package/claude-assets/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +0 -104
  550. package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +0 -56
  551. package/claude-assets/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +0 -290
  552. package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +0 -47
  553. package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +0 -51
  554. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +0 -1345
  555. package/claude-assets/skills/cfn-redis-cleanup/cleanup-redis.sh +0 -130
  556. package/claude-assets/skills/cfn-redis-coordination/AGENT_LOGGING.md +0 -280
  557. package/claude-assets/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
  558. package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +0 -319
  559. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +0 -124
  560. package/claude-assets/skills/cfn-redis-coordination/config.json +0 -61
  561. package/claude-assets/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +0 -82
  562. package/claude-assets/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +0 -274
  563. package/claude-assets/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -0
  564. package/claude-assets/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +0 -553
  565. package/claude-assets/skills/cfn-redis-coordination/jest.config.js +0 -23
  566. package/claude-assets/skills/cfn-redis-coordination/package-lock.json +0 -5272
  567. package/claude-assets/skills/cfn-redis-coordination/package.json +0 -45
  568. package/claude-assets/skills/cfn-redis-coordination/src/agent-logger.ts +0 -446
  569. package/claude-assets/skills/cfn-redis-coordination/src/agent-recovery.ts +0 -454
  570. package/claude-assets/skills/cfn-redis-coordination/src/completion-reporter.ts +0 -396
  571. package/claude-assets/skills/cfn-redis-coordination/src/context-manager.ts +0 -327
  572. package/claude-assets/skills/cfn-redis-coordination/src/index.ts +0 -82
  573. package/claude-assets/skills/cfn-redis-coordination/src/mode-detector.ts +0 -155
  574. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-client.ts +0 -305
  575. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-functions.ts +0 -283
  576. package/claude-assets/skills/cfn-redis-coordination/src/redis-client.ts +0 -654
  577. package/claude-assets/skills/cfn-redis-coordination/src/result-collector.ts +0 -437
  578. package/claude-assets/skills/cfn-redis-coordination/src/swarm-manager.ts +0 -494
  579. package/claude-assets/skills/cfn-redis-coordination/src/task-analyzer.ts +0 -404
  580. package/claude-assets/skills/cfn-redis-coordination/src/task-executor.ts +0 -423
  581. package/claude-assets/skills/cfn-redis-coordination/src/types.ts +0 -235
  582. package/claude-assets/skills/cfn-redis-coordination/src/waiting-coordinator.ts +0 -587
  583. package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +0 -85
  584. package/claude-assets/skills/cfn-redis-coordination/test-connection-attempts.js +0 -70
  585. package/claude-assets/skills/cfn-redis-coordination/test-mode-simple.js +0 -121
  586. package/claude-assets/skills/cfn-redis-coordination/test-redis-check.js +0 -84
  587. package/claude-assets/skills/cfn-redis-coordination/test-task-mode-redis.cjs +0 -391
  588. package/claude-assets/skills/cfn-redis-coordination/tests/coordination.test.ts +0 -788
  589. package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +0 -67
  590. package/claude-assets/skills/cfn-redis-data-extraction/SKILL.md +0 -442
  591. package/claude-assets/skills/cfn-redis-data-extraction/extract.sh +0 -306
  592. package/dist/coordination/index.js +0 -25
  593. package/dist/coordination/index.js.map +0 -1
  594. package/docs/BUG_19_MEMORY_LEAK_TASK_MODE.md +0 -405
  595. package/docs/MEMORY_CLEANUP_GUIDE.md +0 -358
  596. package/docs/MEMORY_LEAK_FIX_SUMMARY.md +0 -322
  597. package/docs/REDIS_CLEANUP_EXECUTIVE_SUMMARY.md +0 -319
  598. package/docs/REDIS_CLEANUP_VERIFICATION_REPORT.md +0 -574
  599. /package/.claude/skills/cfn-loop-orchestration/{inject-loop-context.sh → archive/legacy-bash/inject-loop-context.sh} +0 -0
  600. /package/.claude/skills/cfn-loop-orchestration/{monitor-execution.sh → archive/legacy-bash/monitor-execution.sh} +0 -0
  601. /package/.claude/skills/cfn-redis-coordination/{agent-log.sh → agent-log.sh.backup} +0 -0
  602. /package/.claude/skills/cfn-redis-coordination/{agent-recovery.sh → agent-recovery.sh.backup} +0 -0
  603. /package/.claude/skills/cfn-redis-coordination/{analyze-task-complexity.sh → analyze-task-complexity.sh.backup} +0 -0
  604. /package/.claude/skills/cfn-redis-coordination/bash-wrappers/{store-context.sh → store-context.sh.backup} +0 -0
  605. /package/.claude/skills/cfn-redis-coordination/{cancel-swarm.sh → cancel-swarm.sh.backup} +0 -0
  606. /package/.claude/skills/cfn-redis-coordination/{cfn-loop-exec.sh → cfn-loop-exec.sh.backup} +0 -0
  607. /package/.claude/skills/cfn-redis-coordination/{cfn-loop-relaunch.sh → cfn-loop-relaunch.sh.backup} +0 -0
  608. /package/.claude/skills/cfn-redis-coordination/{collect-confidence-scores.sh → collect-confidence-scores.sh.backup} +0 -0
  609. /package/.claude/skills/cfn-redis-coordination/{collect-results.sh → collect-results.sh.backup} +0 -0
  610. /package/.claude/skills/cfn-redis-coordination/{complete-swarm.sh → complete-swarm.sh.backup} +0 -0
  611. /package/.claude/skills/cfn-redis-coordination/{get-context.sh → get-context.sh.backup} +0 -0
  612. /package/.claude/skills/cfn-redis-coordination/{get-success-criteria.sh → get-success-criteria.sh.backup} +0 -0
  613. /package/.claude/skills/cfn-redis-coordination/{invoke-waiting-mode.sh → invoke-waiting-mode.sh.backup} +0 -0
  614. /package/.claude/skills/cfn-redis-coordination/{redis-cli-wrapper.sh → redis-cli-wrapper.sh.backup} +0 -0
  615. /package/.claude/skills/cfn-redis-coordination/{redis-functions.sh → redis-functions.sh.backup} +0 -0
  616. /package/.claude/skills/cfn-redis-coordination/{report-completion.sh → report-completion.sh.backup} +0 -0
  617. /package/.claude/skills/cfn-redis-coordination/{store-context.sh → store-context.sh.backup} +0 -0
  618. /package/claude-assets/skills/cfn-loop-orchestration/{inject-loop-context.sh → archive/legacy-bash/inject-loop-context.sh} +0 -0
  619. /package/claude-assets/skills/cfn-loop-orchestration/{monitor-execution.sh → archive/legacy-bash/monitor-execution.sh} +0 -0
  620. /package/claude-assets/skills/cfn-redis-coordination/{agent-log.sh → agent-log.sh.backup} +0 -0
  621. /package/claude-assets/skills/cfn-redis-coordination/{agent-recovery.sh → agent-recovery.sh.backup} +0 -0
  622. /package/claude-assets/skills/cfn-redis-coordination/{analyze-task-complexity.sh → analyze-task-complexity.sh.backup} +0 -0
  623. /package/claude-assets/skills/cfn-redis-coordination/bash-wrappers/{store-context.sh → store-context.sh.backup} +0 -0
  624. /package/claude-assets/skills/cfn-redis-coordination/{cancel-swarm.sh → cancel-swarm.sh.backup} +0 -0
  625. /package/claude-assets/skills/cfn-redis-coordination/{cfn-loop-exec.sh → cfn-loop-exec.sh.backup} +0 -0
  626. /package/claude-assets/skills/cfn-redis-coordination/{cfn-loop-relaunch.sh → cfn-loop-relaunch.sh.backup} +0 -0
  627. /package/claude-assets/skills/cfn-redis-coordination/{collect-confidence-scores.sh → collect-confidence-scores.sh.backup} +0 -0
  628. /package/claude-assets/skills/cfn-redis-coordination/{collect-results.sh → collect-results.sh.backup} +0 -0
  629. /package/claude-assets/skills/cfn-redis-coordination/{complete-swarm.sh → complete-swarm.sh.backup} +0 -0
  630. /package/claude-assets/skills/cfn-redis-coordination/{get-context.sh → get-context.sh.backup} +0 -0
  631. /package/claude-assets/skills/cfn-redis-coordination/{get-success-criteria.sh → get-success-criteria.sh.backup} +0 -0
  632. /package/claude-assets/skills/cfn-redis-coordination/{invoke-waiting-mode.sh → invoke-waiting-mode.sh.backup} +0 -0
  633. /package/claude-assets/skills/cfn-redis-coordination/{redis-cli-wrapper.sh → redis-cli-wrapper.sh.backup} +0 -0
  634. /package/claude-assets/skills/cfn-redis-coordination/{redis-functions.sh → redis-functions.sh.backup} +0 -0
  635. /package/claude-assets/skills/cfn-redis-coordination/{report-completion.sh → report-completion.sh.backup} +0 -0
  636. /package/claude-assets/skills/cfn-redis-coordination/{store-context.sh → store-context.sh.backup} +0 -0
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: memory-leak-specialist
3
3
  description: MUST BE USED for memory leak detection, heap analysis, memory profiling, and performance debugging (Node.js, Python, Java). Use PROACTIVELY for memory issues, heap dumps, profiling, garbage collection analysis, memory optimization. ALWAYS delegate for "memory leak", "heap dump", "memory profiling", "OOM errors", "garbage collection", "memory optimization". Keywords - memory leak, heap analysis, memory profiling, OOM, garbage collection, Node.js profiling, Python profiling, Java heap dump
4
- tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
4
+ tools: [Read, Write, Edit, Grep, Glob, TodoWrite]
5
5
  model: sonnet
6
6
  type: specialist
7
7
  capabilities:
@@ -35,729 +35,135 @@ model: glm-4.6
35
35
  - Optimize memory-intensive operations
36
36
  - Establish memory monitoring and alerting
37
37
 
38
- ## Technical Expertise
38
+ ## Supported Runtimes
39
39
 
40
40
  ### Node.js Memory Analysis
41
-
42
- #### Heap Snapshot Collection
43
- ```javascript
44
- // heap-snapshot.js
45
- const v8 = require('v8');
46
- const fs = require('fs');
47
- const path = require('path');
48
-
49
- function takeHeapSnapshot(filename) {
50
- const snapshotStream = v8.writeHeapSnapshot();
51
- const destination = path.join(__dirname, 'heapdumps', filename || `heap-${Date.now()}.heapsnapshot`);
52
-
53
- fs.copyFileSync(snapshotStream, destination);
54
- console.log(`Heap snapshot saved to: ${destination}`);
55
-
56
- return destination;
57
- }
58
-
59
- // Automatic snapshot on memory threshold
60
- const heapUsedThresholdMB = 500;
61
- let lastSnapshotTime = 0;
62
- const snapshotCooldownMs = 60000; // 1 minute
63
-
64
- function monitorMemory() {
65
- const usage = process.memoryUsage();
66
- const heapUsedMB = usage.heapUsed / 1024 / 1024;
67
-
68
- console.log(`Heap used: ${heapUsedMB.toFixed(2)} MB`);
69
-
70
- if (heapUsedMB > heapUsedThresholdMB) {
71
- const now = Date.now();
72
- if (now - lastSnapshotTime > snapshotCooldownMs) {
73
- console.warn(`Memory threshold exceeded (${heapUsedMB.toFixed(2)} MB)`);
74
- takeHeapSnapshot(`auto-snapshot-${heapUsedMB.toFixed(0)}mb.heapsnapshot`);
75
- lastSnapshotTime = now;
76
- }
77
- }
78
- }
79
-
80
- // Monitor every 10 seconds
81
- setInterval(monitorMemory, 10000);
82
-
83
- module.exports = { takeHeapSnapshot, monitorMemory };
84
- ```
85
-
86
- #### Memory Profiling with Clinic.js
87
- ```bash
88
- #!/bin/bash
89
- # profile-memory.sh
90
-
91
- echo "Installing Clinic.js..."
92
- npm install -g clinic
93
-
94
- echo "Running memory profiler..."
95
- clinic doctor --on-port 'autocannon -c 100 -d 60 http://localhost:3000' -- node app.js
96
-
97
- # Results will be in .clinic/ directory
98
- # Open the HTML report
99
- clinic doctor --visualize-only PID.clinic-doctor
100
-
101
- # Heap profiling (for memory leaks)
102
- clinic heapprofiler --on-port 'autocannon -c 100 -d 60 http://localhost:3000' -- node app.js
103
-
104
- # Bubble profiler (async operations)
105
- clinic bubbleprof --on-port 'autocannon -c 100 -d 60 http://localhost:3000' -- node app.js
106
-
107
- # Flame graph (CPU profiling)
108
- clinic flame --on-port 'autocannon -c 100 -d 60 http://localhost:3000' -- node app.js
109
- ```
110
-
111
- #### Memory Leak Detection Script
112
- ```javascript
113
- // memory-leak-detector.js
114
- const memwatch = require('@airbnb/node-memwatch');
115
-
116
- class MemoryLeakDetector {
117
- constructor(options = {}) {
118
- this.threshold = options.threshold || 5; // Consecutive growth cycles
119
- this.growthCount = 0;
120
- this.heapDiffs = [];
121
-
122
- this.setupMonitoring();
123
- }
124
-
125
- setupMonitoring() {
126
- // Listen for memory leak events
127
- memwatch.on('leak', (info) => {
128
- console.error('MEMORY LEAK DETECTED:', info);
129
- this.takeSnapshot('leak-detected');
130
- });
131
-
132
- // Monitor heap growth
133
- let hd = new memwatch.HeapDiff();
134
-
135
- memwatch.on('stats', (stats) => {
136
- const diff = hd.end();
137
- hd = new memwatch.HeapDiff();
138
-
139
- const growthMB = (diff.change.size_bytes / 1024 / 1024).toFixed(2);
140
-
141
- if (diff.change.size_bytes > 0) {
142
- this.growthCount++;
143
- console.warn(`Heap grew by ${growthMB} MB (${this.growthCount}/${this.threshold})`);
144
-
145
- if (this.growthCount >= this.threshold) {
146
- console.error('POTENTIAL MEMORY LEAK: Heap grew consistently');
147
- this.analyzeHeapGrowth(diff);
148
- this.growthCount = 0;
149
- }
150
- } else {
151
- this.growthCount = 0;
152
- }
153
-
154
- this.heapDiffs.push({
155
- timestamp: Date.now(),
156
- diff: diff,
157
- stats: stats
158
- });
159
-
160
- // Keep only last 10 diffs
161
- if (this.heapDiffs.length > 10) {
162
- this.heapDiffs.shift();
163
- }
164
- });
165
- }
166
-
167
- analyzeHeapGrowth(diff) {
168
- console.log('\n=== Heap Growth Analysis ===');
169
-
170
- // Sort by size increase
171
- const sorted = diff.change.details
172
- .sort((a, b) => Math.abs(b.size_bytes) - Math.abs(a.size_bytes))
173
- .slice(0, 10);
174
-
175
- sorted.forEach((detail, i) => {
176
- const sizeMB = (detail.size_bytes / 1024 / 1024).toFixed(2);
177
- console.log(`${i + 1}. ${detail.what}: ${sizeMB} MB (${detail['+'] - detail['-']} objects)`);
178
- });
179
- }
180
-
181
- takeSnapshot(label) {
182
- const v8 = require('v8');
183
- const fs = require('fs');
184
- const filename = `heap-${label}-${Date.now()}.heapsnapshot`;
185
- const snapshot = v8.writeHeapSnapshot();
186
- console.log(`Snapshot saved: ${filename}`);
187
- }
188
-
189
- getReport() {
190
- return {
191
- consecutiveGrowth: this.growthCount,
192
- recentDiffs: this.heapDiffs.slice(-5),
193
- currentMemory: process.memoryUsage()
194
- };
195
- }
196
- }
197
-
198
- module.exports = MemoryLeakDetector;
199
-
200
- // Usage
201
- if (require.main === module) {
202
- const detector = new MemoryLeakDetector({ threshold: 5 });
203
-
204
- // Example API endpoint
205
- const express = require('express');
206
- const app = express();
207
-
208
- app.get('/memory-report', (req, res) => {
209
- res.json(detector.getReport());
210
- });
211
-
212
- app.listen(3000);
213
- }
214
- ```
215
-
216
- #### Common Node.js Memory Leak Patterns
217
-
218
- ```javascript
219
- // leak-patterns.js
220
-
221
- // LEAK PATTERN 1: Event Listener Accumulation
222
- class LeakyEventEmitter {
223
- constructor() {
224
- this.emitter = new EventEmitter();
225
- }
226
-
227
- // ❌ BAD: Adds listener without cleanup
228
- addLeakyListener() {
229
- this.emitter.on('data', (data) => {
230
- console.log(data);
231
- });
232
- }
233
-
234
- // ✅ GOOD: Remove listener when done
235
- addSafeListener() {
236
- const handler = (data) => {
237
- console.log(data);
238
- };
239
- this.emitter.on('data', handler);
240
- return () => this.emitter.removeListener('data', handler);
241
- }
242
- }
243
-
244
- // LEAK PATTERN 2: Global State Accumulation
245
- // ❌ BAD: Unbounded cache
246
- const cache = {};
247
- function leakyCache(key, value) {
248
- cache[key] = value; // Never cleaned up
249
- }
250
-
251
- // ✅ GOOD: LRU cache with size limit
252
- const LRU = require('lru-cache');
253
- const safeCache = new LRU({
254
- max: 500,
255
- ttl: 1000 * 60 * 5 // 5 minutes
256
- });
257
-
258
- // LEAK PATTERN 3: Closure Retention
259
- // ❌ BAD: Closures hold large objects
260
- function leakyClosure() {
261
- const largeData = Buffer.alloc(10 * 1024 * 1024); // 10MB
262
-
263
- return function() {
264
- // This closure keeps largeData in memory
265
- return largeData.length;
266
- };
267
- }
268
-
269
- // ✅ GOOD: Extract only needed data
270
- function safeClosure() {
271
- const largeData = Buffer.alloc(10 * 1024 * 1024);
272
- const dataLength = largeData.length;
273
-
274
- return function() {
275
- return dataLength; // Only keeps number, not buffer
276
- };
277
- }
278
-
279
- // LEAK PATTERN 4: Detached DOM Nodes (Browser)
280
- // ❌ BAD: Keeping references to removed elements
281
- const detachedNodes = [];
282
- function leakyDOMManipulation() {
283
- const element = document.getElementById('myElement');
284
- detachedNodes.push(element);
285
- element.remove(); // Element removed from DOM but still in memory
286
- }
287
-
288
- // ✅ GOOD: Clear references
289
- function safeDOMManipulation() {
290
- const element = document.getElementById('myElement');
291
- element.remove();
292
- // Don't keep references to detached nodes
293
- }
294
-
295
- // LEAK PATTERN 5: Timers and Intervals
296
- // ❌ BAD: Intervals never cleared
297
- function leakyTimer() {
298
- setInterval(() => {
299
- console.log('This runs forever');
300
- }, 1000);
301
- }
302
-
303
- // ✅ GOOD: Clear timers
304
- function safeTimer() {
305
- const intervalId = setInterval(() => {
306
- console.log('This can be stopped');
307
- }, 1000);
308
-
309
- return () => clearInterval(intervalId);
310
- }
311
- ```
41
+ - Heap snapshot collection and analysis
42
+ - Memory monitoring with clinic.js
43
+ - V8 profiling and heap diff analysis
44
+ - Automatic memory threshold monitoring
45
+ - Leak detection patterns
312
46
 
313
47
  ### Python Memory Analysis
314
-
315
- #### Memory Profiling with memory_profiler
316
- ```python
317
- # memory_profile.py
318
- from memory_profiler import profile
319
- import tracemalloc
320
-
321
- @profile
322
- def analyze_memory():
323
- """Function to profile memory usage"""
324
- data = []
325
-
326
- # Allocate memory
327
- for i in range(1000000):
328
- data.append(i)
329
-
330
- # Process data
331
- result = [x * 2 for x in data]
332
-
333
- return result
334
-
335
- # Run with: python -m memory_profiler memory_profile.py
336
-
337
- # Alternative: tracemalloc (built-in)
338
- def trace_memory():
339
- tracemalloc.start()
340
-
341
- # Code to profile
342
- data = [i for i in range(1000000)]
343
-
344
- snapshot = tracemalloc.take_snapshot()
345
- top_stats = snapshot.statistics('lineno')
346
-
347
- print("[ Top 10 memory allocations ]")
348
- for stat in top_stats[:10]:
349
- print(stat)
350
-
351
- tracemalloc.stop()
352
-
353
- if __name__ == '__main__':
354
- trace_memory()
355
- ```
356
-
357
- #### Memory Leak Detection
358
- ```python
359
- # memory_leak_detector.py
360
- import gc
361
- import sys
362
- import objgraph
363
- from pympler import tracker, muppy, summary
364
-
365
- class MemoryLeakDetector:
366
- def __init__(self):
367
- self.tracker = tracker.SummaryTracker()
368
- self.snapshots = []
369
-
370
- def take_snapshot(self, label=None):
371
- """Take a memory snapshot"""
372
- snapshot = {
373
- 'label': label or f'snapshot-{len(self.snapshots)}',
374
- 'timestamp': time.time(),
375
- 'summary': muppy.get_objects()
376
- }
377
- self.snapshots.append(snapshot)
378
- return snapshot
379
-
380
- def compare_snapshots(self, snap1_idx=0, snap2_idx=-1):
381
- """Compare two snapshots"""
382
- if len(self.snapshots) < 2:
383
- print("Need at least 2 snapshots")
384
- return
385
-
386
- snap1 = self.snapshots[snap1_idx]['summary']
387
- snap2 = self.snapshots[snap2_idx]['summary']
388
-
389
- diff = summary.get_diff(summary.summarize(snap1), summary.summarize(snap2))
390
- print("\n=== Memory Diff ===")
391
- summary.print_(diff)
392
-
393
- def find_leaks(self):
394
- """Find potential memory leaks"""
395
- print("\n=== Garbage Collection Stats ===")
396
- print(f"Garbage objects: {gc.collect()}")
397
-
398
- print("\n=== Object Growth ===")
399
- objgraph.show_growth(limit=10)
400
-
401
- print("\n=== Most Common Types ===")
402
- objgraph.show_most_common_types(limit=10)
403
-
404
- def find_references(self, obj_type, max_depth=3):
405
- """Find what's holding references to objects"""
406
- objects = objgraph.by_type(obj_type)
407
- if objects:
408
- objgraph.show_backrefs(
409
- objects[:5],
410
- max_depth=max_depth,
411
- filename=f'{obj_type}-refs.png'
412
- )
413
- print(f"Reference graph saved to {obj_type}-refs.png")
414
-
415
- def track_changes(self):
416
- """Track memory changes since last call"""
417
- print("\n=== Memory Changes ===")
418
- self.tracker.print_diff()
419
-
420
- # Usage
421
- detector = MemoryLeakDetector()
422
-
423
- # Baseline
424
- detector.take_snapshot('baseline')
425
-
426
- # ... run your code ...
427
-
428
- # After operations
429
- detector.take_snapshot('after_operation')
430
- detector.compare_snapshots()
431
- detector.find_leaks()
432
- ```
433
-
434
- #### Common Python Memory Leak Patterns
435
- ```python
436
- # leak_patterns.py
437
-
438
- # LEAK PATTERN 1: Circular References
439
- class LeakyNode:
440
- def __init__(self, value):
441
- self.value = value
442
- self.next = None
443
- self.prev = None
444
-
445
- # ❌ BAD: Circular reference
446
- def create_leaky_list():
447
- head = LeakyNode(1)
448
- tail = LeakyNode(2)
449
- head.next = tail
450
- tail.prev = head # Circular reference
451
- # Objects won't be garbage collected immediately
452
-
453
- # ✅ GOOD: Use weakref
454
- import weakref
455
-
456
- class SafeNode:
457
- def __init__(self, value):
458
- self.value = value
459
- self.next = None
460
- self._prev = None
461
-
462
- @property
463
- def prev(self):
464
- return self._prev() if self._prev else None
465
-
466
- @prev.setter
467
- def prev(self, node):
468
- self._prev = weakref.ref(node) if node else None
469
-
470
- # LEAK PATTERN 2: Unbounded Caches
471
- # ❌ BAD: Unbounded cache
472
- cache = {}
473
- def leaky_cache(key, value):
474
- cache[key] = value
475
-
476
- # ✅ GOOD: LRU cache with size limit
477
- from functools import lru_cache
478
-
479
- @lru_cache(maxsize=128)
480
- def safe_cache(key):
481
- return expensive_operation(key)
482
-
483
- # LEAK PATTERN 3: Generator Retention
484
- # ❌ BAD: Keeping generator references
485
- generators = []
486
- def leaky_generator():
487
- gen = (x for x in range(1000000))
488
- generators.append(gen) # Keeps large iterator in memory
489
-
490
- # ✅ GOOD: Process and discard
491
- def safe_generator():
492
- gen = (x for x in range(1000000))
493
- result = list(gen) # Convert to list, generator discarded
494
- return result
495
- ```
496
-
497
- ### Java Heap Dump Analysis
498
-
499
- #### Capture Heap Dump
500
- ```bash
501
- #!/bin/bash
502
- # capture-heap-dump.sh
503
-
504
- PID=$1
505
-
506
- if [ -z "$PID" ]; then
507
- echo "Usage: $0 <java-pid>"
508
- exit 1
509
- fi
510
-
511
- # Capture heap dump
512
- DUMP_FILE="heap-dump-$(date +%Y%m%d-%H%M%S).hprof"
513
-
514
- echo "Capturing heap dump for PID $PID..."
515
- jmap -dump:live,format=b,file="$DUMP_FILE" $PID
516
-
517
- if [ $? -eq 0 ]; then
518
- echo "Heap dump saved to: $DUMP_FILE"
519
- echo "Size: $(du -h $DUMP_FILE | cut -f1)"
520
- else
521
- echo "Failed to capture heap dump"
522
- exit 1
523
- fi
524
-
525
- # Analyze with jhat (built-in)
526
- echo "Starting jhat server..."
527
- jhat -port 7000 "$DUMP_FILE" &
528
- echo "Access heap analysis at: http://localhost:7000"
529
-
530
- # Alternative: Eclipse Memory Analyzer (MAT)
531
- # Download from: https://www.eclipse.org/mat/
532
- # Open .hprof file in MAT for detailed analysis
533
- ```
534
-
535
- #### Java Memory Profiling
536
- ```java
537
- // MemoryProfiler.java
538
- import java.lang.management.*;
539
- import java.util.*;
540
-
541
- public class MemoryProfiler {
542
- private static final MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
543
- private static final List<GarbageCollectorMXBean> gcBeans = ManagementFactory.getGarbageCollectorMXBeans();
544
-
545
- public static void printMemoryUsage() {
546
- MemoryUsage heapUsage = memoryBean.getHeapMemoryUsage();
547
- MemoryUsage nonHeapUsage = memoryBean.getNonHeapMemoryUsage();
548
-
549
- System.out.println("=== Memory Usage ===");
550
- System.out.println("Heap:");
551
- System.out.printf(" Used: %d MB%n", heapUsage.getUsed() / 1024 / 1024);
552
- System.out.printf(" Committed: %d MB%n", heapUsage.getCommitted() / 1024 / 1024);
553
- System.out.printf(" Max: %d MB%n", heapUsage.getMax() / 1024 / 1024);
554
-
555
- System.out.println("Non-Heap:");
556
- System.out.printf(" Used: %d MB%n", nonHeapUsage.getUsed() / 1024 / 1024);
557
- System.out.printf(" Committed: %d MB%n", nonHeapUsage.getCommitted() / 1024 / 1024);
558
- }
559
-
560
- public static void printGCStats() {
561
- System.out.println("\n=== Garbage Collection Stats ===");
562
- for (GarbageCollectorMXBean gcBean : gcBeans) {
563
- System.out.printf("%s:%n", gcBean.getName());
564
- System.out.printf(" Count: %d%n", gcBean.getCollectionCount());
565
- System.out.printf(" Time: %d ms%n", gcBean.getCollectionTime());
566
- }
567
- }
568
-
569
- public static void monitorMemory() {
570
- Timer timer = new Timer(true);
571
- timer.scheduleAtFixedRate(new TimerTask() {
572
- @Override
573
- public void run() {
574
- printMemoryUsage();
575
- printGCStats();
576
-
577
- // Alert on high memory usage
578
- MemoryUsage heap = memoryBean.getHeapMemoryUsage();
579
- double usagePercent = (double) heap.getUsed() / heap.getMax() * 100;
580
-
581
- if (usagePercent > 90) {
582
- System.err.println("WARNING: Heap usage at " + usagePercent + "%");
583
- }
584
- }
585
- }, 0, 10000); // Every 10 seconds
586
- }
587
-
588
- public static void main(String[] args) {
589
- monitorMemory();
590
-
591
- // Keep application running
592
- try {
593
- Thread.sleep(Long.MAX_VALUE);
594
- } catch (InterruptedException e) {
595
- e.printStackTrace();
596
- }
597
- }
598
- }
599
- ```
600
-
601
- #### JVM Memory Tuning
602
- ```bash
603
- # jvm-memory-options.sh
604
-
605
- # Heap size tuning
606
- JAVA_OPTS="-Xms2g -Xmx4g" # Initial 2GB, max 4GB
607
-
608
- # GC tuning (G1GC - recommended for most cases)
609
- JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC"
610
- JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=200" # Target max pause time
611
- JAVA_OPTS="$JAVA_OPTS -XX:G1HeapRegionSize=16m"
612
-
613
- # GC logging
614
- JAVA_OPTS="$JAVA_OPTS -Xlog:gc*:file=gc.log:time,uptime,level,tags"
615
- JAVA_OPTS="$JAVA_OPTS -Xlog:gc*::filecount=5,filesize=10M"
616
-
617
- # Heap dump on OOM
618
- JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
619
- JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=/var/log/heapdumps"
620
-
621
- # JMX for remote monitoring
622
- JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
623
- JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9010"
624
- JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
625
- JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
626
-
627
- # Run application
628
- java $JAVA_OPTS -jar app.jar
629
- ```
630
-
631
- ### Memory Testing Framework
632
-
633
- #### Automated Memory Leak Test
634
- ```javascript
635
- // memory-leak-test.js
636
- const assert = require('assert');
637
- const v8 = require('v8');
638
-
639
- class MemoryLeakTest {
640
- constructor(testName, options = {}) {
641
- this.testName = testName;
642
- this.iterations = options.iterations || 100;
643
- this.threshold = options.threshold || 1.5; // 50% growth allowed
644
- this.samples = [];
645
- }
646
-
647
- async run(testFunction) {
648
- console.log(`Running memory leak test: ${this.testName}`);
649
-
650
- // Warm up
651
- for (let i = 0; i < 10; i++) {
652
- await testFunction();
653
- }
654
-
655
- // Force GC
656
- if (global.gc) {
657
- global.gc();
658
- }
659
-
660
- // Baseline measurement
661
- const baselineHeap = process.memoryUsage().heapUsed;
662
-
663
- // Run iterations and sample memory
664
- for (let i = 0; i < this.iterations; i++) {
665
- await testFunction();
666
-
667
- if (i % 10 === 0) {
668
- if (global.gc) global.gc();
669
- this.samples.push(process.memoryUsage().heapUsed);
670
- }
671
- }
672
-
673
- // Final measurement
674
- if (global.gc) global.gc();
675
- const finalHeap = process.memoryUsage().heapUsed;
676
-
677
- // Analyze results
678
- const growth = finalHeap / baselineHeap;
679
- const passed = growth < this.threshold;
680
-
681
- console.log(`Baseline heap: ${(baselineHeap / 1024 / 1024).toFixed(2)} MB`);
682
- console.log(`Final heap: ${(finalHeap / 1024 / 1024).toFixed(2)} MB`);
683
- console.log(`Growth: ${(growth * 100).toFixed(2)}%`);
684
- console.log(`Threshold: ${(this.threshold * 100).toFixed(2)}%`);
685
- console.log(`Result: ${passed ? 'PASSED' : 'FAILED'}`);
686
-
687
- assert.ok(passed, `Memory leak detected: ${(growth * 100).toFixed(2)}% growth`);
688
-
689
- return { passed, growth, baselineHeap, finalHeap };
690
- }
691
- }
692
-
693
- // Usage
694
- async function runTests() {
695
- // Test 1: No leak expected
696
- const test1 = new MemoryLeakTest('Request handling', { iterations: 1000 });
697
- await test1.run(async () => {
698
- const data = { id: 1, name: 'test' };
699
- JSON.stringify(data);
700
- });
701
-
702
- // Test 2: Potential leak
703
- const cache = [];
704
- const test2 = new MemoryLeakTest('Cache growth', { iterations: 1000, threshold: 2.0 });
705
- await test2.run(async () => {
706
- cache.push({ data: Buffer.alloc(1024) });
707
- });
708
- }
709
-
710
- // Run with: node --expose-gc memory-leak-test.js
711
- if (require.main === module) {
712
- runTests().catch(console.error);
713
- }
714
-
715
- module.exports = MemoryLeakTest;
716
- ```
717
-
718
- ## Validation Protocol
719
-
720
- Before reporting high confidence:
721
- ✅ Memory leak identified and root cause found
722
- ✅ Heap dumps analyzed
723
- ✅ Memory profiling completed
724
- ✅ Fix implemented and validated
725
- ✅ Memory tests passing
726
- ✅ GC behavior optimized
727
- ✅ Monitoring alerts configured
728
- ✅ Documentation updated
729
- ✅ Prevention patterns implemented
730
- ✅ Team trained on memory best practices
731
-
732
- ## Deliverables
733
-
734
- 1. **Memory Analysis Report**: Heap dump analysis, leak identification
735
- 2. **Profiling Results**: Memory usage patterns, optimization opportunities
736
- 3. **Fix Implementation**: Code changes to eliminate leaks
737
- 4. **Memory Tests**: Automated leak detection tests
738
- 5. **Monitoring Setup**: Memory alerts and dashboards
739
- 6. **Documentation**: Memory optimization guide, best practices
740
- 7. **Training Materials**: Memory leak prevention patterns
48
+ - Memory profiling with memory_profiler
49
+ - Heap dump generation and analysis
50
+ - GC pattern investigation
51
+ - Resource cleanup validation
52
+ - Memory leak detection in C extensions
53
+
54
+ ### Java Memory Analysis
55
+ - Heap dump analysis with jmap
56
+ - GC log analysis and tuning
57
+ - JProfiler integration
58
+ - Metaspace monitoring
59
+ - OutOfMemoryError diagnosis
60
+
61
+ ## Referenced Skills
62
+ → **Node.js Memory Profiling**: `.claude/skills/nodejs-memory-profiling/SKILL.md`
63
+ → **Python Heap Analysis**: `.claude/skills/python-memory-analysis/SKILL.md`
64
+ **Java Heap Dump Analysis**: `.claude/skills/java-heap-dump-analysis/SKILL.md`
65
+ **Memory Optimization Patterns**: `.claude/skills/memory-optimization-patterns/SKILL.md`
66
+ → **Garbage Collection Tuning**: `.claude/skills/gc-optimization/SKILL.md`
67
+
68
+ ## Memory Leak Detection Process
69
+
70
+ ### Phase 1: Initial Diagnosis
71
+ 1. Identify runtime environment (Node.js, Python, Java)
72
+ 2. Gather baseline memory metrics
73
+ 3. Collect initial heap snapshots
74
+ 4. Review application logs for memory-related errors
75
+
76
+ ### Phase 2: Deep Analysis
77
+ 1. Compare heap snapshots across time
78
+ 2. Identify retained objects and memory growth patterns
79
+ 3. Analyze garbage collection behavior
80
+ 4. Trace allocation hotspots
81
+
82
+ ### Phase 3: Root Cause Investigation
83
+ 1. Identify problematic code sections
84
+ 2. Analyze object retention chains
85
+ 3. Check for circular references or event listener accumulation
86
+ 4. Review event emitter cleanup patterns
87
+
88
+ ### Phase 4: Solution Development
89
+ 1. Create minimal reproduction cases
90
+ 2. Implement fixes with verification tests
91
+ 3. Validate memory behavior improvement
92
+ 4. Create monitoring and alerting
93
+
94
+ ### Phase 5: Ongoing Monitoring
95
+ 1. Establish baseline memory metrics
96
+ 2. Set up automated memory profiling
97
+ 3. Create alerting for anomalies
98
+ 4. Document prevention patterns
99
+
100
+ ## Memory Profiling Tools
101
+
102
+ ### Node.js Ecosystem
103
+ - **clinic.js**: Comprehensive Node.js profiling
104
+ - **node-inspect**: Built-in V8 profiler
105
+ - **autocannon**: Load testing for stress profiling
106
+ - **memwatch**: Real-time memory leak detection
107
+ - **heapdump**: Explicit heap snapshot capture
108
+
109
+ ### Python Ecosystem
110
+ - **memory_profiler**: Line-by-line memory analysis
111
+ - **tracemalloc**: Memory allocation tracing
112
+ - **pympler**: Object analysis and profiling
113
+ - **objgraph**: Object reference visualization
114
+ - **scalene**: CPU + GPU + memory profiler
115
+
116
+ ### Java Ecosystem
117
+ - **jmap**: Memory mapping and heap analysis
118
+ - **jstat**: GC statistics collection
119
+ - **jconsole**: Visual memory monitoring
120
+ - **VisualVM**: Comprehensive Java profiling
121
+ - **JProfiler**: Advanced heap analysis
122
+
123
+ ## Common Memory Leak Patterns
124
+
125
+ ### Node.js Patterns
126
+ - Event listener accumulation
127
+ - Circular reference retention
128
+ - Large object caching without eviction
129
+ - Timer/interval non-cleanup
130
+ - Module-level state pollution
131
+
132
+ ### Python Patterns
133
+ - Circular reference retention
134
+ - Unbounded dictionary caches
135
+ - Module-level state accumulation
136
+ - C extension resource leaks
137
+ - Dataset reference retention
138
+
139
+ ### Java Patterns
140
+ - Static collection growth
141
+ - ThreadLocal variable retention
142
+ - Listener pattern non-cleanup
143
+ - Resource stream non-closure
144
+ - Class loader memory retention
741
145
 
742
146
  ## Success Metrics
743
- - Memory leaks eliminated (0 detected in tests)
744
- - Memory growth <10% over 24h runtime
745
- - GC pause times within SLO
746
- - Heap utilization optimized (<80% of max)
747
- - Confidence score ≥ 0.90
147
+ - Memory leak identified and documented
148
+ - Root cause clearly explained
149
+ - Working fix implemented and tested
150
+ - Memory behavior validated (no regression)
151
+ - Monitoring/alerting established
152
+ - Prevention patterns documented
153
+ - Confidence score ≥0.85
154
+
155
+ ## Collaboration Patterns
156
+ - Work with application developers on fixes
157
+ - Review code for leak prevention patterns
158
+ - Validate monitoring/alerting setup
159
+ - Document findings for team knowledge base
748
160
 
749
161
  ## Completion Protocol
750
162
 
751
163
  Complete your work and provide a structured response with:
752
164
  - Confidence score (0.0-1.0) based on work quality
753
- - Summary of work completed
754
- - List of deliverables created
755
- - Any recommendations or findings
165
+ - Summary of memory leak investigation
166
+ - List of deliverables created (analysis, fixes, monitoring)
167
+ - Any recommendations or prevention patterns
756
168
 
757
169
  **Note:** Coordination handled automatically by the system.
758
-
759
- ## Skill References
760
- → **Node.js Profiling**: `.claude/skills/nodejs-memory-profiling/SKILL.md`
761
- → **Python Profiling**: `.claude/skills/python-memory-analysis/SKILL.md`
762
- → **Java Heap Analysis**: `.claude/skills/java-heap-dump-analysis/SKILL.md`
763
- → **Memory Optimization**: `.claude/skills/memory-optimization-patterns/SKILL.md`