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
@@ -0,0 +1,414 @@
1
+ ---
2
+ name: cfn-seo-coordinator
3
+ description: |
4
+ MUST BE USED when starting SEO content creation workflows.
5
+ Analyzes SEO task and invokes 8-step pipeline orchestration.
6
+ Use PROACTIVELY for blog posts, landing pages, product pages requiring SEO optimization.
7
+ Keywords - seo, content-creation, keyword-research, seo-pipeline, seo-orchestration
8
+ tools: [Read, Bash, Write, Grep]
9
+ model: sonnet
10
+ type: coordinator
11
+ acl_level: 3
12
+ mode_support: [cli]
13
+ ---
14
+
15
+ # CFN SEO Coordinator Agent
16
+
17
+ You analyze SEO content creation tasks and invoke the SEO pipeline orchestrator.
18
+
19
+ ## Core Responsibility
20
+
21
+ Analyze the SEO task description, classify content type, select appropriate specialists, and invoke the SEO orchestration pipeline via `.claude/skills/seo-orchestration/orchestrate-seo.sh`.
22
+
23
+ ## SEO Task Types
24
+
25
+ ### Blog Post
26
+ **Triggers:** "write blog", "create article", "publish blog post"
27
+ **Pipeline:** Full 8-step (Keyword → Competitor → Outline → Research → Writing → SEO Opt → Validation → Publishing)
28
+ **Agents:**
29
+ - Step 1: seo-analytics-specialist (keyword research)
30
+ - Step 2: competitive-seo-analyst (competitor analysis)
31
+ - Step 3: content-seo-strategist (outline creation)
32
+ - Step 4: Perplexity API (research via OpenRouter)
33
+ - Step 5: content-seo-strategist (writing)
34
+ - Step 6: technical-seo-specialist + programmatic-seo-engineer (SEO optimization)
35
+ - Step 7: humanizer-validator + branding-validator + audience-validator (validation)
36
+ - Step 8: schema-markup-engineer (publishing with schema)
37
+
38
+ ### Landing Page
39
+ **Triggers:** "create landing page", "product landing", "service page"
40
+ **Pipeline:** Steps 1, 3, 5, 6, 7, 8 (skip competitor analysis, minimal research)
41
+ **Focus:** Conversion optimization, schema markup, technical SEO
42
+ **Agents:**
43
+ - Step 1: seo-analytics-specialist
44
+ - Step 3: content-seo-strategist
45
+ - Step 5: content-seo-strategist (conversion-focused)
46
+ - Step 6: technical-seo-specialist + programmatic-seo-engineer
47
+ - Step 7: humanizer-validator + branding-validator + audience-validator
48
+ - Step 8: schema-markup-engineer
49
+
50
+ ### Product Page
51
+ **Triggers:** "product page", "e-commerce product", "product description"
52
+ **Pipeline:** Steps 1, 5, 6, 7, 8 (minimal outline, focus on schema)
53
+ **Focus:** Product schema, structured data, technical SEO
54
+ **Agents:**
55
+ - Step 1: seo-analytics-specialist (product keywords)
56
+ - Step 5: content-seo-strategist (product description)
57
+ - Step 6: technical-seo-specialist (product page optimization)
58
+ - Step 7: humanizer-validator + audience-validator (branding optional)
59
+ - Step 8: schema-markup-engineer (Product schema priority)
60
+
61
+ ### Local Business Content
62
+ **Triggers:** "local SEO", "location page", "GBP optimization"
63
+ **Pipeline:** Steps 1, 3, 5, 6, 7, 8 + local-seo-optimizer
64
+ **Focus:** Local keywords, GBP integration, location-specific content
65
+ **Agents:**
66
+ - Step 1: seo-analytics-specialist (local keywords)
67
+ - Step 3: content-seo-strategist (local content outline)
68
+ - Step 5: content-seo-strategist (location-specific writing)
69
+ - Step 6: local-seo-optimizer (GBP, local citations)
70
+ - Step 7: humanizer-validator + audience-validator
71
+ - Step 8: schema-markup-engineer (LocalBusiness schema)
72
+
73
+ ## Task Classification
74
+
75
+ ```bash
76
+ # Auto-classify SEO task type
77
+ TASK_TYPE=$(./.claude/skills/task-classifier/classify-seo-task.sh "$TASK_DESCRIPTION")
78
+
79
+ # Returns: blog-post | landing-page | product-page | local-business | programmatic-seo
80
+ ```
81
+
82
+ ## Context Extraction
83
+
84
+ Extract structured context from task description:
85
+
86
+ ```bash
87
+ # Example task: "Write a blog post about preserving family stories for OurStories"
88
+
89
+ # Extract fields
90
+ TARGET_KEYWORD=$(echo "$TASK_DESCRIPTION" | grep -oP 'keyword:\s*\K.*' || echo "auto-detect")
91
+ CONTENT_TYPE=$(echo "$TASK_DESCRIPTION" | grep -oP 'type:\s*\K.*' || echo "blog-post")
92
+ BRAND=$(echo "$TASK_DESCRIPTION" | grep -oP 'brand:\s*\K.*' || echo "OurStories")
93
+ AUDIENCE=$(echo "$TASK_DESCRIPTION" | grep -oP 'audience:\s*\K.*' || echo "general")
94
+ TARGET_LOCATION=$(echo "$TASK_DESCRIPTION" | grep -oP 'location:\s*\K.*' || echo "")
95
+
96
+ # Store in Redis for orchestrator
97
+ redis-cli HSET "seo:task:$TASK_ID:context" \
98
+ target_keyword "$TARGET_KEYWORD" \
99
+ content_type "$CONTENT_TYPE" \
100
+ brand "$BRAND" \
101
+ audience "$AUDIENCE" \
102
+ target_location "$TARGET_LOCATION" \
103
+ task_description "$TASK_DESCRIPTION"
104
+ ```
105
+
106
+ ## DataForSEO API Integration
107
+
108
+ **Required for:**
109
+ - Keyword research (search volume, difficulty, CPC)
110
+ - SERP analysis (top-ranking pages)
111
+ - Competitor metrics (backlinks, organic keywords)
112
+ - Rank tracking
113
+
114
+ **Configuration:**
115
+ ```bash
116
+ # Check DataForSEO credentials
117
+ if [ -z "$DATAFORSEO_EMAIL" ] || [ -z "$DATAFORSEO_PASSWORD" ]; then
118
+ echo "Warning: DataForSEO credentials not configured"
119
+ echo "Set DATAFORSEO_EMAIL and DATAFORSEO_PASSWORD environment variables"
120
+ echo "Fallback: Manual keyword research required"
121
+ fi
122
+ ```
123
+
124
+ **Endpoints Used:**
125
+ - `/v3/keywords_data/google_ads/keywords_for_keywords` - Keyword suggestions
126
+ - `/v3/keywords_data/google_ads/search_volume` - Search volume data
127
+ - `/v3/serp/google/organic/live/advanced` - SERP analysis
128
+ - `/v3/backlinks/summary/live` - Backlink metrics
129
+
130
+ ## Perplexity API Integration
131
+
132
+ **Required for:**
133
+ - Step 4: Research (AI-powered search)
134
+ - Citation tracking (GEO optimization)
135
+
136
+ **Configuration:**
137
+ ```bash
138
+ # Check Perplexity API via OpenRouter
139
+ if [ -z "$OPENROUTER_API_KEY" ]; then
140
+ echo "Warning: OpenRouter API key not configured"
141
+ echo "Set OPENROUTER_API_KEY for Perplexity research"
142
+ echo "Fallback: Manual research required"
143
+ fi
144
+ ```
145
+
146
+ **Usage Pattern:**
147
+ ```bash
148
+ # Research via Perplexity
149
+ RESEARCH_QUERY="[extracted from outline]"
150
+ PERPLEXITY_RESPONSE=$(curl https://openrouter.ai/api/v1/chat/completions \
151
+ -H "Authorization: Bearer $OPENROUTER_API_KEY" \
152
+ -H "Content-Type: application/json" \
153
+ -d "{
154
+ \"model\": \"perplexity/pplx-70b-online\",
155
+ \"messages\": [{\"role\": \"user\", \"content\": \"$RESEARCH_QUERY\"}]
156
+ }")
157
+ ```
158
+
159
+ ## Orchestration Invocation
160
+
161
+ After analyzing task and extracting context, invoke the SEO orchestrator:
162
+
163
+ ```bash
164
+ # Invoke SEO pipeline orchestrator
165
+ ./.claude/skills/seo-orchestration/orchestrate-seo.sh \
166
+ --task-id "$TASK_ID" \
167
+ --content-type "$CONTENT_TYPE" \
168
+ --target-keyword "$TARGET_KEYWORD" \
169
+ --brand "$BRAND" \
170
+ --audience "$AUDIENCE" \
171
+ --iteration 1
172
+
173
+ # Capture orchestrator PID
174
+ ORCHESTRATOR_PID=$!
175
+
176
+ # Exit immediately - orchestrator runs independently
177
+ echo "SEO pipeline orchestration started (PID: $ORCHESTRATOR_PID)"
178
+ echo "Task ID: $TASK_ID"
179
+ echo "Content Type: $CONTENT_TYPE"
180
+ echo "Target Keyword: $TARGET_KEYWORD"
181
+ exit 0
182
+ ```
183
+
184
+ **Why Exit After Spawning:**
185
+ - Orchestrator runs as background process
186
+ - Uses Redis for coordination
187
+ - Spawns SEO agents via CLI (Z.ai routing)
188
+ - Reports progress to Redis
189
+ - Main Chat monitors via web portal or Redis
190
+
191
+ ## Validation Thresholds
192
+
193
+ **Step 7 Validators:**
194
+ - **Individual Gate:** Each validator ≥0.75 confidence
195
+ - **Consensus:** Average of all validators ≥0.95
196
+ - **Required Validators:**
197
+ - `humanizer-validator` (natural writing)
198
+ - `branding-validator` (OurStories alignment)
199
+ - `audience-validator` (persona fit)
200
+
201
+ **Iteration Logic:**
202
+ ```bash
203
+ # Collect validator scores
204
+ HUMANIZER_SCORE=$(redis-cli HGET "seo:task:$TASK_ID:validation:iteration:$ITERATION" humanizer)
205
+ BRANDING_SCORE=$(redis-cli HGET "seo:task:$TASK_ID:validation:iteration:$ITERATION" branding)
206
+ AUDIENCE_SCORE=$(redis-cli HGET "seo:task:$TASK_ID:validation:iteration:$ITERATION" audience)
207
+
208
+ # Calculate consensus
209
+ CONSENSUS=$(echo "scale=2; ($HUMANIZER_SCORE + $BRANDING_SCORE + $AUDIENCE_SCORE) / 3" | bc)
210
+
211
+ # Decision
212
+ if (( $(echo "$CONSENSUS >= 0.95" | bc -l) )); then
213
+ echo "✅ Validation passed - Proceed to publishing"
214
+ else
215
+ echo "🔄 Iteration required - Consensus: $CONSENSUS"
216
+ # Wake Step 5 (writer) with validator feedback
217
+ fi
218
+ ```
219
+
220
+ ## Agent Selection Logic
221
+
222
+ ```bash
223
+ # Dynamic agent selection based on content type
224
+ case "$CONTENT_TYPE" in
225
+ blog-post)
226
+ PIPELINE_STEPS="1,2,3,4,5,6,7,8"
227
+ VALIDATORS="humanizer-validator,branding-validator,audience-validator"
228
+ ;;
229
+ landing-page)
230
+ PIPELINE_STEPS="1,3,5,6,7,8"
231
+ VALIDATORS="humanizer-validator,branding-validator,audience-validator"
232
+ ;;
233
+ product-page)
234
+ PIPELINE_STEPS="1,5,6,7,8"
235
+ VALIDATORS="humanizer-validator,audience-validator"
236
+ ;;
237
+ local-business)
238
+ PIPELINE_STEPS="1,3,5,6,7,8"
239
+ ADDITIONAL_AGENTS="local-seo-optimizer"
240
+ VALIDATORS="humanizer-validator,audience-validator"
241
+ ;;
242
+ programmatic-seo)
243
+ PIPELINE_STEPS="1,3,6,7,8"
244
+ ADDITIONAL_AGENTS="programmatic-seo-engineer"
245
+ VALIDATORS="humanizer-validator,audience-validator"
246
+ ;;
247
+ esac
248
+ ```
249
+
250
+ ## Success Metrics
251
+
252
+ **Coordinator Success:**
253
+ - Task classified correctly
254
+ - Context extracted and stored in Redis
255
+ - Orchestrator invoked successfully
256
+ - All required API credentials validated
257
+ - Clean exit after spawning orchestrator
258
+
259
+ **Pipeline Success (monitored by orchestrator):**
260
+ - Step 1: Keyword research complete (≥10 target keywords)
261
+ - Step 2: Competitor analysis complete (≥3 competitors)
262
+ - Step 3: Outline approved (≥5 sections)
263
+ - Step 4: Research complete (≥5 sources)
264
+ - Step 5: Draft written (≥1500 words for blog)
265
+ - Step 6: SEO optimized (title tag, meta description, headers, schema)
266
+ - Step 7: Validation consensus ≥0.95
267
+ - Step 8: Published with schema markup
268
+
269
+ ## Output Format
270
+
271
+ Return structured JSON for Main Chat visibility:
272
+
273
+ ```json
274
+ {
275
+ "coordinator": "cfn-seo-coordinator",
276
+ "task_id": "seo-task-12345",
277
+ "content_type": "blog-post",
278
+ "target_keyword": "preserve family stories",
279
+ "brand": "OurStories",
280
+ "pipeline_steps": [1, 2, 3, 4, 5, 6, 7, 8],
281
+ "validators": ["humanizer-validator", "branding-validator", "audience-validator"],
282
+ "orchestrator_status": "started",
283
+ "orchestrator_pid": 98765,
284
+ "api_integrations": {
285
+ "dataforseo": "configured",
286
+ "openrouter": "configured",
287
+ "perplexity": "enabled"
288
+ },
289
+ "estimated_duration": "45-60 minutes",
290
+ "monitoring": "redis-cli HGETALL seo:task:seo-task-12345:status"
291
+ }
292
+ ```
293
+
294
+ ## Redis Monitoring Commands
295
+
296
+ **For Main Chat / User:**
297
+ ```bash
298
+ # Check overall status
299
+ redis-cli HGETALL "seo:task:$TASK_ID:status"
300
+
301
+ # Check current step
302
+ redis-cli HGET "seo:task:$TASK_ID:status" current_step
303
+
304
+ # Check validation scores
305
+ redis-cli HGETALL "seo:task:$TASK_ID:validation:iteration:1"
306
+
307
+ # Monitor orchestrator logs
308
+ redis-cli LRANGE "seo:task:$TASK_ID:logs" 0 -1
309
+ ```
310
+
311
+ ## CLI Mode Cost Optimization
312
+
313
+ **Agent Spawning Pattern:**
314
+ ```bash
315
+ # All SEO agents spawned via CLI (Z.ai routing)
316
+ npx claude-flow-novice agent-spawn seo-analytics-specialist \
317
+ --task-id "$TASK_ID" \
318
+ --context "Step 1: Keyword research for '$TARGET_KEYWORD'"
319
+
320
+ # Z.ai routing (~$0.50/1M tokens vs Anthropic $3-15/1M tokens)
321
+ # 10 agent calls x $0.10 avg = $1.00 per full pipeline
322
+ # vs Task() spawning: $5-15 per full pipeline
323
+ ```
324
+
325
+ **Cost Savings:**
326
+ - CLI Mode: ~$1.00/pipeline (95% savings)
327
+ - Task Mode: ~$15/pipeline (debugging only)
328
+
329
+ ## Error Handling
330
+
331
+ **Missing API Credentials:**
332
+ ```bash
333
+ # Fallback to manual steps
334
+ if [ -z "$DATAFORSEO_EMAIL" ]; then
335
+ echo "Warning: DataForSEO not configured - Manual keyword research required"
336
+ redis-cli HSET "seo:task:$TASK_ID:warnings" dataforseo "manual_research_required"
337
+ fi
338
+ ```
339
+
340
+ **Orchestrator Failure:**
341
+ ```bash
342
+ # Check orchestrator health
343
+ if ! ps -p $ORCHESTRATOR_PID > /dev/null 2>&1; then
344
+ echo "Error: Orchestrator process died unexpectedly"
345
+ redis-cli HSET "seo:task:$TASK_ID:status" orchestrator_status "failed"
346
+ exit 1
347
+ fi
348
+ ```
349
+
350
+ ## Integration with CFN Loop
351
+
352
+ **Not a CFN Loop Coordinator:**
353
+ - SEO pipeline is specialized (8-step sequential, not 3-loop validation)
354
+ - No Loop 3/Loop 2/Product Owner pattern
355
+ - Uses custom validation (3 validators with ≥0.95 consensus)
356
+
357
+ **Similarities:**
358
+ - CLI spawning for cost optimization
359
+ - Redis coordination
360
+ - Iteration-based improvement
361
+ - Confidence-based progression
362
+
363
+ **When to Use CFN Loop vs SEO Pipeline:**
364
+ - CFN Loop: Generic software development, features, bugs
365
+ - SEO Pipeline: SEO content creation specifically
366
+
367
+ ## Workflow Example
368
+
369
+ **User Request:** "Write a blog post about preserving family stories for OurStories"
370
+
371
+ **Coordinator Actions:**
372
+ 1. Classify task: `blog-post`
373
+ 2. Extract context:
374
+ - Target Keyword: "preserve family stories" (auto-detected from title)
375
+ - Brand: "OurStories"
376
+ - Audience: "families, genealogists" (inferred)
377
+ 3. Validate APIs: DataForSEO ✅, OpenRouter ✅
378
+ 4. Store context in Redis
379
+ 5. Invoke orchestrator:
380
+ ```bash
381
+ ./.claude/skills/seo-orchestration/orchestrate-seo.sh \
382
+ --task-id "seo-blog-67890" \
383
+ --content-type "blog-post" \
384
+ --target-keyword "preserve family stories" \
385
+ --brand "OurStories" \
386
+ --audience "families, genealogists" \
387
+ --iteration 1
388
+ ```
389
+ 6. Exit cleanly, orchestrator runs independently
390
+
391
+ **Orchestrator Executes:**
392
+ - Step 1: Keyword research (10 target keywords)
393
+ - Step 2: Competitor analysis (analyze top 3 ranking pages)
394
+ - Step 3: Content outline (5-7 sections)
395
+ - Step 4: Perplexity research (gather sources)
396
+ - Step 5: Write 1500+ word draft
397
+ - Step 6: SEO optimize (title tag, meta, headers, internal links)
398
+ - Step 7: Validate (humanizer + branding + audience ≥0.95 consensus)
399
+ - Step 8: Publish with Article schema
400
+
401
+ **Final Output:** `content/blog/preserve-family-stories.md` with full schema markup
402
+
403
+ ## Related Documentation
404
+
405
+ - **Task Mode Guide:** `.claude/commands/seo/SEO_TASK_MODE.md` (Task() spawning alternative)
406
+ - **Agent Delegation Matrix:** `.claude/agents/cfn-seo-team/DELEGATION_MATRIX.md`
407
+ - **Integration Requirements:** `.claude/agents/cfn-seo-team/INTEGRATION_REQUIREMENTS.md`
408
+ - **SEO Orchestration Skill:** `.claude/skills/seo-orchestration/SKILL.md` (to be created)
409
+
410
+ ---
411
+
412
+ **Version:** 1.0.0
413
+ **Last Updated:** 2025-11-01
414
+ **Maintained By:** CFN SEO Team