claude-flow-novice 2.14.3 → 2.14.5

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 (194) hide show
  1. package/.claude/commands/CFN_LOOP_TASK_MODE.md +4 -47
  2. package/.claude/commands/seo/SEO_TASK_MODE.md +892 -0
  3. package/.claude/commands/seo/seo-blog.md +428 -0
  4. package/.claude/commands/seo/seo-landing.md +91 -0
  5. package/.claude/commands/seo/seo-product.md +104 -0
  6. package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -276
  7. package/claude-assets/agents/cfn-dev-team/coordinators/epic-creator.md +120 -0
  8. package/claude-assets/agents/cfn-seo-team/AGENT_CREATION_REPORT.md +481 -0
  9. package/claude-assets/agents/cfn-seo-team/DELEGATION_MATRIX.md +371 -0
  10. package/claude-assets/agents/cfn-seo-team/HUMANIZER_PROMPTS.md +536 -0
  11. package/claude-assets/agents/cfn-seo-team/INTEGRATION_REQUIREMENTS.md +642 -0
  12. package/claude-assets/agents/cfn-seo-team/cfn-seo-coordinator.md +414 -0
  13. package/claude-assets/agents/cfn-seo-team/competitive-seo-analyst.md +423 -0
  14. package/claude-assets/agents/cfn-seo-team/content-atomization-specialist.md +580 -0
  15. package/claude-assets/agents/cfn-seo-team/content-seo-strategist.md +245 -0
  16. package/claude-assets/agents/cfn-seo-team/eeat-content-auditor.md +389 -0
  17. package/claude-assets/agents/cfn-seo-team/geo-optimization-expert.md +269 -0
  18. package/claude-assets/agents/cfn-seo-team/link-building-specialist.md +291 -0
  19. package/claude-assets/agents/cfn-seo-team/local-seo-optimizer.md +333 -0
  20. package/claude-assets/agents/cfn-seo-team/programmatic-seo-engineer.md +244 -0
  21. package/claude-assets/agents/cfn-seo-team/schema-markup-engineer.md +430 -0
  22. package/claude-assets/agents/cfn-seo-team/seo-analytics-specialist.md +376 -0
  23. package/claude-assets/agents/cfn-seo-team/seo-validators/accessibility-validator.md +565 -0
  24. package/claude-assets/agents/cfn-seo-team/seo-validators/audience-validator.md +484 -0
  25. package/claude-assets/agents/cfn-seo-team/seo-validators/branding-validator.md +452 -0
  26. package/claude-assets/agents/cfn-seo-team/seo-validators/humanizer-validator.md +333 -0
  27. package/claude-assets/agents/cfn-seo-team/technical-seo-specialist.md +228 -0
  28. package/claude-assets/commands/CFN_LOOP_TASK_MODE.md +4 -47
  29. package/claude-assets/commands/seo/SEO_TASK_MODE.md +892 -0
  30. package/claude-assets/commands/seo/seo-blog.md +428 -0
  31. package/claude-assets/commands/seo/seo-landing.md +91 -0
  32. package/claude-assets/commands/seo/seo-product.md +104 -0
  33. package/claude-assets/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -276
  34. package/claude-assets/skills/seo-orchestration/SKILL.md +292 -0
  35. package/claude-assets/skills/seo-orchestration/orchestrate-seo.sh +566 -0
  36. package/claude-assets/skills/seo-orchestration/orchestrate-seo.sh.backup +755 -0
  37. package/claude-assets/skills/seo-orchestration/validate-consensus.sh +270 -0
  38. package/dist/agents/agent-loader.js +165 -146
  39. package/dist/agents/agent-loader.js.map +1 -1
  40. package/dist/cli/agent-prompt-builder.js +25 -0
  41. package/dist/cli/agent-prompt-builder.js.map +1 -1
  42. package/package.json +1 -1
  43. package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +0 -57
  44. package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +0 -267
  45. package/.claude/skills/cfn-redis-coordination/LOGGING.md +0 -260
  46. package/.claude/skills/cfn-redis-coordination/README.md +0 -65
  47. package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +0 -25
  48. package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +0 -164
  49. package/.claude/skills/cfn-redis-coordination/SKILL.md +0 -720
  50. package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +0 -129
  51. package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +0 -320
  52. package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +0 -249
  53. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +0 -148
  54. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +0 -163
  55. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +0 -138
  56. package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +0 -81
  57. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +0 -45
  58. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +0 -68
  59. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +0 -56
  60. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +0 -81
  61. package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +0 -57
  62. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +0 -187
  63. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +0 -160
  64. package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +0 -97
  65. package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +0 -97
  66. package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +0 -59
  67. package/.claude/skills/cfn-redis-coordination/examples/README.md +0 -73
  68. package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +0 -352
  69. package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +0 -127
  70. package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +0 -171
  71. package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +0 -227
  72. package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +0 -239
  73. package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +0 -258
  74. package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +0 -177
  75. package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +0 -137
  76. package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +0 -106
  77. package/.claude/skills/cfn-redis-coordination/heartbeat.sh +0 -126
  78. package/.claude/skills/cfn-redis-coordination/init-swarm.sh +0 -148
  79. package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +0 -220
  80. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +0 -283
  81. package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +0 -147
  82. package/.claude/skills/cfn-redis-coordination/log-event.sh +0 -109
  83. package/.claude/skills/cfn-redis-coordination/metrics-export.sh +0 -674
  84. package/.claude/skills/cfn-redis-coordination/metrics-schema.json +0 -66
  85. package/.claude/skills/cfn-redis-coordination/metrics-storage.md +0 -31
  86. package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +0 -391
  87. package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +0 -101
  88. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +0 -141
  89. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +0 -31
  90. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  91. package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +0 -75
  92. package/.claude/skills/cfn-redis-coordination/priority_wake.py +0 -134
  93. package/.claude/skills/cfn-redis-coordination/query-dlq.sh +0 -162
  94. package/.claude/skills/cfn-redis-coordination/query-logs.sh +0 -103
  95. package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +0 -619
  96. package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +0 -58
  97. package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +0 -371
  98. package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +0 -252
  99. package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +0 -165
  100. package/.claude/skills/cfn-redis-coordination/signal.sh +0 -38
  101. package/.claude/skills/cfn-redis-coordination/store-context.sh +0 -86
  102. package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +0 -123
  103. package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +0 -354
  104. package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +0 -513
  105. package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +0 -15
  106. package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +0 -102
  107. package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +0 -99
  108. package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +0 -170
  109. package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +0 -82
  110. package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +0 -92
  111. package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +0 -4
  112. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
  113. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +0 -124
  114. package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +0 -166
  115. package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +0 -54
  116. package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +0 -49
  117. package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +0 -76
  118. package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +0 -492
  119. package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT.md +0 -57
  120. package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +0 -267
  121. package/claude-assets/skills/cfn-redis-coordination/LOGGING.md +0 -260
  122. package/claude-assets/skills/cfn-redis-coordination/README.md +0 -65
  123. package/claude-assets/skills/cfn-redis-coordination/SECURITY_REVIEW.md +0 -25
  124. package/claude-assets/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +0 -164
  125. package/claude-assets/skills/cfn-redis-coordination/SKILL.md +0 -720
  126. package/claude-assets/skills/cfn-redis-coordination/demos/test-dlq.sh +0 -129
  127. package/claude-assets/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +0 -320
  128. package/claude-assets/skills/cfn-redis-coordination/demos/test-orchestrator.sh +0 -249
  129. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +0 -148
  130. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +0 -163
  131. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake.sh +0 -138
  132. package/claude-assets/skills/cfn-redis-coordination/demos/test-quick-fix.sh +0 -81
  133. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +0 -45
  134. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +0 -68
  135. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +0 -56
  136. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +0 -81
  137. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum.sh +0 -57
  138. package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +0 -187
  139. package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown.sh +0 -160
  140. package/claude-assets/skills/cfn-redis-coordination/demos/test-utils-unix.sh +0 -97
  141. package/claude-assets/skills/cfn-redis-coordination/demos/test-utils.sh +0 -97
  142. package/claude-assets/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +0 -59
  143. package/claude-assets/skills/cfn-redis-coordination/examples/README.md +0 -73
  144. package/claude-assets/skills/cfn-redis-coordination/examples/grafana-dashboard.json +0 -352
  145. package/claude-assets/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +0 -127
  146. package/claude-assets/skills/cfn-redis-coordination/examples/mesh-pattern.sh +0 -171
  147. package/claude-assets/skills/cfn-redis-coordination/examples/timeout-handling.sh +0 -227
  148. package/claude-assets/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +0 -239
  149. package/claude-assets/skills/cfn-redis-coordination/execute-product-owner-decision.sh +0 -258
  150. package/claude-assets/skills/cfn-redis-coordination/get-agent-timeout.sh +0 -177
  151. package/claude-assets/skills/cfn-redis-coordination/heartbeat-functions.sh +0 -137
  152. package/claude-assets/skills/cfn-redis-coordination/heartbeat-protocol.md +0 -106
  153. package/claude-assets/skills/cfn-redis-coordination/heartbeat.sh +0 -126
  154. package/claude-assets/skills/cfn-redis-coordination/init-swarm.sh +0 -148
  155. package/claude-assets/skills/cfn-redis-coordination/invoke-redis-pattern.sh +0 -220
  156. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +0 -283
  157. package/claude-assets/skills/cfn-redis-coordination/list-active-swarms.sh +0 -147
  158. package/claude-assets/skills/cfn-redis-coordination/log-event.sh +0 -109
  159. package/claude-assets/skills/cfn-redis-coordination/metrics-export.sh +0 -674
  160. package/claude-assets/skills/cfn-redis-coordination/metrics-schema.json +0 -66
  161. package/claude-assets/skills/cfn-redis-coordination/metrics-storage.md +0 -31
  162. package/claude-assets/skills/cfn-redis-coordination/monitor-cfn-violations.sh +0 -391
  163. package/claude-assets/skills/cfn-redis-coordination/monitor-heartbeats.sh +0 -101
  164. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +0 -141
  165. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +0 -31
  166. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  167. package/claude-assets/skills/cfn-redis-coordination/priority-wake-mechanism.md +0 -75
  168. package/claude-assets/skills/cfn-redis-coordination/priority_wake.py +0 -134
  169. package/claude-assets/skills/cfn-redis-coordination/query-dlq.sh +0 -162
  170. package/claude-assets/skills/cfn-redis-coordination/query-logs.sh +0 -103
  171. package/claude-assets/skills/cfn-redis-coordination/redis-pattern.sh +0 -619
  172. package/claude-assets/skills/cfn-redis-coordination/retrieve-context.sh +0 -58
  173. package/claude-assets/skills/cfn-redis-coordination/select-specialist-agent.sh +0 -371
  174. package/claude-assets/skills/cfn-redis-coordination/semantic-match-tfidf.py +0 -252
  175. package/claude-assets/skills/cfn-redis-coordination/send-heartbeat.sh +0 -165
  176. package/claude-assets/skills/cfn-redis-coordination/signal.sh +0 -38
  177. package/claude-assets/skills/cfn-redis-coordination/store-context.sh +0 -86
  178. package/claude-assets/skills/cfn-redis-coordination/store-epic-context.sh +0 -123
  179. package/claude-assets/skills/cfn-redis-coordination/test-context-injection.sh +0 -354
  180. package/claude-assets/skills/cfn-redis-coordination/test-timeout-enforcement.sh +0 -513
  181. package/claude-assets/skills/cfn-redis-coordination/tests/convert-line-endings.sh +0 -15
  182. package/claude-assets/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +0 -102
  183. package/claude-assets/skills/cfn-redis-coordination/tests/edge-cases-test.sh +0 -99
  184. package/claude-assets/skills/cfn-redis-coordination/tests/integration-test.sh +0 -170
  185. package/claude-assets/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +0 -82
  186. package/claude-assets/skills/cfn-redis-coordination/tests/run-test-suite.sh +0 -92
  187. package/claude-assets/skills/cfn-redis-coordination/tests/run-tests.sh +0 -4
  188. package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
  189. package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +0 -124
  190. package/claude-assets/skills/cfn-redis-coordination/tests/test-primitives.sh +0 -166
  191. package/claude-assets/skills/cfn-redis-coordination/tests/test-utils.sh +0 -54
  192. package/claude-assets/skills/cfn-redis-coordination/tests/test_utils.sh +0 -49
  193. package/claude-assets/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +0 -76
  194. package/claude-assets/skills/cfn-redis-coordination/validate-parameters.sh +0 -492
