claude-flow-novice 2.10.5 → 2.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) hide show
  1. package/claude-assets/agents/AGENT_LIFECYCLE.md +530 -0
  2. package/claude-assets/agents/README-VALIDATION.md +243 -0
  3. package/claude-assets/agents/custom/claude-code-expert.md +144 -0
  4. package/claude-assets/agents/custom/test-mcp-access.md +26 -0
  5. package/claude-assets/agents/project-only-agents/npm-package-specialist.md +347 -0
  6. package/claude-assets/agents/validate-agent.js +841 -0
  7. package/claude-assets/commands/agents/README.md +10 -0
  8. package/claude-assets/commands/agents/agent-capabilities.md +21 -0
  9. package/claude-assets/commands/agents/agent-coordination.md +28 -0
  10. package/claude-assets/commands/agents/agent-spawning.md +28 -0
  11. package/claude-assets/commands/agents/agent-types.md +26 -0
  12. package/claude-assets/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  13. package/claude-assets/commands/analysis/README.md +9 -0
  14. package/claude-assets/commands/analysis/bottleneck-detect.md +162 -0
  15. package/claude-assets/commands/analysis/performance-bottlenecks.md +59 -0
  16. package/claude-assets/commands/analysis/performance-report.md +25 -0
  17. package/claude-assets/commands/analysis/token-efficiency.md +45 -0
  18. package/claude-assets/commands/analysis/token-usage.md +25 -0
  19. package/claude-assets/commands/automation/README.md +9 -0
  20. package/claude-assets/commands/automation/auto-agent.md +122 -0
  21. package/claude-assets/commands/automation/self-healing.md +106 -0
  22. package/claude-assets/commands/automation/session-memory.md +90 -0
  23. package/claude-assets/commands/automation/smart-agents.md +73 -0
  24. package/claude-assets/commands/automation/smart-spawn.md +25 -0
  25. package/claude-assets/commands/automation/workflow-select.md +25 -0
  26. package/claude-assets/commands/cfn/CFN_COORDINATOR_PARAMETERS.md +660 -0
  27. package/claude-assets/commands/cfn/CFN_LOOP_FRONTEND.md +741 -0
  28. package/claude-assets/commands/cfn/CFN_LOOP_TASK_MODE.md +353 -0
  29. package/claude-assets/commands/cfn/README.md +157 -0
  30. package/claude-assets/commands/cfn/auto-compact.md +80 -0
  31. package/claude-assets/commands/cfn/cfn-claude-sync.md +303 -0
  32. package/claude-assets/commands/cfn/cfn-loop-document.md +480 -0
  33. package/claude-assets/commands/cfn/cfn-loop-epic.md +478 -0
  34. package/claude-assets/commands/cfn/cfn-loop-frontend.md +555 -0
  35. package/claude-assets/commands/cfn/cfn-loop-single.md +256 -0
  36. package/claude-assets/commands/cfn/cfn-loop-sprints.md +396 -0
  37. package/claude-assets/commands/cfn/cfn-loop.md +517 -0
  38. package/claude-assets/commands/cfn/cfn-mode.md +20 -0
  39. package/claude-assets/commands/cfn/cfn-optimize-agents.md +103 -0
  40. package/claude-assets/commands/cfn/claude-md.md +64 -0
  41. package/claude-assets/commands/cfn/claude-soul.md +22 -0
  42. package/claude-assets/commands/cfn/context-curate.md +211 -0
  43. package/claude-assets/commands/cfn/context-inject.md +262 -0
  44. package/claude-assets/commands/cfn/context-query.md +215 -0
  45. package/claude-assets/commands/cfn/context-reflect.md +165 -0
  46. package/claude-assets/commands/cfn/context-stats.md +294 -0
  47. package/claude-assets/commands/cfn/cost-savings-off.md +35 -0
  48. package/claude-assets/commands/cfn/cost-savings-on.md +35 -0
  49. package/claude-assets/commands/cfn/cost-savings-status.md +34 -0
  50. package/claude-assets/commands/cfn/custom-routing-activate.md +55 -0
  51. package/claude-assets/commands/cfn/custom-routing-deactivate.md +46 -0
  52. package/claude-assets/commands/cfn/dependency-recommendations.md +171 -0
  53. package/claude-assets/commands/cfn/fullstack.md +179 -0
  54. package/claude-assets/commands/cfn/github-commit.md +289 -0
  55. package/claude-assets/commands/cfn/github.md +221 -0
  56. package/claude-assets/commands/cfn/hello-world-tests.md +381 -0
  57. package/claude-assets/commands/cfn/hooks.md +38 -0
  58. package/claude-assets/commands/cfn/launch-web-dashboard.md +295 -0
  59. package/claude-assets/commands/cfn/list-agents-rebuild.md +205 -0
  60. package/claude-assets/commands/cfn/metrics-summary.md +58 -0
  61. package/claude-assets/commands/cfn/neural.md +39 -0
  62. package/claude-assets/commands/cfn/parse-epic.md +357 -0
  63. package/claude-assets/commands/cfn/performance.md +41 -0
  64. package/claude-assets/commands/cfn/sparc.md +46 -0
  65. package/claude-assets/commands/cfn/suggest-improvements.md +95 -0
  66. package/claude-assets/commands/cfn/suggest-templates.md +147 -0
  67. package/claude-assets/commands/cfn/swarm.md +24 -0
  68. package/claude-assets/commands/cfn/switch-api.md +53 -0
  69. package/claude-assets/commands/cfn/workflow.md +295 -0
  70. package/claude-assets/commands/cfn/write-plan.md +104 -0
  71. package/claude-assets/commands/claude-md.js +237 -0
  72. package/claude-assets/commands/claude-soul.js +28 -0
  73. package/claude-assets/commands/cli-integration.js +216 -0
  74. package/claude-assets/commands/coordination/README.md +9 -0
  75. package/claude-assets/commands/coordination/agent-spawn.md +25 -0
  76. package/claude-assets/commands/coordination/coordination-system.md +88 -0
  77. package/claude-assets/commands/coordination/init.md +44 -0
  78. package/claude-assets/commands/coordination/orchestrate.md +43 -0
  79. package/claude-assets/commands/coordination/spawn.md +45 -0
  80. package/claude-assets/commands/coordination/swarm-init.md +85 -0
  81. package/claude-assets/commands/coordination/task-orchestrate.md +25 -0
  82. package/claude-assets/commands/github/README.md +11 -0
  83. package/claude-assets/commands/github/code-review-swarm.md +514 -0
  84. package/claude-assets/commands/github/code-review.md +25 -0
  85. package/claude-assets/commands/github/github-modes.md +147 -0
  86. package/claude-assets/commands/github/github-swarm.md +121 -0
  87. package/claude-assets/commands/github/issue-tracker.md +292 -0
  88. package/claude-assets/commands/github/issue-triage.md +25 -0
  89. package/claude-assets/commands/github/multi-repo-swarm.md +519 -0
  90. package/claude-assets/commands/github/pr-enhance.md +26 -0
  91. package/claude-assets/commands/github/pr-manager.md +170 -0
  92. package/claude-assets/commands/github/project-board-sync.md +471 -0
  93. package/claude-assets/commands/github/release-manager.md +338 -0
  94. package/claude-assets/commands/github/release-swarm.md +544 -0
  95. package/claude-assets/commands/github/repo-analyze.md +25 -0
  96. package/claude-assets/commands/github/repo-architect.md +367 -0
  97. package/claude-assets/commands/github/swarm-issue.md +482 -0
  98. package/claude-assets/commands/github/swarm-pr.md +285 -0
  99. package/claude-assets/commands/github/sync-coordinator.md +301 -0
  100. package/claude-assets/commands/github/workflow-automation.md +442 -0
  101. package/claude-assets/commands/github.js +638 -0
  102. package/claude-assets/commands/hive-mind/README.md +17 -0
  103. package/claude-assets/commands/hive-mind/hive-mind-consensus.md +8 -0
  104. package/claude-assets/commands/hive-mind/hive-mind-init.md +18 -0
  105. package/claude-assets/commands/hive-mind/hive-mind-memory.md +8 -0
  106. package/claude-assets/commands/hive-mind/hive-mind-metrics.md +8 -0
  107. package/claude-assets/commands/hive-mind/hive-mind-resume.md +8 -0
  108. package/claude-assets/commands/hive-mind/hive-mind-sessions.md +8 -0
  109. package/claude-assets/commands/hive-mind/hive-mind-spawn.md +21 -0
  110. package/claude-assets/commands/hive-mind/hive-mind-status.md +8 -0
  111. package/claude-assets/commands/hive-mind/hive-mind-stop.md +8 -0
  112. package/claude-assets/commands/hive-mind/hive-mind-wizard.md +8 -0
  113. package/claude-assets/commands/hive-mind/hive-mind.md +27 -0
  114. package/claude-assets/commands/hooks/README.md +11 -0
  115. package/claude-assets/commands/hooks/overview.md +58 -0
  116. package/claude-assets/commands/hooks/post-edit.md +117 -0
  117. package/claude-assets/commands/hooks/post-task.md +112 -0
  118. package/claude-assets/commands/hooks/pre-edit.md +113 -0
  119. package/claude-assets/commands/hooks/pre-task.md +111 -0
  120. package/claude-assets/commands/hooks/session-end.md +118 -0
  121. package/claude-assets/commands/hooks/session-start.md +9 -0
  122. package/claude-assets/commands/hooks/setup.md +103 -0
  123. package/claude-assets/commands/hooks.js +651 -0
  124. package/claude-assets/commands/index.js +119 -0
  125. package/claude-assets/commands/memory/README.md +9 -0
  126. package/claude-assets/commands/memory/memory-bank.md +58 -0
  127. package/claude-assets/commands/memory/memory-persist.md +25 -0
  128. package/claude-assets/commands/memory/memory-search.md +25 -0
  129. package/claude-assets/commands/memory/memory-usage.md +25 -0
  130. package/claude-assets/commands/memory/neural.md +47 -0
  131. package/claude-assets/commands/memory/usage.md +46 -0
  132. package/claude-assets/commands/monitoring/README.md +9 -0
  133. package/claude-assets/commands/monitoring/agent-metrics.md +25 -0
  134. package/claude-assets/commands/monitoring/agents.md +44 -0
  135. package/claude-assets/commands/monitoring/real-time-view.md +25 -0
  136. package/claude-assets/commands/monitoring/status.md +46 -0
  137. package/claude-assets/commands/monitoring/swarm-monitor.md +25 -0
  138. package/claude-assets/commands/neural.js +572 -0
  139. package/claude-assets/commands/optimization/README.md +9 -0
  140. package/claude-assets/commands/optimization/auto-topology.md +62 -0
  141. package/claude-assets/commands/optimization/cache-manage.md +25 -0
  142. package/claude-assets/commands/optimization/parallel-execute.md +25 -0
  143. package/claude-assets/commands/optimization/parallel-execution.md +50 -0
  144. package/claude-assets/commands/optimization/topology-optimize.md +25 -0
  145. package/claude-assets/commands/pair/README.md +261 -0
  146. package/claude-assets/commands/pair/commands.md +546 -0
  147. package/claude-assets/commands/pair/config.md +510 -0
  148. package/claude-assets/commands/pair/examples.md +512 -0
  149. package/claude-assets/commands/pair/modes.md +348 -0
  150. package/claude-assets/commands/pair/session.md +407 -0
  151. package/claude-assets/commands/pair/start.md +209 -0
  152. package/claude-assets/commands/parse-epic.js +180 -0
  153. package/claude-assets/commands/performance.js +582 -0
  154. package/claude-assets/commands/register-all-commands.js +320 -0
  155. package/claude-assets/commands/register-claude-md.js +82 -0
  156. package/claude-assets/commands/register-claude-soul.js +80 -0
  157. package/claude-assets/commands/sparc/analyzer.md +52 -0
  158. package/claude-assets/commands/sparc/architect.md +53 -0
  159. package/claude-assets/commands/sparc/batch-executor.md +54 -0
  160. package/claude-assets/commands/sparc/coder.md +54 -0
  161. package/claude-assets/commands/sparc/debugger.md +54 -0
  162. package/claude-assets/commands/sparc/designer.md +53 -0
  163. package/claude-assets/commands/sparc/documenter.md +54 -0
  164. package/claude-assets/commands/sparc/innovator.md +54 -0
  165. package/claude-assets/commands/sparc/memory-manager.md +54 -0
  166. package/claude-assets/commands/sparc/optimizer.md +54 -0
  167. package/claude-assets/commands/sparc/orchestrator.md +132 -0
  168. package/claude-assets/commands/sparc/researcher.md +54 -0
  169. package/claude-assets/commands/sparc/reviewer.md +54 -0
  170. package/claude-assets/commands/sparc/sparc-modes.md +174 -0
  171. package/claude-assets/commands/sparc/swarm-coordinator.md +54 -0
  172. package/claude-assets/commands/sparc/tdd.md +54 -0
  173. package/claude-assets/commands/sparc/tester.md +54 -0
  174. package/claude-assets/commands/sparc/workflow-manager.md +54 -0
  175. package/claude-assets/commands/sparc.js +110 -0
  176. package/claude-assets/commands/stream-chain/pipeline.md +121 -0
  177. package/claude-assets/commands/stream-chain/run.md +70 -0
  178. package/claude-assets/commands/swarm/README.md +15 -0
  179. package/claude-assets/commands/swarm/analysis.md +95 -0
  180. package/claude-assets/commands/swarm/development.md +96 -0
  181. package/claude-assets/commands/swarm/examples.md +168 -0
  182. package/claude-assets/commands/swarm/maintenance.md +102 -0
  183. package/claude-assets/commands/swarm/optimization.md +117 -0
  184. package/claude-assets/commands/swarm/research.md +136 -0
  185. package/claude-assets/commands/swarm/swarm-analysis.md +8 -0
  186. package/claude-assets/commands/swarm/swarm-background.md +8 -0
  187. package/claude-assets/commands/swarm/swarm-init.md +19 -0
  188. package/claude-assets/commands/swarm/swarm-modes.md +8 -0
  189. package/claude-assets/commands/swarm/swarm-monitor.md +8 -0
  190. package/claude-assets/commands/swarm/swarm-spawn.md +19 -0
  191. package/claude-assets/commands/swarm/swarm-status.md +8 -0
  192. package/claude-assets/commands/swarm/swarm-strategies.md +8 -0
  193. package/claude-assets/commands/swarm/swarm.md +27 -0
  194. package/claude-assets/commands/swarm/testing.md +131 -0
  195. package/claude-assets/commands/swarm.js +423 -0
  196. package/claude-assets/commands/testing/playwright-e2e.md +288 -0
  197. package/claude-assets/commands/training/README.md +9 -0
  198. package/claude-assets/commands/training/model-update.md +25 -0
  199. package/claude-assets/commands/training/neural-patterns.md +74 -0
  200. package/claude-assets/commands/training/neural-train.md +25 -0
  201. package/claude-assets/commands/training/pattern-learn.md +25 -0
  202. package/claude-assets/commands/training/specialization.md +63 -0
  203. package/claude-assets/commands/truth/start.md +143 -0
  204. package/claude-assets/commands/validate-commands.js +223 -0
  205. package/claude-assets/commands/verify/check.md +50 -0
  206. package/claude-assets/commands/verify/start.md +128 -0
  207. package/claude-assets/commands/workflow.js +606 -0
  208. package/claude-assets/commands/workflows/README.md +9 -0
  209. package/claude-assets/commands/workflows/development.md +78 -0
  210. package/claude-assets/commands/workflows/research.md +63 -0
  211. package/claude-assets/commands/workflows/workflow-create.md +25 -0
  212. package/claude-assets/commands/workflows/workflow-execute.md +25 -0
  213. package/claude-assets/commands/workflows/workflow-export.md +25 -0
  214. package/claude-assets/hooks/cfn-BACKUP_USAGE.md +243 -0
  215. package/claude-assets/hooks/cfn-invoke-post-edit.sh +87 -0
  216. package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +79 -0
  217. package/claude-assets/hooks/cfn-post-edit.config.json +37 -0
  218. package/claude-assets/hooks/cfn-post-edit.sh +21 -0
  219. package/claude-assets/hooks/cfn-pre-edit-backup.sh +71 -0
  220. package/claude-assets/hooks/cfn-restore-from-backup.sh +37 -0
  221. package/claude-assets/hooks/post-edit.config.json +12 -0
  222. package/claude-assets/root-claude-distribute/CFN-CLAUDE.md +796 -0
  223. package/claude-assets/skills/CFN-LOOP-VALIDATION.md +202 -0
  224. package/claude-assets/skills/REDIS-COORDINATION.md +187 -0
  225. package/claude-assets/skills/SKILL.md +229 -0
  226. package/claude-assets/skills/agent-discovery/agents-registry.json +484 -0
  227. package/claude-assets/skills/cfn-ace-system/SKILL.md +364 -0
  228. package/claude-assets/skills/cfn-ace-system/add-bullet.sh +145 -0
  229. package/claude-assets/skills/cfn-ace-system/analyze-anti-pattern-effectiveness.sh +56 -0
  230. package/claude-assets/skills/cfn-ace-system/classify-task.sh +18 -0
  231. package/claude-assets/skills/cfn-ace-system/export-ace-metrics.sh +48 -0
  232. package/claude-assets/skills/cfn-ace-system/extract-tags.sh +385 -0
  233. package/claude-assets/skills/cfn-ace-system/format-negative-context.sh +180 -0
  234. package/claude-assets/skills/cfn-ace-system/init-indexes.sql +160 -0
  235. package/claude-assets/skills/cfn-ace-system/invoke-context-curate.sh +192 -0
  236. package/claude-assets/skills/cfn-ace-system/invoke-context-inject.sh +361 -0
  237. package/claude-assets/skills/cfn-ace-system/invoke-context-query.sh +139 -0
  238. package/claude-assets/skills/cfn-ace-system/invoke-context-reflect.sh +343 -0
  239. package/claude-assets/skills/cfn-ace-system/invoke-context-stats.sh +227 -0
  240. package/claude-assets/skills/cfn-ace-system/log-merge.sh +67 -0
  241. package/claude-assets/skills/cfn-ace-system/monitor-injection-performance.sh +138 -0
  242. package/claude-assets/skills/cfn-ace-system/optimize-injection-pipeline.sh +169 -0
  243. package/claude-assets/skills/cfn-ace-system/query-anti-patterns.sh +276 -0
  244. package/claude-assets/skills/cfn-ace-system/query-contexts.sh +150 -0
  245. package/claude-assets/skills/cfn-ace-system/query-reflections.sh +35 -0
  246. package/claude-assets/skills/cfn-ace-system/schema/001-create-context-reflections.sql +237 -0
  247. package/claude-assets/skills/cfn-ace-system/schema/README.md +723 -0
  248. package/claude-assets/skills/cfn-ace-system/schema/SCHEMA_DESIGN_SUMMARY.md +564 -0
  249. package/claude-assets/skills/cfn-ace-system/schema/populate-test-data-simple.sh +62 -0
  250. package/claude-assets/skills/cfn-ace-system/schema/populate-test-data.sh +247 -0
  251. package/claude-assets/skills/cfn-ace-system/schema/run-migration.sh +231 -0
  252. package/claude-assets/skills/cfn-ace-system/schema/validate-schema.sql +280 -0
  253. package/claude-assets/skills/cfn-ace-system/score-relevance-adapter.sh +138 -0
  254. package/claude-assets/skills/cfn-ace-system/score-relevance.sh +253 -0
  255. package/claude-assets/skills/cfn-ace-system/sprint-7-lessons.json +46 -0
  256. package/claude-assets/skills/cfn-ace-system/store-reflection.sh +46 -0
  257. package/claude-assets/skills/cfn-ace-system/test-ace-skill.sh +312 -0
  258. package/claude-assets/skills/cfn-ace-system/track-ab-test.sh +42 -0
  259. package/claude-assets/skills/cfn-ace-system/update-reflection.sh +41 -0
  260. package/claude-assets/skills/cfn-agent-discovery/SKILL.md +40 -0
  261. package/claude-assets/skills/cfn-agent-discovery/agents-registry-clean.json +0 -0
  262. package/claude-assets/skills/cfn-agent-discovery/agents-registry-fixed.json +19 -0
  263. package/claude-assets/skills/cfn-agent-discovery/agents-registry.json +718 -0
  264. package/claude-assets/skills/cfn-agent-discovery/discover-agents.py +184 -0
  265. package/claude-assets/skills/cfn-agent-discovery/discover-agents.sh +87 -0
  266. package/claude-assets/skills/cfn-agent-discovery/invoke-registry.sh +11 -0
  267. package/claude-assets/skills/cfn-agent-discovery/temp_script.py +0 -0
  268. package/claude-assets/skills/cfn-agent-execution/execute-agent.sh +126 -0
  269. package/claude-assets/skills/cfn-agent-output-processing/SKILL.md +359 -0
  270. package/claude-assets/skills/cfn-agent-selector/SKILL.md +90 -0
  271. package/claude-assets/skills/cfn-agent-selector/select-agents.sh +112 -0
  272. package/claude-assets/skills/cfn-agent-spawning/README.md +140 -0
  273. package/claude-assets/skills/cfn-agent-spawning/SKILL.md +135 -0
  274. package/claude-assets/skills/cfn-agent-spawning/agent-selection-guide.md +814 -0
  275. package/claude-assets/skills/cfn-agent-spawning/check-dependencies.sh +30 -0
  276. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +263 -0
  277. package/claude-assets/skills/cfn-agent-spawning/spawn-templates.sh +613 -0
  278. package/claude-assets/skills/cfn-agent-swap/SKILL.md +36 -0
  279. package/claude-assets/skills/cfn-agent-swap/recommend-swap.sh +60 -0
  280. package/claude-assets/skills/cfn-analytics/README.md +58 -0
  281. package/claude-assets/skills/cfn-analytics/description-refinement-guide.md +164 -0
  282. package/claude-assets/skills/cfn-analytics/log-skill-invocation.js +122 -0
  283. package/claude-assets/skills/cfn-analytics/run-production-criteria-tests.sh +126 -0
  284. package/claude-assets/skills/cfn-analytics/skill-analytics-dashboard.js +113 -0
  285. package/claude-assets/skills/cfn-analytics/skill-invocation-hook.sh +28 -0
  286. package/claude-assets/skills/cfn-analytics/skill-invocations.sql +58 -0
  287. package/claude-assets/skills/cfn-analytics/test-corpus.json +32 -0
  288. package/claude-assets/skills/cfn-analytics/test-data-generator.js +115 -0
  289. package/claude-assets/skills/cfn-analytics/test-manual-override-rate.js +285 -0
  290. package/claude-assets/skills/cfn-analytics/validate-skill-selection.js +188 -0
  291. package/claude-assets/skills/cfn-api-validation/test-endpoints.sh +54 -0
  292. package/claude-assets/skills/cfn-automatic-memory-persistence/SKILL.md +73 -0
  293. package/claude-assets/skills/cfn-automatic-memory-persistence/persist-agent-output.sh +49 -0
  294. package/claude-assets/skills/cfn-automatic-memory-persistence/query-agent-history.sh +35 -0
  295. package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +235 -0
  296. package/claude-assets/skills/cfn-complexity-estimator/SKILL.md +96 -0
  297. package/claude-assets/skills/cfn-complexity-estimator/estimate-complexity.sh +144 -0
  298. package/claude-assets/skills/cfn-config-management/README.md +42 -0
  299. package/claude-assets/skills/cfn-config-management/SKILL.md +34 -0
  300. package/claude-assets/skills/cfn-config-management/check-dependencies.sh +56 -0
  301. package/claude-assets/skills/cfn-config-management/config.json +32 -0
  302. package/claude-assets/skills/cfn-config-management/manage-config.sh +113 -0
  303. package/claude-assets/skills/cfn-context-pruner/SKILL.md +75 -0
  304. package/claude-assets/skills/cfn-context-pruner/prune-context.sh +73 -0
  305. package/claude-assets/skills/cfn-defense-in-depth/SKILL.md +133 -0
  306. package/claude-assets/skills/cfn-dependency-extractor/SKILL.md +35 -0
  307. package/claude-assets/skills/cfn-dependency-extractor/extract-dependencies.sh +66 -0
  308. package/claude-assets/skills/cfn-epic-decomposer/SKILL.md +44 -0
  309. package/claude-assets/skills/cfn-epic-decomposer/decompose-epic.sh +104 -0
  310. package/claude-assets/skills/cfn-event-bus/README.md +299 -0
  311. package/claude-assets/skills/cfn-event-bus/SKILL.md +412 -0
  312. package/claude-assets/skills/cfn-event-bus/config.json +111 -0
  313. package/claude-assets/skills/cfn-event-bus/eventbus-wrapper.cjs +69 -0
  314. package/claude-assets/skills/cfn-event-bus/invoke-event-publish.sh +147 -0
  315. package/claude-assets/skills/cfn-event-bus/invoke-event-subscribe.sh +171 -0
  316. package/claude-assets/skills/cfn-event-bus/invoke-lifecycle-track.sh +201 -0
  317. package/claude-assets/skills/cfn-event-bus/test-event-bus.sh +280 -0
  318. package/claude-assets/skills/cfn-fleet-manager/README.md +74 -0
  319. package/claude-assets/skills/cfn-fleet-manager/SKILL.md +412 -0
  320. package/claude-assets/skills/cfn-fleet-manager/config.json +60 -0
  321. package/claude-assets/skills/cfn-fleet-manager/invoke-fleet-allocate.sh +182 -0
  322. package/claude-assets/skills/cfn-fleet-manager/invoke-fleet-balance.sh +239 -0
  323. package/claude-assets/skills/cfn-fleet-manager/invoke-fleet-metrics.sh +193 -0
  324. package/claude-assets/skills/cfn-fleet-manager/invoke-fleet-register.sh +124 -0
  325. package/claude-assets/skills/cfn-fleet-manager/test-fleet-manager.sh +345 -0
  326. package/claude-assets/skills/cfn-hook-pipeline/README.md +74 -0
  327. package/claude-assets/skills/cfn-hook-pipeline/SKILL.md +148 -0
  328. package/claude-assets/skills/cfn-hook-pipeline/auto-resolve.sh +66 -0
  329. package/claude-assets/skills/cfn-hook-pipeline/check-dependencies.sh +40 -0
  330. package/claude-assets/skills/cfn-hook-pipeline/feedback-resolver.sh +452 -0
  331. package/claude-assets/skills/cfn-hook-pipeline/post-edit-handler.sh +154 -0
  332. package/claude-assets/skills/cfn-hook-pipeline/security-scan.json +60 -0
  333. package/claude-assets/skills/cfn-hook-pipeline/security-scanner.sh +121 -0
  334. package/claude-assets/skills/cfn-hook-pipeline/test-root-warning-resolution.sh +148 -0
  335. package/claude-assets/skills/cfn-hybrid-routing/README.md +50 -0
  336. package/claude-assets/skills/cfn-hybrid-routing/SKILL.md +46 -0
  337. package/claude-assets/skills/cfn-hybrid-routing/check-dependencies.sh +52 -0
  338. package/claude-assets/skills/cfn-hybrid-routing/config.json +26 -0
  339. package/claude-assets/skills/cfn-hybrid-routing/spawn-worker.sh +44 -0
  340. package/claude-assets/skills/cfn-improvement-recommender/SKILL.md +33 -0
  341. package/claude-assets/skills/cfn-improvement-recommender/recommend-improvements.sh +92 -0
  342. package/claude-assets/skills/cfn-intervention-detector/SKILL.md +39 -0
  343. package/claude-assets/skills/cfn-intervention-detector/detect-intervention.sh +111 -0
  344. package/claude-assets/skills/cfn-intervention-orchestrator/SKILL.md +43 -0
  345. package/claude-assets/skills/cfn-intervention-orchestrator/execute-intervention.sh +59 -0
  346. package/claude-assets/skills/cfn-loop-orchestration/README.md +41 -0
  347. package/claude-assets/skills/cfn-loop-orchestration/SKILL.md +299 -0
  348. package/claude-assets/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
  349. package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
  350. package/claude-assets/skills/cfn-loop-orchestration/helpers/context-injection.sh +142 -0
  351. package/claude-assets/skills/cfn-loop-orchestration/helpers/context-lookup.sh +359 -0
  352. package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
  353. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
  354. package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
  355. package/claude-assets/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +271 -0
  356. package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
  357. package/claude-assets/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
  358. package/claude-assets/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
  359. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +884 -0
  360. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +840 -0
  361. package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +99 -0
  362. package/claude-assets/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
  363. package/claude-assets/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
  364. package/claude-assets/skills/cfn-loop-validation/README.md +256 -0
  365. package/claude-assets/skills/cfn-loop-validation/SKILL.md +353 -0
  366. package/claude-assets/skills/cfn-loop-validation/check-dependencies.sh +31 -0
  367. package/claude-assets/skills/cfn-loop-validation/config.json +161 -0
  368. package/claude-assets/skills/cfn-loop-validation/consensus-calculator.js +477 -0
  369. package/claude-assets/skills/cfn-loop-validation/evidence-chain.sql +163 -0
  370. package/claude-assets/skills/cfn-loop-validation/examples/README.md +453 -0
  371. package/claude-assets/skills/cfn-loop-validation/examples/coordinator-full-cfn-loop.sh +234 -0
  372. package/claude-assets/skills/cfn-loop-validation/examples/coordinator-loop2-consensus.sh +132 -0
  373. package/claude-assets/skills/cfn-loop-validation/examples/coordinator-loop3-gate.sh +115 -0
  374. package/claude-assets/skills/cfn-loop-validation/examples/coordinator-redis-integration.sh +186 -0
  375. package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -0
  376. package/claude-assets/skills/cfn-loop-validation/validate-iteration.sh +134 -0
  377. package/claude-assets/skills/cfn-loop-validation.sh +70 -0
  378. package/claude-assets/skills/cfn-loop2-output-processing/SKILL.md +163 -0
  379. package/claude-assets/skills/cfn-loop2-output-processing/execute-and-extract.sh +77 -0
  380. package/claude-assets/skills/cfn-loop2-output-processing/execute-and-extract.sh.backup +36 -0
  381. package/claude-assets/skills/cfn-loop2-output-processing/parse-feedback.sh +147 -0
  382. package/claude-assets/skills/cfn-loop2-output-processing/process-validator-output.sh +275 -0
  383. package/claude-assets/skills/cfn-loop2-output-processing/test-bug27-fix.sh +200 -0
  384. package/claude-assets/skills/cfn-loop2-output-processing/test-loop2-processing.sh +113 -0
  385. package/claude-assets/skills/cfn-loop3-output-processing/AGENT_COMPLETION_PROTOCOL.md +206 -0
  386. package/claude-assets/skills/cfn-loop3-output-processing/SKILL.md +421 -0
  387. package/claude-assets/skills/cfn-loop3-output-processing/calculate-confidence.sh +28 -0
  388. package/claude-assets/skills/cfn-loop3-output-processing/execute-and-extract.sh +85 -0
  389. package/claude-assets/skills/cfn-loop3-output-processing/parse-confidence.sh +31 -0
  390. package/claude-assets/skills/cfn-loop3-output-processing/test-agent-timeout.sh +327 -0
  391. package/claude-assets/skills/cfn-loop3-output-processing/test-loop3-processing.sh +155 -0
  392. package/claude-assets/skills/cfn-loop3-output-processing/verify-deliverables.sh +42 -0
  393. package/claude-assets/skills/cfn-marketing-ad-campaigns/SKILL.md +392 -0
  394. package/claude-assets/skills/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -0
  395. package/claude-assets/skills/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -0
  396. package/claude-assets/skills/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -0
  397. package/claude-assets/skills/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -0
  398. package/claude-assets/skills/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -0
  399. package/claude-assets/skills/cfn-marketing-analytics-data/SKILL.md +124 -0
  400. package/claude-assets/skills/cfn-marketing-analytics-data/operations/get-ad-performance.sh +105 -0
  401. package/claude-assets/skills/cfn-marketing-analytics-data/operations/get-conversion-funnel.sh +102 -0
  402. package/claude-assets/skills/cfn-marketing-analytics-data/operations/get-email-performance.sh +105 -0
  403. package/claude-assets/skills/cfn-marketing-analytics-data/operations/get-social-engagement.sh +105 -0
  404. package/claude-assets/skills/cfn-marketing-analytics-data/operations/get-website-traffic.sh +107 -0
  405. package/claude-assets/skills/cfn-marketing-chatbot-conversations/SKILL.md +340 -0
  406. package/claude-assets/skills/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -0
  407. package/claude-assets/skills/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -0
  408. package/claude-assets/skills/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -0
  409. package/claude-assets/skills/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -0
  410. package/claude-assets/skills/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -0
  411. package/claude-assets/skills/cfn-marketing-competitive-intel/SKILL.md +350 -0
  412. package/claude-assets/skills/cfn-marketing-competitive-intel/operations/get-backlink-profile.sh +154 -0
  413. package/claude-assets/skills/cfn-marketing-competitive-intel/operations/get-keyword-rankings.sh +173 -0
  414. package/claude-assets/skills/cfn-marketing-competitive-intel/operations/get-trending-topics.sh +147 -0
  415. package/claude-assets/skills/cfn-marketing-competitive-intel/operations/monitor-competitor.sh +146 -0
  416. package/claude-assets/skills/cfn-marketing-competitive-intel/operations/search-brand-mentions.sh +167 -0
  417. package/claude-assets/skills/cfn-marketing-crm-contacts/SKILL.md +116 -0
  418. package/claude-assets/skills/cfn-marketing-crm-contacts/operations/add-to-segment.sh +78 -0
  419. package/claude-assets/skills/cfn-marketing-crm-contacts/operations/create-contact.sh +113 -0
  420. package/claude-assets/skills/cfn-marketing-crm-contacts/operations/get-contact.sh +86 -0
  421. package/claude-assets/skills/cfn-marketing-crm-contacts/operations/remove-from-segment.sh +78 -0
  422. package/claude-assets/skills/cfn-marketing-crm-contacts/operations/update-contact.sh +120 -0
  423. package/claude-assets/skills/cfn-marketing-email-campaigns/SKILL.md +106 -0
  424. package/claude-assets/skills/cfn-marketing-email-campaigns/operations/create-campaign.sh +123 -0
  425. package/claude-assets/skills/cfn-marketing-email-campaigns/operations/get-campaign-stats.sh +66 -0
  426. package/claude-assets/skills/cfn-marketing-email-campaigns/operations/list-templates.sh +68 -0
  427. package/claude-assets/skills/cfn-marketing-email-campaigns/operations/schedule-campaign.sh +85 -0
  428. package/claude-assets/skills/cfn-marketing-email-campaigns/operations/send-test-email.sh +81 -0
  429. package/claude-assets/skills/cfn-marketing-landing-pages/SKILL.md +366 -0
  430. package/claude-assets/skills/cfn-marketing-landing-pages/operations/create-ab-test.sh +231 -0
  431. package/claude-assets/skills/cfn-marketing-landing-pages/operations/create-landing-page.sh +190 -0
  432. package/claude-assets/skills/cfn-marketing-landing-pages/operations/get-page-performance.sh +137 -0
  433. package/claude-assets/skills/cfn-marketing-landing-pages/operations/publish-page.sh +120 -0
  434. package/claude-assets/skills/cfn-marketing-landing-pages/operations/unpublish-page.sh +108 -0
  435. package/claude-assets/skills/cfn-marketing-media-monitoring/SKILL.md +202 -0
  436. package/claude-assets/skills/cfn-marketing-media-monitoring/operations/create-crisis-alert.sh +104 -0
  437. package/claude-assets/skills/cfn-marketing-media-monitoring/operations/export-report.sh +92 -0
  438. package/claude-assets/skills/cfn-marketing-media-monitoring/operations/get-sentiment-analysis.sh +85 -0
  439. package/claude-assets/skills/cfn-marketing-media-monitoring/operations/search-mentions.sh +86 -0
  440. package/claude-assets/skills/cfn-marketing-media-outreach/SKILL.md +168 -0
  441. package/claude-assets/skills/cfn-marketing-media-outreach/operations/search-journalists.sh +74 -0
  442. package/claude-assets/skills/cfn-marketing-media-outreach/operations/send-pitch.sh +80 -0
  443. package/claude-assets/skills/cfn-marketing-media-outreach/operations/submit-haro-response.sh +88 -0
  444. package/claude-assets/skills/cfn-marketing-media-outreach/operations/track-pitch-engagement.sh +66 -0
  445. package/claude-assets/skills/cfn-marketing-press-distribution/SKILL.md +159 -0
  446. package/claude-assets/skills/cfn-marketing-press-distribution/operations/distribute-press-release.sh +94 -0
  447. package/claude-assets/skills/cfn-marketing-press-distribution/operations/get-distribution-status.sh +59 -0
  448. package/claude-assets/skills/cfn-marketing-press-distribution/operations/get-pickup-metrics.sh +72 -0
  449. package/claude-assets/skills/cfn-marketing-press-distribution/operations/list-templates.sh +53 -0
  450. package/claude-assets/skills/cfn-marketing-sms-campaigns/SKILL.md +429 -0
  451. package/claude-assets/skills/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -0
  452. package/claude-assets/skills/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -0
  453. package/claude-assets/skills/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -0
  454. package/claude-assets/skills/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -0
  455. package/claude-assets/skills/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -0
  456. package/claude-assets/skills/cfn-marketing-social-publishing/SKILL.md +108 -0
  457. package/claude-assets/skills/cfn-marketing-social-publishing/operations/create-post.sh +104 -0
  458. package/claude-assets/skills/cfn-marketing-social-publishing/operations/delete-post.sh +76 -0
  459. package/claude-assets/skills/cfn-marketing-social-publishing/operations/get-post-stats.sh +66 -0
  460. package/claude-assets/skills/cfn-marketing-social-publishing/operations/schedule-post.sh +85 -0
  461. package/claude-assets/skills/cfn-marketing-social-publishing/operations/upload-media.sh +88 -0
  462. package/claude-assets/skills/cfn-pattern-extraction/SKILL.md +30 -0
  463. package/claude-assets/skills/cfn-pattern-extraction/extract-patterns.sh +80 -0
  464. package/claude-assets/skills/cfn-playbook/SKILL.md +113 -0
  465. package/claude-assets/skills/cfn-playbook/init-playbook.sh +54 -0
  466. package/claude-assets/skills/cfn-playbook/playbook.db +0 -0
  467. package/claude-assets/skills/cfn-playbook/query-playbook.sh +79 -0
  468. package/claude-assets/skills/cfn-playbook/update-playbook.sh +69 -0
  469. package/claude-assets/skills/cfn-playbook-auto-update/SKILL.md +29 -0
  470. package/claude-assets/skills/cfn-playbook-auto-update/auto-update-playbook.sh +86 -0
  471. package/claude-assets/skills/cfn-process-lifecycle/README.md +43 -0
  472. package/claude-assets/skills/cfn-process-lifecycle/SKILL.md +39 -0
  473. package/claude-assets/skills/cfn-process-lifecycle/check-dependencies.sh +58 -0
  474. package/claude-assets/skills/cfn-process-lifecycle/config.json +39 -0
  475. package/claude-assets/skills/cfn-process-lifecycle/process-manager.sh +144 -0
  476. package/claude-assets/skills/cfn-product-owner-decision/SKILL.md +332 -0
  477. package/claude-assets/skills/cfn-product-owner-decision/execute-decision.sh +176 -0
  478. package/claude-assets/skills/cfn-product-owner-decision/parse-decision.sh +66 -0
  479. package/claude-assets/skills/cfn-product-owner-decision/validate-deliverables.sh +82 -0
  480. package/claude-assets/skills/cfn-redis-coordination/AGENT_LOGGING.md +280 -0
  481. package/claude-assets/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +209 -0
  482. package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT.md +57 -0
  483. package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +267 -0
  484. package/claude-assets/skills/cfn-redis-coordination/LOGGING.md +260 -0
  485. package/claude-assets/skills/cfn-redis-coordination/README.md +65 -0
  486. package/claude-assets/skills/cfn-redis-coordination/SECURITY_REVIEW.md +25 -0
  487. package/claude-assets/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +164 -0
  488. package/claude-assets/skills/cfn-redis-coordination/SKILL.md +720 -0
  489. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +124 -0
  490. package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +75 -0
  491. package/claude-assets/skills/cfn-redis-coordination/analyze-task-complexity.sh +277 -0
  492. package/claude-assets/skills/cfn-redis-coordination/cancel-swarm.sh +221 -0
  493. package/claude-assets/skills/cfn-redis-coordination/cfn-loop-exec.sh +468 -0
  494. package/claude-assets/skills/cfn-redis-coordination/cfn-loop-relaunch.sh +29 -0
  495. package/claude-assets/skills/cfn-redis-coordination/check-dependencies.sh +32 -0
  496. package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +179 -0
  497. package/claude-assets/skills/cfn-redis-coordination/collect-results.sh +75 -0
  498. package/claude-assets/skills/cfn-redis-coordination/complete-swarm.sh +75 -0
  499. package/claude-assets/skills/cfn-redis-coordination/config.json +61 -0
  500. package/claude-assets/skills/cfn-redis-coordination/data/cfn-loop.db +0 -0
  501. package/claude-assets/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +82 -0
  502. package/claude-assets/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +274 -0
  503. package/claude-assets/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +276 -0
  504. package/claude-assets/skills/cfn-redis-coordination/demos/test-dlq.sh +129 -0
  505. package/claude-assets/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +320 -0
  506. package/claude-assets/skills/cfn-redis-coordination/demos/test-orchestrator.sh +249 -0
  507. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +148 -0
  508. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +163 -0
  509. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake.sh +138 -0
  510. package/claude-assets/skills/cfn-redis-coordination/demos/test-quick-fix.sh +81 -0
  511. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +45 -0
  512. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +68 -0
  513. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +56 -0
  514. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +81 -0
  515. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum.sh +57 -0
  516. package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +187 -0
  517. package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown.sh +160 -0
  518. package/claude-assets/skills/cfn-redis-coordination/demos/test-utils-unix.sh +97 -0
  519. package/claude-assets/skills/cfn-redis-coordination/demos/test-utils.sh +97 -0
  520. package/claude-assets/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +59 -0
  521. package/claude-assets/skills/cfn-redis-coordination/examples/README.md +73 -0
  522. package/claude-assets/skills/cfn-redis-coordination/examples/grafana-dashboard.json +352 -0
  523. package/claude-assets/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +127 -0
  524. package/claude-assets/skills/cfn-redis-coordination/examples/mesh-pattern.sh +171 -0
  525. package/claude-assets/skills/cfn-redis-coordination/examples/timeout-handling.sh +227 -0
  526. package/claude-assets/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +239 -0
  527. package/claude-assets/skills/cfn-redis-coordination/execute-product-owner-decision.sh +258 -0
  528. package/claude-assets/skills/cfn-redis-coordination/get-agent-timeout.sh +177 -0
  529. package/claude-assets/skills/cfn-redis-coordination/heartbeat-functions.sh +137 -0
  530. package/claude-assets/skills/cfn-redis-coordination/heartbeat-protocol.md +106 -0
  531. package/claude-assets/skills/cfn-redis-coordination/heartbeat.sh +126 -0
  532. package/claude-assets/skills/cfn-redis-coordination/init-swarm.sh +148 -0
  533. package/claude-assets/skills/cfn-redis-coordination/invoke-redis-pattern.sh +220 -0
  534. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +283 -0
  535. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
  536. package/claude-assets/skills/cfn-redis-coordination/list-active-swarms.sh +147 -0
  537. package/claude-assets/skills/cfn-redis-coordination/log-event.sh +109 -0
  538. package/claude-assets/skills/cfn-redis-coordination/metrics-export.sh +674 -0
  539. package/claude-assets/skills/cfn-redis-coordination/metrics-schema.json +66 -0
  540. package/claude-assets/skills/cfn-redis-coordination/metrics-storage.md +31 -0
  541. package/claude-assets/skills/cfn-redis-coordination/monitor-cfn-violations.sh +391 -0
  542. package/claude-assets/skills/cfn-redis-coordination/monitor-heartbeats.sh +101 -0
  543. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
  544. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +31 -0
  545. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
  546. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
  547. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
  548. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
  549. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
  550. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
  551. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  552. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
  553. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
  554. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
  555. package/claude-assets/skills/cfn-redis-coordination/priority-wake-mechanism.md +75 -0
  556. package/claude-assets/skills/cfn-redis-coordination/priority_wake.py +134 -0
  557. package/claude-assets/skills/cfn-redis-coordination/query-dlq.sh +162 -0
  558. package/claude-assets/skills/cfn-redis-coordination/query-logs.sh +103 -0
  559. package/claude-assets/skills/cfn-redis-coordination/redis-pattern.sh +619 -0
  560. package/claude-assets/skills/cfn-redis-coordination/retrieve-context.sh +58 -0
  561. package/claude-assets/skills/cfn-redis-coordination/select-specialist-agent.sh +371 -0
  562. package/claude-assets/skills/cfn-redis-coordination/semantic-match-tfidf.py +252 -0
  563. package/claude-assets/skills/cfn-redis-coordination/send-heartbeat.sh +165 -0
  564. package/claude-assets/skills/cfn-redis-coordination/signal.sh +38 -0
  565. package/claude-assets/skills/cfn-redis-coordination/store-context.sh +86 -0
  566. package/claude-assets/skills/cfn-redis-coordination/store-epic-context.sh +123 -0
  567. package/claude-assets/skills/cfn-redis-coordination/test-context-injection.sh +354 -0
  568. package/claude-assets/skills/cfn-redis-coordination/test-timeout-enforcement.sh +513 -0
  569. package/claude-assets/skills/cfn-redis-coordination/tests/convert-line-endings.sh +15 -0
  570. package/claude-assets/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +102 -0
  571. package/claude-assets/skills/cfn-redis-coordination/tests/edge-cases-test.sh +99 -0
  572. package/claude-assets/skills/cfn-redis-coordination/tests/integration-test.sh +170 -0
  573. package/claude-assets/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +82 -0
  574. package/claude-assets/skills/cfn-redis-coordination/tests/run-test-suite.sh +92 -0
  575. package/claude-assets/skills/cfn-redis-coordination/tests/run-tests.sh +4 -0
  576. package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +418 -0
  577. package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +124 -0
  578. package/claude-assets/skills/cfn-redis-coordination/tests/test-primitives.sh +166 -0
  579. package/claude-assets/skills/cfn-redis-coordination/tests/test-utils.sh +54 -0
  580. package/claude-assets/skills/cfn-redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
  581. package/claude-assets/skills/cfn-redis-coordination/tests/test_utils.sh +49 -0
  582. package/claude-assets/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +76 -0
  583. package/claude-assets/skills/cfn-redis-coordination/validate-parameters.sh +492 -0
  584. package/claude-assets/skills/cfn-retrospective-report/SKILL.md +31 -0
  585. package/claude-assets/skills/cfn-retrospective-report/generate-report.sh +101 -0
  586. package/claude-assets/skills/cfn-scope-simplifier/SKILL.md +37 -0
  587. package/claude-assets/skills/cfn-scope-simplifier/simplify-scope.sh +68 -0
  588. package/claude-assets/skills/cfn-simplified-agent-lifecycle/COST_ANALYSIS.md +49 -0
  589. package/claude-assets/skills/cfn-simplified-agent-lifecycle/DESIGN.md +98 -0
  590. package/claude-assets/skills/cfn-simplified-agent-lifecycle/MIGRATION_PLAN.md +74 -0
  591. package/claude-assets/skills/cfn-skill-builder/SKILL.md +910 -0
  592. package/claude-assets/skills/cfn-specialist-injection/SKILL.md +41 -0
  593. package/claude-assets/skills/cfn-specialist-injection/recommend-specialist.sh +57 -0
  594. package/claude-assets/skills/cfn-sprint-execution/SKILL.md +27 -0
  595. package/claude-assets/skills/cfn-sprint-execution/execute-sprint-task.sh +59 -0
  596. package/claude-assets/skills/cfn-sprint-execution/execute-sprint.sh +65 -0
  597. package/claude-assets/skills/cfn-sprint-planner/SKILL.md +37 -0
  598. package/claude-assets/skills/cfn-sprint-planner/plan-sprint.sh +85 -0
  599. package/claude-assets/skills/cfn-sqlite-memory/IMPLEMENTATION_REPORT.md +393 -0
  600. package/claude-assets/skills/cfn-sqlite-memory/QUICK_REFERENCE.md +204 -0
  601. package/claude-assets/skills/cfn-sqlite-memory/README.md +65 -0
  602. package/claude-assets/skills/cfn-sqlite-memory/SKILL.md +415 -0
  603. package/claude-assets/skills/cfn-sqlite-memory/acl-queries.sql +452 -0
  604. package/claude-assets/skills/cfn-sqlite-memory/check-dependencies.sh +36 -0
  605. package/claude-assets/skills/cfn-sqlite-memory/config.json +45 -0
  606. package/claude-assets/skills/cfn-sqlite-memory/memory-cli.sh +88 -0
  607. package/claude-assets/skills/cfn-sqlite-memory/test-state-persistence.js +187 -0
  608. package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +274 -0
  609. package/claude-assets/skills/cfn-standardized-error-handling/SKILL.md +56 -0
  610. package/claude-assets/skills/cfn-standardized-error-handling/capture-agent-error.sh +87 -0
  611. package/claude-assets/skills/cfn-standardized-error-handling/test-error-handling.sh +166 -0
  612. package/claude-assets/skills/cfn-task-classifier/SKILL.md +94 -0
  613. package/claude-assets/skills/cfn-task-classifier/USAGE.md +248 -0
  614. package/claude-assets/skills/cfn-task-classifier/classify-task.sh +291 -0
  615. package/claude-assets/skills/cfn-test-execution/README.md +129 -0
  616. package/claude-assets/skills/cfn-test-execution/SKILL.md +128 -0
  617. package/claude-assets/skills/cfn-test-execution/check-dependencies.sh +36 -0
  618. package/claude-assets/skills/cfn-test-execution/test-cache-reader.sh +134 -0
  619. package/claude-assets/skills/cfn-test-execution/test-concurrent-conflicts.sh +115 -0
  620. package/claude-assets/skills/cfn-test-execution/test-coordinator-pattern.sh +109 -0
  621. package/claude-assets/skills/cfn-transparency-middleware/Cargo.toml +18 -0
  622. package/claude-assets/skills/cfn-transparency-middleware/README.md +74 -0
  623. package/claude-assets/skills/cfn-transparency-middleware/SECURITY.md +41 -0
  624. package/claude-assets/skills/cfn-transparency-middleware/SKILL.md +91 -0
  625. package/claude-assets/skills/cfn-transparency-middleware/TEST_RESULTS.md +174 -0
  626. package/claude-assets/skills/cfn-transparency-middleware/config.json +31 -0
  627. package/claude-assets/skills/cfn-transparency-middleware/examples/basic-usage.ts +39 -0
  628. package/claude-assets/skills/cfn-transparency-middleware/examples/batch-processing.ts +52 -0
  629. package/claude-assets/skills/cfn-transparency-middleware/examples/custom-filtering.ts +61 -0
  630. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +98 -0
  631. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-init.sh +224 -0
  632. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-level.sh +333 -0
  633. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +345 -0
  634. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +140 -0
  635. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +235 -0
  636. package/claude-assets/skills/cfn-transparency-middleware/memory_query.rs +85 -0
  637. package/claude-assets/skills/cfn-transparency-middleware/memory_repository.rs +140 -0
  638. package/claude-assets/skills/cfn-transparency-middleware/memory_schema.rs +64 -0
  639. package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +29 -0
  640. package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +79 -0
  641. package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +406 -0
  642. package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +162 -0
  643. package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +368 -0
  644. package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +126 -0
  645. package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +93 -0
  646. package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +132 -0
  647. package/claude-assets/skills/cfn-validation-templates/SKILL.md +47 -0
  648. package/claude-assets/skills/cfn-validation-templates/content.json +38 -0
  649. package/claude-assets/skills/cfn-validation-templates/data.json +38 -0
  650. package/claude-assets/skills/cfn-validation-templates/design.json +38 -0
  651. package/claude-assets/skills/cfn-validation-templates/infrastructure.json +38 -0
  652. package/claude-assets/skills/cfn-validation-templates/research.json +38 -0
  653. package/claude-assets/skills/cfn-validation-templates/software.json +38 -0
  654. package/claude-assets/skills/cfn-web-portal/DESIGN.md +117 -0
  655. package/claude-assets/skills/cfn-web-portal/SKILL.md +679 -0
  656. package/claude-assets/skills/cfn-web-portal/invoke-portal-agents.sh +129 -0
  657. package/claude-assets/skills/cfn-web-portal/invoke-portal-dashboard.sh +85 -0
  658. package/claude-assets/skills/cfn-web-portal/invoke-portal-events.sh +125 -0
  659. package/claude-assets/skills/cfn-web-portal/invoke-portal-metrics.sh +112 -0
  660. package/claude-assets/skills/cfn-web-portal/invoke-portal-start.sh +135 -0
  661. package/claude-assets/skills/cfn-web-portal/invoke-portal-stop.sh +121 -0
  662. package/claude-assets/skills/cfn-web-portal/test-web-portal-skill.sh +51 -0
  663. package/claude-assets/skills/cfn-web-portal/validate-deployment.sh +85 -0
  664. package/claude-assets/skills/cfn-webapp-testing/README.md +142 -0
  665. package/claude-assets/skills/cfn-webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
  666. package/claude-assets/skills/cfn-webapp-testing/SKILL.md +877 -0
  667. package/claude-assets/skills/cfn-webapp-testing/capture-screenshot.sh +238 -0
  668. package/claude-assets/skills/cfn-webapp-testing/cfn-loop-integration.sh +265 -0
  669. package/claude-assets/skills/cfn-webapp-testing/compare-screenshots.sh +199 -0
  670. package/claude-assets/skills/cfn-webapp-testing/init-storage.sh +150 -0
  671. package/claude-assets/skills/cfn-webapp-testing/set-baseline.sh +196 -0
  672. package/claude-assets/skills/cfn-webapp-testing/test-webapp-testing.sh +233 -0
  673. package/claude-assets/skills/consensus-calculator.js +45 -0
  674. package/claude-assets/skills/evidence-chain.sql +66 -0
  675. package/claude-assets/skills/run-all-skill-tests.sh +124 -0
  676. package/claude-assets/skills/test-execution-coordinator-pattern.md +228 -0
  677. package/dist/agents/agent-loader.js.map +1 -1
  678. package/package.json +3 -3
  679. package/scripts/init-project.js +7 -7
@@ -0,0 +1,150 @@
1
+ #!/bin/bash
2
+ # Webapp Testing Skill - Initialize Storage
3
+ # Purpose: Create SQLite schema and directory structure for screenshot management
4
+
5
+ set -e
6
+
7
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.claude/skills/cfn-cfn-.claude/skills/cfn-cfn-.." && pwd)"
9
+ cd "$PROJECT_ROOT"
10
+
11
+ FORCE=false
12
+
13
+ # Parse arguments
14
+ while [[ $# -gt 0 ]]; do
15
+ case $1 in
16
+ --force) FORCE=true; shift ;;
17
+ *) echo "Unknown parameter: $1"; exit 1 ;;
18
+ esac
19
+ done
20
+
21
+ DB_PATH="${HOME}/.claude/memory/adaptive-context.db"
22
+
23
+ echo "Initializing webapp-testing storage..." >&2
24
+
25
+ # Create directory structure
26
+ echo "Creating directory structure..." >&2
27
+ mkdir -p .screenshots/baselines
28
+ mkdir -p .screenshots/current
29
+ mkdir -p .screenshots/diffs
30
+ mkdir -p .screenshots/archive
31
+ echo "✅ Directories created" >&2
32
+
33
+ # Check if tables already exist
34
+ TABLES_EXIST=$(sqlite3 "$DB_PATH" \
35
+ "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name IN ('webapp_screenshots', 'screenshot_audit_log');" 2>/dev/null || echo "0")
36
+
37
+ if [ "$TABLES_EXIST" -eq 2 ] && [ "$FORCE" = false ]; then
38
+ echo "⚠️ SQLite tables already exist. Use --force to recreate (will drop existing data)" >&2
39
+ exit 0
40
+ fi
41
+
42
+ if [ "$FORCE" = true ] && [ "$TABLES_EXIST" -gt 0 ]; then
43
+ echo "⚠️ --force flag set. Dropping existing tables..." >&2
44
+ sqlite3 "$DB_PATH" <<EOF
45
+ DROP TABLE IF EXISTS webapp_screenshots;
46
+ DROP TABLE IF EXISTS screenshot_audit_log;
47
+ EOF
48
+ fi
49
+
50
+ # Create SQLite schema
51
+ echo "Creating SQLite schema..." >&2
52
+ sqlite3 "$DB_PATH" <<'EOF'
53
+ -- Main screenshots table
54
+ CREATE TABLE IF NOT EXISTS webapp_screenshots (
55
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
56
+ screenshot_key TEXT UNIQUE NOT NULL,
57
+ project TEXT NOT NULL,
58
+ component TEXT NOT NULL,
59
+ viewport TEXT NOT NULL,
60
+ state TEXT NOT NULL,
61
+ variant TEXT NOT NULL DEFAULT 'default',
62
+ file_path TEXT NOT NULL,
63
+ file_hash TEXT NOT NULL,
64
+ baseline BOOLEAN DEFAULT 0,
65
+ captured_at INTEGER NOT NULL,
66
+ task_id TEXT,
67
+ agent_id TEXT,
68
+ metadata TEXT,
69
+ UNIQUE(project, component, viewport, state, variant, baseline)
70
+ );
71
+
72
+ -- Indexes for efficient querying
73
+ CREATE INDEX IF NOT EXISTS idx_baseline ON webapp_screenshots(project, component, viewport, state, variant, baseline);
74
+ CREATE INDEX IF NOT EXISTS idx_task ON webapp_screenshots(task_id);
75
+ CREATE INDEX IF NOT EXISTS idx_component ON webapp_screenshots(project, component);
76
+ CREATE INDEX IF NOT EXISTS idx_captured ON webapp_screenshots(captured_at DESC);
77
+ CREATE INDEX IF NOT EXISTS idx_screenshot_key ON webapp_screenshots(screenshot_key);
78
+
79
+ -- Audit log table
80
+ CREATE TABLE IF NOT EXISTS screenshot_audit_log (
81
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
82
+ screenshot_key TEXT NOT NULL,
83
+ action TEXT NOT NULL,
84
+ reason TEXT,
85
+ old_file_hash TEXT,
86
+ new_file_hash TEXT,
87
+ approved_by TEXT,
88
+ created_at INTEGER NOT NULL,
89
+ task_id TEXT,
90
+ metadata TEXT
91
+ );
92
+
93
+ -- Indexes for audit log
94
+ CREATE INDEX IF NOT EXISTS idx_audit_screenshot ON screenshot_audit_log(screenshot_key);
95
+ CREATE INDEX IF NOT EXISTS idx_audit_created ON screenshot_audit_log(created_at DESC);
96
+ CREATE INDEX IF NOT EXISTS idx_audit_task ON screenshot_audit_log(task_id);
97
+ CREATE INDEX IF NOT EXISTS idx_audit_action ON screenshot_audit_log(action);
98
+ EOF
99
+
100
+ echo "✅ SQLite schema created" >&2
101
+
102
+ # Verify tables created
103
+ VERIFY=$(sqlite3 "$DB_PATH" \
104
+ "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name IN ('webapp_screenshots', 'screenshot_audit_log');" 2>/dev/null)
105
+
106
+ if [ "$VERIFY" -eq 2 ]; then
107
+ echo "✅ Verification passed: 2 tables created" >&2
108
+ else
109
+ echo "❌ Verification failed: Expected 2 tables, found $VERIFY" >&2
110
+ exit 1
111
+ fi
112
+
113
+ # Create .gitignore for ephemeral directories
114
+ cat > .screenshots/.gitignore <<'EOF'
115
+ # Ephemeral screenshot directories (not version controlled)
116
+ current/
117
+ diffs/
118
+ archive/
119
+
120
+ # Version control baselines only
121
+ !baselines/
122
+ EOF
123
+
124
+ echo "✅ .gitignore created for .screenshots/" >&2
125
+
126
+ # Output summary
127
+ cat <<EOF
128
+
129
+ ✅ Webapp-testing storage initialized successfully
130
+
131
+ Directory Structure:
132
+ .screenshots/
133
+ ├── baselines/ (version controlled - reference images)
134
+ ├── current/ (ephemeral - test captures)
135
+ ├── diffs/ (ephemeral - comparison outputs)
136
+ └── archive/ (ephemeral - historical captures)
137
+
138
+ SQLite Tables:
139
+ - webapp_screenshots (screenshot metadata and file references)
140
+ - screenshot_audit_log (baseline change audit trail)
141
+
142
+ Database Location:
143
+ ${DB_PATH}
144
+
145
+ Next Steps:
146
+ 1. Capture screenshot: ./.claude/skills/cfn-webapp-testing/capture-screenshot.sh --help
147
+ 2. Set baseline: ./.claude/skills/cfn-webapp-testing/set-baseline.sh --help
148
+ 3. Compare screenshots: ./.claude/skills/cfn-webapp-testing/compare-screenshots.sh --help
149
+
150
+ EOF
@@ -0,0 +1,196 @@
1
+ #!/bin/bash
2
+ # Webapp Testing Skill - Set Baseline
3
+ # Purpose: Set a captured screenshot as the baseline reference for future comparisons
4
+
5
+ set -e
6
+
7
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.claude/skills/cfn-cfn-.claude/skills/cfn-cfn-.." && pwd)"
9
+ cd "$PROJECT_ROOT"
10
+
11
+ REASON=""
12
+
13
+ # Parse arguments
14
+ while [[ $# -gt 0 ]]; do
15
+ case $1 in
16
+ --screenshot-key) SCREENSHOT_KEY="$2"; shift 2 ;;
17
+ --reason) REASON="$2"; shift 2 ;;
18
+ --current-file) CURRENT_FILE="$2"; shift 2 ;; # Optional: explicit file path
19
+ *) echo "Unknown parameter: $1"; exit 1 ;;
20
+ esac
21
+ done
22
+
23
+ # Validate required parameters
24
+ if [ -z "$SCREENSHOT_KEY" ]; then
25
+ echo "Error: Missing required parameter --screenshot-key" >&2
26
+ echo "Usage: $0 --screenshot-key <key> [--reason <reason>] [--current-file <path>]" >&2
27
+ echo "" >&2
28
+ echo "Required:" >&2
29
+ echo " --screenshot-key Screenshot identifier (e.g., 'auth-system/login-form/1920x1080/default/light-mode')" >&2
30
+ echo "" >&2
31
+ echo "Optional:" >&2
32
+ echo " --reason Reason for setting baseline (for audit trail)" >&2
33
+ echo " --current-file Explicit path to screenshot file (default: auto-detect latest)" >&2
34
+ exit 1
35
+ fi
36
+
37
+ DB_PATH="${HOME}/.claude/memory/adaptive-context.db"
38
+
39
+ # Parse screenshot key components
40
+ IFS='/' read -r PROJECT COMPONENT VIEWPORT STATE VARIANT <<< "$SCREENSHOT_KEY"
41
+
42
+ if [ -z "$PROJECT" ] || [ -z "$COMPONENT" ] || [ -z "$VIEWPORT" ] || [ -z "$STATE" ] || [ -z "$VARIANT" ]; then
43
+ echo "Error: Invalid screenshot key format. Expected: project/component/viewport/state/variant" >&2
44
+ exit 1
45
+ fi
46
+
47
+ # Get current screenshot from SQLite (if not explicitly provided)
48
+ if [ -z "$CURRENT_FILE" ]; then
49
+ CURRENT_PATH=$(sqlite3 "$DB_PATH" \
50
+ "SELECT file_path FROM webapp_screenshots WHERE screenshot_key = '${SCREENSHOT_KEY}' AND baseline = 0 ORDER BY captured_at DESC LIMIT 1" 2>/dev/null)
51
+
52
+ if [ -z "$CURRENT_PATH" ]; then
53
+ echo "Error: No current screenshot found for key: $SCREENSHOT_KEY" >&2
54
+ echo "Hint: Run capture-screenshot.sh first to create a capture" >&2
55
+ exit 1
56
+ fi
57
+ else
58
+ CURRENT_PATH="$CURRENT_FILE"
59
+ fi
60
+
61
+ # Verify current screenshot exists
62
+ if [ ! -f "$CURRENT_PATH" ]; then
63
+ echo "Error: Current screenshot file not found: $CURRENT_PATH" >&2
64
+ exit 1
65
+ fi
66
+
67
+ # Create baseline directory structure
68
+ BASELINE_DIR=".screenshots/baselines/${PROJECT}/${COMPONENT}/${VIEWPORT}/${STATE}"
69
+ mkdir -p "$BASELINE_DIR"
70
+ BASELINE_PATH="${BASELINE_DIR}/${VARIANT}.png"
71
+
72
+ echo "Setting baseline:" >&2
73
+ echo " Source: $CURRENT_PATH" >&2
74
+ echo " Baseline: $BASELINE_PATH" >&2
75
+
76
+ # Check if baseline already exists
77
+ if [ -f "$BASELINE_PATH" ]; then
78
+ echo "Warning: Baseline already exists at $BASELINE_PATH" >&2
79
+ echo "This will overwrite the existing baseline. Continue? (y/n)" >&2
80
+ read -r CONFIRM
81
+ if [ "$CONFIRM" != "y" ] && [ "$CONFIRM" != "Y" ]; then
82
+ echo "Aborted" >&2
83
+ exit 1
84
+ fi
85
+
86
+ # Archive old baseline
87
+ ARCHIVE_DIR=".screenshots/archive/$(date +%Y-%m)"
88
+ ARCHIVE_PATH="${ARCHIVE_DIR}/${PROJECT}/${COMPONENT}/${VIEWPORT}/${STATE}/${VARIANT}_$(date +%Y%m%d%H%M%S).png"
89
+ mkdir -p "$(dirname "$ARCHIVE_PATH")"
90
+ cp "$BASELINE_PATH" "$ARCHIVE_PATH"
91
+ echo " Archived: $ARCHIVE_PATH" >&2
92
+
93
+ # Get old hash for audit log
94
+ OLD_FILE_HASH=$(sha256sum "$BASELINE_PATH" | awk '{print $1}')
95
+ else
96
+ OLD_FILE_HASH=""
97
+ fi
98
+
99
+ # Copy to baselines directory (remove timestamp from filename)
100
+ cp "$CURRENT_PATH" "$BASELINE_PATH"
101
+
102
+ # Calculate file hash
103
+ FILE_HASH=$(sha256sum "$BASELINE_PATH" | awk '{print $1}')
104
+
105
+ # Get metadata from current screenshot
106
+ METADATA=$(sqlite3 "$DB_PATH" \
107
+ "SELECT metadata FROM webapp_screenshots WHERE file_path = '${CURRENT_PATH}' LIMIT 1" 2>/dev/null || echo '{}')
108
+
109
+ TASK_ID=$(sqlite3 "$DB_PATH" \
110
+ "SELECT task_id FROM webapp_screenshots WHERE file_path = '${CURRENT_PATH}' LIMIT 1" 2>/dev/null || echo '')
111
+
112
+ AGENT_ID=$(sqlite3 "$DB_PATH" \
113
+ "SELECT agent_id FROM webapp_screenshots WHERE file_path = '${CURRENT_PATH}' LIMIT 1" 2>/dev/null || echo '')
114
+
115
+ # Update SQLite (set as baseline)
116
+ # First check if baseline entry already exists
117
+ BASELINE_EXISTS=$(sqlite3 "$DB_PATH" \
118
+ "SELECT COUNT(*) FROM webapp_screenshots WHERE screenshot_key = '${SCREENSHOT_KEY}' AND baseline = 1" 2>/dev/null || echo "0")
119
+
120
+ if [ "$BASELINE_EXISTS" -gt 0 ]; then
121
+ # Update existing baseline
122
+ sqlite3 "$DB_PATH" <<EOF
123
+ UPDATE webapp_screenshots
124
+ SET file_path = '${BASELINE_PATH}',
125
+ file_hash = 'sha256:${FILE_HASH}',
126
+ captured_at = $(date +%s),
127
+ task_id = '${TASK_ID}',
128
+ agent_id = '${AGENT_ID}',
129
+ metadata = '${METADATA}'
130
+ WHERE screenshot_key = '${SCREENSHOT_KEY}' AND baseline = 1;
131
+ EOF
132
+ ACTION="updated"
133
+ else
134
+ # Insert new baseline entry
135
+ sqlite3 "$DB_PATH" <<EOF
136
+ INSERT INTO webapp_screenshots (
137
+ screenshot_key, project, component, viewport, state, variant,
138
+ file_path, file_hash, baseline, captured_at, task_id, agent_id, metadata
139
+ ) VALUES (
140
+ '${SCREENSHOT_KEY}',
141
+ '${PROJECT}',
142
+ '${COMPONENT}',
143
+ '${VIEWPORT}',
144
+ '${STATE}',
145
+ '${VARIANT}',
146
+ '${BASELINE_PATH}',
147
+ 'sha256:${FILE_HASH}',
148
+ 1,
149
+ $(date +%s),
150
+ '${TASK_ID}',
151
+ '${AGENT_ID}',
152
+ '${METADATA}'
153
+ );
154
+ EOF
155
+ ACTION="created"
156
+ fi
157
+
158
+ # Insert audit log entry
159
+ REASON_ESCAPED=$(echo "$REASON" | sed "s/'/''/g") # Escape single quotes for SQL
160
+ sqlite3 "$DB_PATH" <<EOF
161
+ INSERT INTO screenshot_audit_log (
162
+ screenshot_key, action, reason, old_file_hash, new_file_hash, approved_by, created_at, task_id
163
+ ) VALUES (
164
+ '${SCREENSHOT_KEY}',
165
+ '${ACTION}',
166
+ '${REASON_ESCAPED}',
167
+ ${OLD_FILE_HASH:+'sha256:$OLD_FILE_HASH'}${OLD_FILE_HASH:-NULL},
168
+ 'sha256:${FILE_HASH}',
169
+ '${AGENT_ID:-system}',
170
+ $(date +%s),
171
+ '${TASK_ID}'
172
+ );
173
+ EOF
174
+
175
+ # Clear Redis baseline cache
176
+ redis-cli del "screenshot:baseline:${SCREENSHOT_KEY}" > /dev/null 2>&1 || \
177
+ echo "Warning: Failed to clear Redis cache" >&2
178
+
179
+ # Cache new baseline hash (TTL: 24 hours)
180
+ redis-cli setex "screenshot:baseline:${SCREENSHOT_KEY}" 86400 "sha256:${FILE_HASH}" > /dev/null 2>&1
181
+
182
+ # Output result
183
+ cat <<EOF | jq '.'
184
+ {
185
+ "status": "baseline-set",
186
+ "action": "${ACTION}",
187
+ "screenshot_key": "${SCREENSHOT_KEY}",
188
+ "baseline_path": "${BASELINE_PATH}",
189
+ "file_hash": "sha256:${FILE_HASH}",
190
+ "reason": "${REASON}",
191
+ "archived_previous": ${OLD_FILE_HASH:+true}${OLD_FILE_HASH:-false},
192
+ "created_at": $(date +%s)
193
+ }
194
+ EOF
195
+
196
+ echo "✅ Baseline ${ACTION}: $SCREENSHOT_KEY" >&2
@@ -0,0 +1,233 @@
1
+ #!/bin/bash
2
+ # Webapp Testing Skill - Test Suite
3
+ # Purpose: Validate webapp-testing skill functionality
4
+
5
+ set -e
6
+
7
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.claude/skills/cfn-cfn-.claude/skills/cfn-cfn-.." && pwd)"
9
+ cd "$PROJECT_ROOT"
10
+
11
+ # Colors for output
12
+ RED='\033[0;31m'
13
+ GREEN='\033[0;32m'
14
+ YELLOW='\033[1;33m'
15
+ NC='\033[0m' # No Color
16
+
17
+ TESTS_PASSED=0
18
+ TESTS_FAILED=0
19
+ TESTS_SKIPPED=0
20
+
21
+ # Test result tracking
22
+ test_result() {
23
+ local TEST_NAME="$1"
24
+ local STATUS="$2"
25
+ local MESSAGE="$3"
26
+
27
+ case "$STATUS" in
28
+ PASS)
29
+ echo -e "${GREEN}✓${NC} $TEST_NAME"
30
+ TESTS_PASSED=$((TESTS_PASSED + 1))
31
+ ;;
32
+ FAIL)
33
+ echo -e "${RED}✗${NC} $TEST_NAME: $MESSAGE"
34
+ TESTS_FAILED=$((TESTS_FAILED + 1))
35
+ ;;
36
+ SKIP)
37
+ echo -e "${YELLOW}⊘${NC} $TEST_NAME: $MESSAGE"
38
+ TESTS_SKIPPED=$((TESTS_SKIPPED + 1))
39
+ ;;
40
+ esac
41
+ }
42
+
43
+ echo "=========================================="
44
+ echo "Webapp Testing Skill - Test Suite"
45
+ echo "=========================================="
46
+ echo ""
47
+
48
+ # Test 1: Storage Initialization
49
+ echo "Test 1: Storage Initialization"
50
+ if "$SCRIPT_DIR/init-storage.sh" --force >/dev/null 2>&1; then
51
+ if [ -d ".screenshots/baselines" ] && [ -d ".screenshots/current" ]; then
52
+ test_result "Storage initialization" "PASS"
53
+ else
54
+ test_result "Storage initialization" "FAIL" "Directories not created"
55
+ fi
56
+ else
57
+ test_result "Storage initialization" "FAIL" "init-storage.sh failed"
58
+ fi
59
+
60
+ # Test 2: SQLite Schema Validation
61
+ echo "Test 2: SQLite Schema Validation"
62
+ DB_PATH="${HOME}/.claude/memory/adaptive-context.db"
63
+ TABLE_COUNT=$(sqlite3 "$DB_PATH" \
64
+ "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name IN ('webapp_screenshots', 'screenshot_audit_log');" 2>/dev/null)
65
+
66
+ if [ "$TABLE_COUNT" -eq 2 ]; then
67
+ test_result "SQLite schema creation" "PASS"
68
+ else
69
+ test_result "SQLite schema creation" "FAIL" "Expected 2 tables, found $TABLE_COUNT"
70
+ fi
71
+
72
+ # Test 3: Playwright Availability
73
+ echo "Test 3: Playwright Availability"
74
+ if command -v npx >/dev/null 2>&1 && npx playwright --version >/dev/null 2>&1; then
75
+ test_result "Playwright installation" "PASS"
76
+ else
77
+ test_result "Playwright installation" "SKIP" "Playwright not installed (run: npx playwright install chromium)"
78
+ fi
79
+
80
+ # Test 4: Node Dependencies Check
81
+ echo "Test 4: Node Dependencies Check"
82
+ NODE_DEPS_MISSING=0
83
+ for PKG in playwright pngjs pixelmatch; do
84
+ if ! node -e "require('$PKG')" 2>/dev/null; then
85
+ test_result "$PKG dependency" "SKIP" "Not installed (run: npm install $PKG)"
86
+ NODE_DEPS_MISSING=1
87
+ else
88
+ test_result "$PKG dependency" "PASS"
89
+ fi
90
+ done
91
+
92
+ # Test 5: Redis Connectivity
93
+ echo "Test 5: Redis Connectivity"
94
+ if redis-cli ping >/dev/null 2>&1; then
95
+ test_result "Redis connectivity" "PASS"
96
+ else
97
+ test_result "Redis connectivity" "SKIP" "Redis not running"
98
+ fi
99
+
100
+ # Test 6: Screenshot Capture (requires test server)
101
+ echo "Test 6: Screenshot Capture (Integration Test)"
102
+ TEST_URL="https://example.com" # Use public URL for testing
103
+ TASK_ID="test-$(date +%s)"
104
+ AGENT_ID="test-agent"
105
+
106
+ if [ "$NODE_DEPS_MISSING" -eq 0 ]; then
107
+ CAPTURE_RESULT=$("$SCRIPT_DIR/capture-screenshot.sh" \
108
+ --project "test-project" \
109
+ --component "test-component" \
110
+ --viewport "800x600" \
111
+ --state "default" \
112
+ --variant "light-mode" \
113
+ --url "$TEST_URL" \
114
+ --task-id "$TASK_ID" \
115
+ --agent-id "$AGENT_ID" 2>&1)
116
+
117
+ if [ $? -eq 0 ] && echo "$CAPTURE_RESULT" | jq -e '.screenshot_key' >/dev/null 2>&1; then
118
+ SCREENSHOT_KEY=$(echo "$CAPTURE_RESULT" | jq -r '.screenshot_key')
119
+ test_result "Screenshot capture" "PASS"
120
+ else
121
+ test_result "Screenshot capture" "FAIL" "Capture failed or invalid output"
122
+ fi
123
+ else
124
+ test_result "Screenshot capture" "SKIP" "Node dependencies missing"
125
+ fi
126
+
127
+ # Test 7: Baseline Setting
128
+ echo "Test 7: Baseline Setting"
129
+ if [ -n "$SCREENSHOT_KEY" ]; then
130
+ BASELINE_RESULT=$("$SCRIPT_DIR/set-baseline.sh" \
131
+ --screenshot-key "$SCREENSHOT_KEY" \
132
+ --reason "Test baseline" 2>&1)
133
+
134
+ if [ $? -eq 0 ] && echo "$BASELINE_RESULT" | jq -e '.status' >/dev/null 2>&1; then
135
+ test_result "Baseline setting" "PASS"
136
+ else
137
+ test_result "Baseline setting" "FAIL" "set-baseline.sh failed"
138
+ fi
139
+ else
140
+ test_result "Baseline setting" "SKIP" "No screenshot to baseline"
141
+ fi
142
+
143
+ # Test 8: Screenshot Comparison
144
+ echo "Test 8: Screenshot Comparison"
145
+ if [ -n "$SCREENSHOT_KEY" ]; then
146
+ # Capture second screenshot for comparison
147
+ CAPTURE2_RESULT=$("$SCRIPT_DIR/capture-screenshot.sh" \
148
+ --project "test-project" \
149
+ --component "test-component" \
150
+ --viewport "800x600" \
151
+ --state "default" \
152
+ --variant "light-mode" \
153
+ --url "$TEST_URL" \
154
+ --task-id "$TASK_ID" \
155
+ --agent-id "$AGENT_ID" 2>&1)
156
+
157
+ if [ $? -eq 0 ]; then
158
+ COMPARE_RESULT=$("$SCRIPT_DIR/compare-screenshots.sh" \
159
+ --screenshot-key "$SCREENSHOT_KEY" \
160
+ --task-id "$TASK_ID" \
161
+ --threshold 0.95 2>&1)
162
+
163
+ if [ $? -eq 0 ] && echo "$COMPARE_RESULT" | jq -e '.similarity_score' >/dev/null 2>&1; then
164
+ SIMILARITY=$(echo "$COMPARE_RESULT" | jq -r '.similarity_score')
165
+ if (( $(echo "$SIMILARITY >= 0.95" | bc -l) )); then
166
+ test_result "Screenshot comparison" "PASS"
167
+ else
168
+ test_result "Screenshot comparison" "FAIL" "Low similarity: $SIMILARITY"
169
+ fi
170
+ else
171
+ test_result "Screenshot comparison" "FAIL" "compare-screenshots.sh failed"
172
+ fi
173
+ else
174
+ test_result "Screenshot comparison" "SKIP" "Second capture failed"
175
+ fi
176
+ else
177
+ test_result "Screenshot comparison" "SKIP" "No screenshot to compare"
178
+ fi
179
+
180
+ # Test 9: SQLite Data Persistence
181
+ echo "Test 9: SQLite Data Persistence"
182
+ SCREENSHOT_COUNT=$(sqlite3 "$DB_PATH" \
183
+ "SELECT COUNT(*) FROM webapp_screenshots WHERE project = 'test-project';" 2>/dev/null)
184
+
185
+ if [ "$SCREENSHOT_COUNT" -gt 0 ]; then
186
+ test_result "SQLite data persistence" "PASS"
187
+ else
188
+ test_result "SQLite data persistence" "FAIL" "No test screenshots in database"
189
+ fi
190
+
191
+ # Test 10: Redis Queue Integration
192
+ echo "Test 10: Redis Queue Integration"
193
+ if [ -n "$TASK_ID" ]; then
194
+ QUEUE_LENGTH=$(redis-cli llen "screenshot:queue:${TASK_ID}" 2>/dev/null || echo "0")
195
+ if [ "$QUEUE_LENGTH" -gt 0 ]; then
196
+ test_result "Redis queue integration" "PASS"
197
+ else
198
+ test_result "Redis queue integration" "SKIP" "Redis queue empty (may have been processed)"
199
+ fi
200
+ else
201
+ test_result "Redis queue integration" "SKIP" "No task ID available"
202
+ fi
203
+
204
+ # Cleanup test data
205
+ echo ""
206
+ echo "Cleaning up test data..."
207
+ if [ -n "$SCREENSHOT_KEY" ]; then
208
+ sqlite3 "$DB_PATH" "DELETE FROM webapp_screenshots WHERE project = 'test-project';" 2>/dev/null
209
+ sqlite3 "$DB_PATH" "DELETE FROM screenshot_audit_log WHERE screenshot_key LIKE 'test-project/%';" 2>/dev/null
210
+ rm -rf .screenshots/baselines/test-project 2>/dev/null
211
+ rm -rf .screenshots/current/test-project 2>/dev/null
212
+ rm -rf .screenshots/diffs/"$TASK_ID" 2>/dev/null
213
+ redis-cli del "screenshot:queue:${TASK_ID}" >/dev/null 2>&1
214
+ echo "✓ Test data cleaned"
215
+ fi
216
+
217
+ # Summary
218
+ echo ""
219
+ echo "=========================================="
220
+ echo "Test Summary"
221
+ echo "=========================================="
222
+ echo -e "${GREEN}Passed:${NC} $TESTS_PASSED"
223
+ echo -e "${RED}Failed:${NC} $TESTS_FAILED"
224
+ echo -e "${YELLOW}Skipped:${NC} $TESTS_SKIPPED"
225
+ echo ""
226
+
227
+ if [ "$TESTS_FAILED" -eq 0 ]; then
228
+ echo -e "${GREEN}✓ All tests passed${NC}"
229
+ exit 0
230
+ else
231
+ echo -e "${RED}✗ Some tests failed${NC}"
232
+ exit 1
233
+ fi
@@ -0,0 +1,45 @@
1
+ const calculateConsensus = (taskMetrics) => {
2
+ const {
3
+ validatorScores,
4
+ confidenceScores,
5
+ gateways
6
+ } = taskMetrics;
7
+
8
+ const consensusScore = calculateWeightedConsensus(validatorScores);
9
+ const confidenceScore = calculateConfidenceMetric(confidenceScores);
10
+ const gateScore = calculateGatewayScore(gateways);
11
+
12
+ return {
13
+ consensus: consensusScore,
14
+ confidence: confidenceScore,
15
+ gate_score: gateScore,
16
+ recommendation: decideNextAction(consensusScore, confidenceScore, gateScore)
17
+ };
18
+ };
19
+
20
+ function calculateWeightedConsensus(validatorScores) {
21
+ // Implement weighted consensus calculation
22
+ return validatorScores.reduce((a, b) => a + b, 0) / validatorScores.length;
23
+ }
24
+
25
+ function calculateConfidenceMetric(confidenceScores) {
26
+ // Implement confidence metric calculation
27
+ return Math.min(confidenceScores.reduce((a, b) => a * b, 1), 1);
28
+ }
29
+
30
+ function calculateGatewayScore(gateways) {
31
+ // Implement gateway score calculation
32
+ return gateways.reduce((a, b) => a * b, 1);
33
+ }
34
+
35
+ function decideNextAction(consensusScore, confidenceScore, gateScore) {
36
+ if (consensusScore >= 0.90 && gateScore >= 0.75) {
37
+ return 'success';
38
+ } else if (consensusScore >= 0.75) {
39
+ return 'retry_with_specialists';
40
+ } else {
41
+ return 'manual_review';
42
+ }
43
+ }
44
+
45
+ module.exports = { calculateConsensus };
@@ -0,0 +1,66 @@
1
+ -- Evidence Chain Schema for CFN Loop Validation
2
+ CREATE TABLE validation_evidence (
3
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
4
+ task_id TEXT NOT NULL,
5
+ validation_mode TEXT NOT NULL,
6
+ confidence REAL,
7
+ consensus_score REAL,
8
+ gate_score REAL,
9
+ iteration INTEGER,
10
+ timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
11
+ status TEXT CHECK(status IN ('pending', 'success', 'retry', 'escalate', 'failure'))
12
+ );
13
+
14
+ CREATE INDEX idx_task_validation ON validation_evidence(task_id, validation_mode);
15
+
16
+ -- Stored Procedure for Inserting Validation Evidence
17
+ CREATE PROCEDURE insert_validation_evidence(
18
+ p_task_id TEXT,
19
+ p_validation_mode TEXT,
20
+ p_confidence REAL,
21
+ p_consensus_score REAL,
22
+ p_gate_score REAL,
23
+ p_iteration INTEGER,
24
+ p_status TEXT
25
+ )
26
+ BEGIN
27
+ INSERT INTO validation_evidence (
28
+ task_id,
29
+ validation_mode,
30
+ confidence,
31
+ consensus_score,
32
+ gate_score,
33
+ iteration,
34
+ status
35
+ ) VALUES (
36
+ p_task_id,
37
+ p_validation_mode,
38
+ p_confidence,
39
+ p_consensus_score,
40
+ p_gate_score,
41
+ p_iteration,
42
+ p_status
43
+ );
44
+ END;
45
+
46
+ -- Function for Calculating Validation Success Rate
47
+ CREATE FUNCTION calculate_validation_success_rate(p_task_id TEXT)
48
+ RETURNS REAL
49
+ BEGIN
50
+ DECLARE total_attempts INTEGER;
51
+ DECLARE successful_attempts INTEGER;
52
+
53
+ SELECT COUNT(*) INTO total_attempts
54
+ FROM validation_evidence
55
+ WHERE task_id = p_task_id;
56
+
57
+ SELECT COUNT(*) INTO successful_attempts
58
+ FROM validation_evidence
59
+ WHERE task_id = p_task_id AND status = 'success';
60
+
61
+ RETURN CASE
62
+ WHEN total_attempts > 0
63
+ THEN (successful_attempts * 1.0) / total_attempts
64
+ ELSE 0.0
65
+ END;
66
+ END;