@@ -1,165 +0,0 @@
1
- #!/bin/bash
2
- # Redis Coordination Skill - Agent Heartbeat Sender
3
- # Version: 2.0.0
4
- # Last Updated: 2025-10-20
5
- #
6
- # Usage:
7
- # # One-shot heartbeat (original behavior)
8
- # ./send-heartbeat.sh --task-id <id> --agent-id <id>
9
- #
10
- # # Start continuous heartbeat loop
11
- # ./send-heartbeat.sh start --task-id <id> --agent-id <id> --interval 30 &
12
- # HEARTBEAT_PID=$!
13
- #
14
- # # Stop heartbeat loop
15
- # ./send-heartbeat.sh stop --task-id <id> --agent-id <id> --pid $HEARTBEAT_PID
16
-
17
- # Strict error handling
18
- set -euo pipefail
19
-
20
- # Default values
21
- ACTION=""
22
- TASK_ID=""
23
- AGENT_ID=""
24
- STATUS="active"
25
- TTL=60
26
- INTERVAL=30 # For continuous mode
27
- HEARTBEAT_PID=""
28
- DETAILS='{}'
29
-
30
- # Parse command-line arguments
31
- while [[ $# -gt 0 ]]; do
32
- case "$1" in
33
- start|stop|once)
34
- ACTION="$1"
35
- shift
36
- ;;
37
- --task-id)
38
- TASK_ID="$2"
39
- shift 2
40
- ;;
41
- --agent-id)
42
- AGENT_ID="$2"
43
- shift 2
44
- ;;
45
- --status)
46
- STATUS="$2"
47
- shift 2
48
- ;;
49
- --ttl)
50
- TTL="$2"
51
- shift 2
52
- ;;
53
- --interval)
54
- INTERVAL="$2"
55
- shift 2
56
- ;;
57
- --pid)
58
- HEARTBEAT_PID="$2"
59
- shift 2
60
- ;;
61
- --details)
62
- DETAILS="$2"
63
- shift 2
64
- ;;
65
- *)
66
- echo "Unknown parameter: $1"
67
- exit 1
68
- ;;
69
- esac
70
- done
71
-
72
- # Validate required parameters
73
- if [[ -z "$TASK_ID" || -z "$AGENT_ID" ]]; then
74
- echo "Error: task-id and agent-id are required"
75
- exit 1
76
- fi
77
-
78
- # If no action specified, default to one-shot (backward compatibility)
79
- if [ -z "$ACTION" ]; then
80
- ACTION="once"
81
- fi
82
-
83
- HEARTBEAT_KEY="swarm:${TASK_ID}:${AGENT_ID}:heartbeat"
84
- MARKER_FILE="/tmp/heartbeat-${TASK_ID}-${AGENT_ID}.active"
85
-
86
- ##############################################################################
87
- # Send single heartbeat
88
- ##############################################################################
89
- function send_heartbeat() {
90
- # Generate heartbeat payload
91
- HEARTBEAT_PAYLOAD=$(jq -n \
92
- --arg timestamp "$(date +%s)" \
93
- --arg status "$STATUS" \
94
- --arg task_id "$TASK_ID" \
95
- --arg agent_id "$AGENT_ID" \
96
- --argjson details "$DETAILS" \
97
- '{
98
- "timestamp": $timestamp,
99
- "status": $status,
100
- "task_id": $task_id,
101
- "agent_id": $agent_id,
102
- "details": $details
103
- }')
104
-
105
- # Send heartbeat via Redis with auto-expiration
106
- redis-cli setex "$HEARTBEAT_KEY" "$TTL" "$HEARTBEAT_PAYLOAD" >/dev/null
107
- }
108
-
109
- ##############################################################################
110
- # Start continuous heartbeat loop
111
- ##############################################################################
112
- function start_heartbeat() {
113
- # Create marker file
114
- touch "$MARKER_FILE"
115
-
116
- # Background heartbeat loop
117
- (
118
- while [ -f "$MARKER_FILE" ]; do
119
- send_heartbeat
120
- sleep "$INTERVAL"
121
- done
122
- ) &
123
-
124
- echo "✓ Heartbeat started for $AGENT_ID (PID: $!, interval: ${INTERVAL}s)" >&2
125
- }
126
-
127
- ##############################################################################
128
- # Stop heartbeat loop
129
- ##############################################################################
130
- function stop_heartbeat() {
131
- # Remove marker file to stop loop
132
- rm -f "$MARKER_FILE"
133
-
134
- # Kill heartbeat process if PID provided
135
- if [ -n "$HEARTBEAT_PID" ] && kill -0 "$HEARTBEAT_PID" 2>/dev/null; then
136
- kill "$HEARTBEAT_PID" 2>/dev/null || true
137
- fi
138
-
139
- # Clean up heartbeat key
140
- redis-cli DEL "$HEARTBEAT_KEY" >/dev/null
141
-
142
- echo "✓ Heartbeat stopped for $AGENT_ID" >&2
143
- }
144
-
145
- ##############################################################################
146
- # Main
147
- ##############################################################################
148
- case "$ACTION" in
149
- start)
150
- start_heartbeat
151
- ;;
152
- stop)
153
- stop_heartbeat
154
- ;;
155
- once)
156
- send_heartbeat
157
- echo "✓ Heartbeat sent for $AGENT_ID" >&2
158
- ;;
159
- *)
160
- echo "Error: Invalid action: $ACTION"
161
- exit 1
162
- ;;
163
- esac
164
-
165
- exit 0
@@ -1,38 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Parse arguments
4
- while [[ $# -gt 0 ]]; do
5
- case "$1" in
6
- --key)
7
- key="$2"
8
- shift 2
9
- ;;
10
- --value)
11
- value="$2"
12
- shift 2
13
- ;;
14
- --ttl)
15
- ttl="$2"
16
- shift 2
17
- ;;
18
- *)
19
- echo "Unknown argument: $1"
20
- exit 1
21
- ;;
22
- esac
23
- done
24
-
25
- # Validate required arguments
26
- if [[ -z "$key" || -z "$value" ]]; then
27
- echo "Error: Both key and value are required"
28
- exit 1
29
- fi
30
-
31
- # Default TTL to 3600 if not provided
32
- ttl=${ttl:-3600}
33
-
34
- # Store signal in Redis with specified TTL
35
- redis-cli setex "$key" "$ttl" "$value"
36
-
37
- # Exit successfully
38
- exit 0
@@ -1,86 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Redis Context Storage Primitive
4
- # Updated interface to match orchestrator expectations
5
- # Supports both legacy (--key --context) and new (--task-id --key --value --namespace) interfaces
6
-
7
- # Initialize variables
8
- task_id=""
9
- key=""
10
- value=""
11
- namespace="swarm"
12
- ttl=3600
13
- append_mode=false
14
-
15
- # Parse arguments
16
- while [[ $# -gt 0 ]]; do
17
- case "$1" in
18
- --task-id)
19
- task_id="$2"
20
- shift 2
21
- ;;
22
- --key)
23
- key="$2"
24
- shift 2
25
- ;;
26
- --value)
27
- value="$2"
28
- shift 2
29
- ;;
30
- --context)
31
- # Legacy support: --context is alias for --value
32
- value="$2"
33
- shift 2
34
- ;;
35
- --namespace)
36
- namespace="$2"
37
- shift 2
38
- ;;
39
- --ttl)
40
- ttl="$2"
41
- shift 2
42
- ;;
43
- --append)
44
- append_mode=true
45
- shift
46
- ;;
47
- *)
48
- echo "Unknown argument: $1" >&2
49
- exit 1
50
- ;;
51
- esac
52
- done
53
-
54
- # Construct Redis key based on interface mode
55
- if [[ -n "$task_id" ]]; then
56
- # New interface: {namespace}:{task_id}:{key}
57
- redis_key="${namespace}:${task_id}:${key}"
58
- else
59
- # Legacy interface: key is used directly
60
- redis_key="$key"
61
- fi
62
-
63
- # Validate required arguments
64
- if [[ -z "$redis_key" || -z "$value" ]]; then
65
- echo "Error: Both key and value are required" >&2
66
- echo "Usage: $0 --task-id <id> --key <key> --value <data> [--namespace <ns>] [--ttl <seconds>] [--append]" >&2
67
- echo " or: $0 --key <full-key> --context <data> [--ttl <seconds>]" >&2
68
- exit 1
69
- fi
70
-
71
- # Handle append mode
72
- if [ "$append_mode" = true ]; then
73
- # Get existing value
74
- existing=$(redis-cli get "$redis_key" 2>/dev/null)
75
-
76
- # Append new value (comma-separated)
77
- if [[ -n "$existing" && "$existing" != "(nil)" ]]; then
78
- value="${existing},${value}"
79
- fi
80
- fi
81
-
82
- # Store in Redis with specified TTL
83
- redis-cli setex "$redis_key" "$ttl" "$value" >/dev/null
84
-
85
- # Exit successfully
86
- exit 0
@@ -1,123 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- ##############################################################################
4
- # Store Epic Context in Redis
5
- # Stores epic-level context for CLI-spawned agents to access
6
- #
7
- # Usage:
8
- # ./store-epic-context.sh --task-id <id> \
9
- # --epic-context <json> \
10
- # [--phase-context <json>] \
11
- # [--success-criteria <json>] \
12
- # [--ttl <seconds>]
13
- #
14
- # Example:
15
- # ./store-epic-context.sh --task-id "epic-auth-123" \
16
- # --epic-context '{
17
- # "epicGoal": "Build authentication system",
18
- # "inScope": ["JWT auth", "RBAC", "Session management"],
19
- # "outOfScope": ["OAuth", "MFA", "Biometrics"],
20
- # "phases": ["assessment", "implementation", "validation"]
21
- # }' \
22
- # --phase-context '{
23
- # "currentPhase": "assessment",
24
- # "dependencies": [],
25
- # "deliverables": ["Requirements doc", "Architecture design"]
26
- # }' \
27
- # --success-criteria '{
28
- # "acceptanceCriteria": [
29
- # "Core functionality implemented",
30
- # "Tests pass >80% coverage",
31
- # "Security review complete"
32
- # ],
33
- # "gateThreshold": 0.75,
34
- # "consensusThreshold": 0.90
35
- # }' \
36
- # --ttl 86400
37
- #
38
- # Redis Keys Created:
39
- # - swarm:<task-id>:epic-context
40
- # - swarm:<task-id>:phase-context
41
- # - swarm:<task-id>:success-criteria
42
- #
43
- # These keys are automatically read by cfn-spawn and injected as environment
44
- # variables into spawned agents:
45
- # - EPIC_CONTEXT
46
- # - PHASE_CONTEXT
47
- # - SUCCESS_CRITERIA
48
- ##############################################################################
49
-
50
- set -euo pipefail
51
-
52
- # Configuration
53
- TASK_ID=""
54
- EPIC_CONTEXT=""
55
- PHASE_CONTEXT=""
56
- SUCCESS_CRITERIA=""
57
- TTL=86400 # 24 hours default
58
-
59
- # Parse arguments
60
- while [[ $# -gt 0 ]]; do
61
- case $1 in
62
- --task-id)
63
- TASK_ID="$2"
64
- shift 2
65
- ;;
66
- --epic-context)
67
- EPIC_CONTEXT="$2"
68
- shift 2
69
- ;;
70
- --phase-context)
71
- PHASE_CONTEXT="$2"
72
- shift 2
73
- ;;
74
- --success-criteria)
75
- SUCCESS_CRITERIA="$2"
76
- shift 2
77
- ;;
78
- --ttl)
79
- TTL="$2"
80
- shift 2
81
- ;;
82
- *)
83
- echo "Unknown option: $1"
84
- exit 1
85
- ;;
86
- esac
87
- done
88
-
89
- # Validation
90
- if [ -z "$TASK_ID" ]; then
91
- echo "Error: --task-id is required"
92
- exit 1
93
- fi
94
-
95
- if [ -z "$EPIC_CONTEXT" ]; then
96
- echo "Error: --epic-context is required"
97
- exit 1
98
- fi
99
-
100
- # Store epic context
101
- echo "Storing epic context for task: $TASK_ID"
102
-
103
- if [ -n "$EPIC_CONTEXT" ]; then
104
- redis-cli set "swarm:${TASK_ID}:epic-context" "$EPIC_CONTEXT" EX "$TTL" > /dev/null
105
- echo " ✓ Epic context stored (TTL: ${TTL}s)"
106
- fi
107
-
108
- if [ -n "$PHASE_CONTEXT" ]; then
109
- redis-cli set "swarm:${TASK_ID}:phase-context" "$PHASE_CONTEXT" EX "$TTL" > /dev/null
110
- echo " ✓ Phase context stored (TTL: ${TTL}s)"
111
- fi
112
-
113
- if [ -n "$SUCCESS_CRITERIA" ]; then
114
- redis-cli set "swarm:${TASK_ID}:success-criteria" "$SUCCESS_CRITERIA" EX "$TTL" > /dev/null
115
- echo " ✓ Success criteria stored (TTL: ${TTL}s)"
116
- fi
117
-
118
- echo "✅ Context storage complete"
119
- echo ""
120
- echo "CLI-spawned agents will automatically receive this context via environment variables:"
121
- echo " - EPIC_CONTEXT"
122
- echo " - PHASE_CONTEXT"
123
- echo " - SUCCESS_CRITERIA"