claude-flow-novice 2.14.29 → 2.14.31
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.
- package/.claude/cfn-agents-ignore/cfn-seo-team/AGENT_CREATION_REPORT.md +4 -14
- package/.claude/cfn-agents-ignore/cfn-seo-team/AGENT_CREATION_REPORT.md.backup +481 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/DELEGATION_MATRIX.md +3 -4
- package/.claude/cfn-agents-ignore/cfn-seo-team/DELEGATION_MATRIX.md.backup +371 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/INTEGRATION_REQUIREMENTS.md +20 -26
- package/.claude/cfn-agents-ignore/cfn-seo-team/INTEGRATION_REQUIREMENTS.md.backup +637 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/cfn-seo-coordinator.md +295 -50
- package/.claude/cfn-agents-ignore/cfn-seo-team/cfn-seo-coordinator.md.backup +398 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/competitive-seo-analyst.md +27 -25
- package/.claude/cfn-agents-ignore/cfn-seo-team/competitive-seo-analyst.md.backup +401 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/content-atomization-specialist.md +5 -106
- package/.claude/cfn-agents-ignore/cfn-seo-team/content-atomization-specialist.md.backup +552 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/content-seo-strategist.md +5 -25
- package/.claude/cfn-agents-ignore/cfn-seo-team/content-seo-strategist.md.backup +223 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/eeat-content-auditor.md +5 -27
- package/.claude/cfn-agents-ignore/cfn-seo-team/eeat-content-auditor.md.backup +367 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/geo-optimization-expert.md +5 -27
- package/.claude/cfn-agents-ignore/cfn-seo-team/geo-optimization-expert.md.backup +247 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/link-building-specialist.md +5 -27
- package/.claude/cfn-agents-ignore/cfn-seo-team/link-building-specialist.md.backup +269 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/local-seo-optimizer.md +5 -25
- package/.claude/cfn-agents-ignore/cfn-seo-team/local-seo-optimizer.md.backup +311 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/programmatic-seo-engineer.md +6 -26
- package/.claude/cfn-agents-ignore/cfn-seo-team/programmatic-seo-engineer.md.backup +222 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/schema-markup-engineer.md +5 -25
- package/.claude/cfn-agents-ignore/cfn-seo-team/schema-markup-engineer.md.backup +408 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-analytics-specialist.md +6 -26
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-analytics-specialist.md.backup +354 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/accessibility-validator.md +4 -4
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/accessibility-validator.md.backup +561 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/audience-validator.md +2 -2
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/audience-validator.md.backup +480 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/branding-validator.md +1 -1
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/branding-validator.md.backup +448 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/humanizer-validator.md +2 -2
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/humanizer-validator.md.backup +329 -0
- package/.claude/cfn-agents-ignore/cfn-seo-team/technical-seo-specialist.md +361 -199
- package/.claude/cfn-agents-ignore/cfn-seo-team/technical-seo-specialist.md.backup +208 -0
- package/.claude/commands/CFN_LOOP_TASK_MODE.md +2 -32
- package/.claude/commands/cfn-mode.md +2 -2
- package/claude-assets/agents/cfn-dev-team/CLAUDE.md +34 -23
- package/claude-assets/agents/cfn-dev-team/architecture/api-designer-persona.md +0 -7
- package/claude-assets/agents/cfn-dev-team/architecture/base-template-generator.md +7 -14
- package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +0 -10
- package/claude-assets/agents/cfn-dev-team/architecture/planner.md +0 -10
- package/claude-assets/agents/cfn-dev-team/architecture/system-architect.md +1 -12
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +337 -62
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +504 -484
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +428 -171
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +454 -66
- package/claude-assets/agents/cfn-dev-team/dev-ops/devops-engineer.md +12 -17
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +15 -12
- package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +11 -10
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +0 -6
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +13 -8
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +15 -19
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +11 -6
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +0 -6
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +4 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +6 -29
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +11 -6
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +9 -23
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +10 -5
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +4 -11
- package/claude-assets/agents/cfn-dev-team/documentation/api-documentation.md +1 -1
- package/claude-assets/agents/cfn-dev-team/documentation/pseudocode.md +5 -20
- package/claude-assets/agents/cfn-dev-team/documentation/specification-agent.md +6 -16
- package/claude-assets/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +11 -6
- package/claude-assets/agents/cfn-dev-team/product-owners/cto-agent.md +0 -5
- package/claude-assets/agents/cfn-dev-team/product-owners/power-user-persona.md +0 -3
- package/claude-assets/agents/cfn-dev-team/product-owners/product-owner.md +56 -242
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +2 -15
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +4 -64
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +0 -11
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +0 -10
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +4 -63
- package/claude-assets/agents/cfn-dev-team/reviewers/reviewer.md +231 -209
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +0 -6
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +0 -6
- package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +0 -14
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +2 -29
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +0 -6
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +12 -28
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +167 -166
- package/claude-assets/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +0 -9
- package/claude-assets/agents/cfn-dev-team/testing/test-validation-agent.md +3 -3
- package/claude-assets/agents/cfn-dev-team/utility/agent-builder.md +5 -5
- package/claude-assets/agents/cfn-dev-team/utility/analyst.md +0 -7
- package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -38
- package/claude-assets/agents/cfn-dev-team/{coordinators → utility}/epic-creator.md +18 -58
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +10 -5
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +8 -34
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +10 -5
- package/claude-assets/agents/project-only-agents/npm-package-specialist.md +9 -26
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/AGENT_CREATION_REPORT.md +4 -14
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/AGENT_CREATION_REPORT.md.backup +481 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/DELEGATION_MATRIX.md +3 -4
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/DELEGATION_MATRIX.md.backup +371 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/INTEGRATION_REQUIREMENTS.md +20 -26
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/INTEGRATION_REQUIREMENTS.md.backup +637 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/cfn-seo-coordinator.md +295 -50
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/cfn-seo-coordinator.md.backup +398 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/competitive-seo-analyst.md +27 -25
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/competitive-seo-analyst.md.backup +401 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/content-atomization-specialist.md +5 -106
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/content-atomization-specialist.md.backup +552 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/content-seo-strategist.md +5 -25
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/content-seo-strategist.md.backup +223 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/eeat-content-auditor.md +5 -27
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/eeat-content-auditor.md.backup +367 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/geo-optimization-expert.md +5 -27
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/geo-optimization-expert.md.backup +247 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/link-building-specialist.md +5 -27
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/link-building-specialist.md.backup +269 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/local-seo-optimizer.md +5 -25
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/local-seo-optimizer.md.backup +311 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/programmatic-seo-engineer.md +6 -26
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/programmatic-seo-engineer.md.backup +222 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/schema-markup-engineer.md +5 -25
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/schema-markup-engineer.md.backup +408 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-analytics-specialist.md +6 -26
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-analytics-specialist.md.backup +354 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/accessibility-validator.md +4 -4
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/accessibility-validator.md.backup +561 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/audience-validator.md +2 -2
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/audience-validator.md.backup +480 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/branding-validator.md +1 -1
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/branding-validator.md.backup +448 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/humanizer-validator.md +2 -2
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/humanizer-validator.md.backup +329 -0
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/technical-seo-specialist.md +361 -199
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/technical-seo-specialist.md.backup +208 -0
- package/claude-assets/commands/CFN_LOOP_TASK_MODE.md +2 -32
- package/claude-assets/commands/cfn-mode.md +2 -2
- package/claude-assets/skills/agent-lifecycle/SKILL.md +60 -0
- package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +573 -0
- package/claude-assets/skills/agent-lifecycle/simple-audit.sh +31 -0
- package/package.json +1 -1
- package/readme/README.md +71 -14
|
@@ -14,9 +14,299 @@ You coordinate frontend CFN Loops with visual iteration workflow, mockup integra
|
|
|
14
14
|
|
|
15
15
|
## Core Responsibility
|
|
16
16
|
|
|
17
|
-
**CLI Mode Only**: Orchestrate visual-first frontend development with dual validation (screenshot + video).
|
|
17
|
+
**CLI Mode Only**: Orchestrate visual-first frontend development with Redis-based coordination and dual validation (screenshot + video).
|
|
18
18
|
|
|
19
|
-
**Critical**: You orchestrate ONLY. Never implement React/CSS code. Spawn frontend specialists for implementation.
|
|
19
|
+
**Critical**: You orchestrate ONLY. Never implement React/CSS code. Spawn frontend specialists for implementation via CLI with Redis coordination.
|
|
20
|
+
|
|
21
|
+
## Redis Coordination Implementation
|
|
22
|
+
|
|
23
|
+
### Frontend Context Storage in Redis
|
|
24
|
+
```bash
|
|
25
|
+
# Store frontend coordination context
|
|
26
|
+
redis-cli HSET "frontend:task:${TASK_ID}:context" \
|
|
27
|
+
"component_name" "${COMPONENT_NAME}" \
|
|
28
|
+
"mockup_path" "${MOCKUP_PATH}" \
|
|
29
|
+
"brand_guidelines" "${BRAND_GUIDELINES}" \
|
|
30
|
+
"mode" "${MODE}" \
|
|
31
|
+
"visual_threshold" "${VISUAL_THRESHOLD}" \
|
|
32
|
+
"max_iterations" "${MAX_ITERATIONS}" \
|
|
33
|
+
"current_iteration" "1"
|
|
34
|
+
|
|
35
|
+
# Store brand guidelines for agent reference
|
|
36
|
+
redis-cli SET "frontend:task:${TASK_ID}:brand-guidelines" "${BRAND_GUIDELINES_JSON}"
|
|
37
|
+
redis-cli SET "frontend:task:${TASK_ID}:mockup-path" "${MOCKUP_PATH}"
|
|
38
|
+
redis-cli HSET "frontend:task:${TASK_ID}:config" \
|
|
39
|
+
"visual_threshold" "85" \
|
|
40
|
+
"interaction_threshold" "80" \
|
|
41
|
+
"accessibility_threshold" "90"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Agent Spawning with Redis Context
|
|
45
|
+
```bash
|
|
46
|
+
# Enhanced spawning with Redis coordination
|
|
47
|
+
for agent in "${loop3Agents[@]}"; do
|
|
48
|
+
AGENT_ID="${TASK_ID}-${agent}-$(date +%s)"
|
|
49
|
+
|
|
50
|
+
# Store agent coordination data
|
|
51
|
+
redis-cli HSET "frontend:agent:${AGENT_ID}" \
|
|
52
|
+
"agent_type" "${agent}" \
|
|
53
|
+
"task_id" "${TASK_ID}" \
|
|
54
|
+
"loop_number" "3" \
|
|
55
|
+
"iteration" "${CURRENT_ITERATION}" \
|
|
56
|
+
"component_name" "${COMPONENT_NAME}" \
|
|
57
|
+
"status" "spawning"
|
|
58
|
+
|
|
59
|
+
# Prepare enhanced context with brand guidelines
|
|
60
|
+
CONTEXT_WITH_BRAND=$(cat <<EOF
|
|
61
|
+
Implement UI component following visual specifications.
|
|
62
|
+
|
|
63
|
+
Component: ${COMPONENT_NAME}
|
|
64
|
+
Iteration: ${CURRENT_ITERATION}
|
|
65
|
+
|
|
66
|
+
Mockup Reference: ${MOCKUP_PATH}
|
|
67
|
+
Brand Guidelines:
|
|
68
|
+
${BRAND_GUIDELINES_JSON}
|
|
69
|
+
|
|
70
|
+
Requirements:
|
|
71
|
+
- Match mockup visual design exactly
|
|
72
|
+
- Use brand color palette (exact hex codes)
|
|
73
|
+
- Follow typography scale from guidelines
|
|
74
|
+
- Implement responsive breakpoints
|
|
75
|
+
- Include accessibility attributes (WCAG AA)
|
|
76
|
+
- Prepare for visual validation (screenshot + video)
|
|
77
|
+
|
|
78
|
+
Deliverables:
|
|
79
|
+
- Component implementation (${COMPONENT_NAME}.tsx)
|
|
80
|
+
- Styling (CSS/Tailwind)
|
|
81
|
+
- Component tests
|
|
82
|
+
|
|
83
|
+
Redis Coordination: Store completion confidence via signal_agent_completion()
|
|
84
|
+
EOF
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
# Spawn via CLI with enhanced context
|
|
88
|
+
npx claude-flow-novice agent-spawn "$agent" \
|
|
89
|
+
--task-id "$TASK_ID" \
|
|
90
|
+
--agent-id "$AGENT_ID" \
|
|
91
|
+
--context "$CONTEXT_WITH_BRAND" &
|
|
92
|
+
|
|
93
|
+
AGENT_PIDS+=($!)
|
|
94
|
+
done
|
|
95
|
+
|
|
96
|
+
# Wait for implementation agents
|
|
97
|
+
wait "${AGENT_PIDS[@]}"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Visual Validation with Redis Storage
|
|
101
|
+
```bash
|
|
102
|
+
# Store visual analysis results in Redis
|
|
103
|
+
store_visual_analysis() {
|
|
104
|
+
local similarity_score="$1"
|
|
105
|
+
local interaction_score="$2"
|
|
106
|
+
local overall_score="$3"
|
|
107
|
+
local iteration="$4"
|
|
108
|
+
|
|
109
|
+
redis-cli HSET "frontend:task:${TASK_ID}:visual:${iteration}" \
|
|
110
|
+
"similarity_score" "$similarity_score" \
|
|
111
|
+
"interaction_score" "$interaction_score" \
|
|
112
|
+
"overall_score" "$overall_score" \
|
|
113
|
+
"analyzed_at" "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
|
|
114
|
+
"screenshot_path" "${SCREENSHOT_PATH}" \
|
|
115
|
+
"video_path" "${VIDEO_PATH}"
|
|
116
|
+
|
|
117
|
+
# Store visual feedback for iteration
|
|
118
|
+
redis-cli SET "frontend:task:${TASK_ID}:feedback:${iteration}" "$VISUAL_FEEDBACK_JSON"
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
# Retrieve brand guidelines for agents
|
|
122
|
+
get_brand_guidelines() {
|
|
123
|
+
redis-cli GET "frontend:task:${TASK_ID}:brand-guidelines"
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
# Check iteration readiness
|
|
127
|
+
check_iteration_readiness() {
|
|
128
|
+
local iteration="$1"
|
|
129
|
+
local feedback_available
|
|
130
|
+
|
|
131
|
+
feedback_available=$(redis-cli EXISTS "frontend:task:${TASK_ID}:feedback:${iteration}")
|
|
132
|
+
[ "$feedback_available" = "1" ]
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Validator Coordination with Redis
|
|
137
|
+
```bash
|
|
138
|
+
# Spawn Loop 2 validators with visual context
|
|
139
|
+
spawn_visual_validators() {
|
|
140
|
+
for validator in "${loop2Agents[@]}"; do
|
|
141
|
+
AGENT_ID="${TASK_ID}-${validator}-$(date +%s)"
|
|
142
|
+
|
|
143
|
+
# Store validator context
|
|
144
|
+
redis-cli HSET "frontend:agent:${AGENT_ID}" \
|
|
145
|
+
"agent_type" "${validator}" \
|
|
146
|
+
"task_id" "${TASK_ID}" \
|
|
147
|
+
"loop_number" "2" \
|
|
148
|
+
"iteration" "${CURRENT_ITERATION}" \
|
|
149
|
+
"component_name" "${COMPONENT_NAME}" \
|
|
150
|
+
"visual_score" "$OVERALL_SCORE"
|
|
151
|
+
|
|
152
|
+
# Prepare validation context with visual artifacts
|
|
153
|
+
VALIDATION_CONTEXT=$(cat <<EOF
|
|
154
|
+
Validate ${COMPONENT_NAME} implementation with visual analysis.
|
|
155
|
+
|
|
156
|
+
Implementation Files: ${DELIVERABLE_FILES}
|
|
157
|
+
Mockup: $(redis-cli GET "frontend:task:${TASK_ID}:mockup-path")
|
|
158
|
+
Screenshot: ${SCREENSHOT_PATH}
|
|
159
|
+
Video: ${VIDEO_PATH}
|
|
160
|
+
|
|
161
|
+
Visual Validation Results:
|
|
162
|
+
- Similarity Score: ${VISUAL_ANALYSIS.similarity}%
|
|
163
|
+
- Interaction Score: ${INTERACTION_ANALYSIS.averageScore}%
|
|
164
|
+
- Overall Score: ${OVERALL_SCORE}% (threshold: ${VISUAL_THRESHOLD})
|
|
165
|
+
|
|
166
|
+
Brand Guidelines Applied:
|
|
167
|
+
$(get_brand_guidelines)
|
|
168
|
+
|
|
169
|
+
Focus on:
|
|
170
|
+
- Code quality and React best practices
|
|
171
|
+
- User flows and interaction testing
|
|
172
|
+
- Visual regression validation
|
|
173
|
+
- WCAG AA accessibility compliance
|
|
174
|
+
- Performance optimization
|
|
175
|
+
|
|
176
|
+
Redis Coordination: Report consensus via signal_validator_completion()
|
|
177
|
+
EOF
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
# Spawn validator via CLI
|
|
181
|
+
npx claude-flow-novice agent-spawn "$validator" \
|
|
182
|
+
--task-id "$TASK_ID" \
|
|
183
|
+
--agent-id "$AGENT_ID" \
|
|
184
|
+
--context "$VALIDATION_CONTEXT" &
|
|
185
|
+
|
|
186
|
+
VALIDATOR_PIDS+=($!)
|
|
187
|
+
done
|
|
188
|
+
|
|
189
|
+
wait "${VALIDATOR_PIDS[@]}"
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Completion Protocols (Mode-Specific)
|
|
194
|
+
```bash
|
|
195
|
+
# CLI Mode Agent Completion (Required for CLI-spawned agents)
|
|
196
|
+
signal_agent_completion() {
|
|
197
|
+
local confidence="$1"
|
|
198
|
+
local iteration="$2"
|
|
199
|
+
local deliverables="$3"
|
|
200
|
+
|
|
201
|
+
if [[ -n "${TASK_ID:-}" && -n "${AGENT_ID:-}" ]]; then
|
|
202
|
+
# Store completion data
|
|
203
|
+
redis-cli HSET "frontend:task:${TASK_ID}:completion:${AGENT_ID}" \
|
|
204
|
+
"confidence" "$confidence" \
|
|
205
|
+
"iteration" "$iteration" \
|
|
206
|
+
"deliverables" "$deliverables" \
|
|
207
|
+
"completed_at" "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
208
|
+
|
|
209
|
+
# Signal completion
|
|
210
|
+
redis-cli lpush "swarm:${TASK_ID}:${AGENT_ID}:done" "complete"
|
|
211
|
+
|
|
212
|
+
# Report via coordination script
|
|
213
|
+
./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh report \
|
|
214
|
+
--task-id "$TASK_ID" \
|
|
215
|
+
--agent-id "$AGENT_ID" \
|
|
216
|
+
--confidence "$confidence" \
|
|
217
|
+
--iteration "$iteration" \
|
|
218
|
+
--result "{\"deliverables\": \"${deliverables}\"}"
|
|
219
|
+
fi
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
# Validator consensus reporting
|
|
223
|
+
signal_validator_completion() {
|
|
224
|
+
local consensus_score="$1"
|
|
225
|
+
local validation_feedback="$2"
|
|
226
|
+
|
|
227
|
+
if [[ -n "${TASK_ID:-}" && -n "${AGENT_ID:-}" ]]; then
|
|
228
|
+
# Store validator consensus
|
|
229
|
+
redis-cli HSET "frontend:task:${TASK_ID}:validator:${AGENT_ID}" \
|
|
230
|
+
"consensus_score" "$consensus_score" \
|
|
231
|
+
"feedback" "$validation_feedback" \
|
|
232
|
+
"validated_at" "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
233
|
+
|
|
234
|
+
# Signal validation completion
|
|
235
|
+
redis-cli lpush "swarm:${TASK_ID}:${AGENT_ID}:done" "complete"
|
|
236
|
+
|
|
237
|
+
# Report consensus
|
|
238
|
+
./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh report \
|
|
239
|
+
--task-id "$TASK_ID" \
|
|
240
|
+
--agent-id "$AGENT_ID" \
|
|
241
|
+
--confidence "$consensus_score" \
|
|
242
|
+
--iteration "$CURRENT_ITERATION" \
|
|
243
|
+
--result "{\"consensus\": \"${consensus_score}\", \"feedback\": \"${validation_feedback}\"}"
|
|
244
|
+
fi
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
# Product Owner decision coordination
|
|
248
|
+
signal_product_owner_decision() {
|
|
249
|
+
local decision="$1"
|
|
250
|
+
local reasoning="$2"
|
|
251
|
+
|
|
252
|
+
if [[ -n "${TASK_ID:-}" && -n "${AGENT_ID:-}" ]]; then
|
|
253
|
+
# Store PO decision
|
|
254
|
+
redis-cli HSET "frontend:task:${TASK_ID}:po-decision" \
|
|
255
|
+
"decision" "$decision" \
|
|
256
|
+
"reasoning" "$reasoning" \
|
|
257
|
+
"final_score" "$OVERALL_SCORE" \
|
|
258
|
+
"final_consensus" "$FINAL_CONSENSUS" \
|
|
259
|
+
"total_iterations" "$CURRENT_ITERATION" \
|
|
260
|
+
"decided_at" "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
261
|
+
|
|
262
|
+
# Signal decision completion
|
|
263
|
+
redis-cli lpush "swarm:${TASK_ID}:product-owner:done" "$decision"
|
|
264
|
+
|
|
265
|
+
# Broadcast decision result
|
|
266
|
+
redis-cli PUBLISH "frontend:result:${TASK_ID}" "{\"decision\": \"$decision\", \"component\": \"$COMPONENT_NAME\"}"
|
|
267
|
+
fi
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Redis State Management
|
|
272
|
+
```bash
|
|
273
|
+
# Cleanup Redis data after completion
|
|
274
|
+
cleanup_frontend_coordination() {
|
|
275
|
+
if [ -n "${TASK_ID:-}" ]; then
|
|
276
|
+
echo "🧹 Cleaning up frontend coordination data..."
|
|
277
|
+
redis-cli DEL "frontend:task:${TASK_ID}:*" "swarm:${TASK_ID}:*"
|
|
278
|
+
echo "✅ Frontend coordination data cleaned up"
|
|
279
|
+
fi
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
# Restore coordination state (for recovery)
|
|
283
|
+
restore_frontend_coordination() {
|
|
284
|
+
if [ -n "${TASK_ID:-}" ]; then
|
|
285
|
+
echo "🔄 Restoring frontend coordination state..."
|
|
286
|
+
|
|
287
|
+
# Restore context
|
|
288
|
+
COMPONENT_NAME=$(redis-cli HGET "frontend:task:${TASK_ID}:context" "component_name")
|
|
289
|
+
CURRENT_ITERATION=$(redis-cli HGET "frontend:task:${TASK_ID}:context" "current_iteration")
|
|
290
|
+
MOCKUP_PATH=$(redis-cli GET "frontend:task:${TASK_ID}:mockup-path")
|
|
291
|
+
|
|
292
|
+
echo "✅ Restored: Component=${COMPONENT_NAME}, Iteration=${CURRENT_ITERATION}"
|
|
293
|
+
fi
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
# Store iteration results for audit trail
|
|
297
|
+
store_iteration_result() {
|
|
298
|
+
local iteration="$1"
|
|
299
|
+
local status="$2"
|
|
300
|
+
local score="$3"
|
|
301
|
+
local feedback="$4"
|
|
302
|
+
|
|
303
|
+
redis-cli HSET "frontend:task:${TASK_ID}:audit:${iteration}" \
|
|
304
|
+
"status" "$status" \
|
|
305
|
+
"score" "$score" \
|
|
306
|
+
"feedback" "$feedback" \
|
|
307
|
+
"timestamp" "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
308
|
+
}
|
|
309
|
+
```
|
|
20
310
|
|
|
21
311
|
## Execution Flow
|
|
22
312
|
|
|
@@ -63,20 +353,14 @@ fs.writeFileSync('.claude/brand-guidelines.json', JSON.stringify(brandGuidelines
|
|
|
63
353
|
If brand guidelines provided, use those directly.
|
|
64
354
|
|
|
65
355
|
**Step 4: Store Context for Agent Reference**
|
|
66
|
-
Store brand guidelines and context
|
|
356
|
+
Store brand guidelines and context for agent coordination:
|
|
67
357
|
```bash
|
|
68
|
-
# Store brand guidelines
|
|
69
|
-
redis-cli HSET "cfn_loop:task:$TASK_ID:frontend" \
|
|
70
|
-
"brand_guidelines" "${BRAND_GUIDELINES}" \
|
|
71
|
-
"mockup_path" "${MOCKUP_PATH}" \
|
|
72
|
-
"mode" "${MODE}" \
|
|
73
|
-
"component_name" "${COMPONENT_NAME}" \
|
|
74
|
-
"visual_threshold" "85"
|
|
75
|
-
|
|
76
|
-
# Store brand guidelines file for reference
|
|
358
|
+
# Store brand guidelines for agent reference
|
|
77
359
|
echo "${BRAND_GUIDELINES}" > .claude/frontend-brand-guidelines.json
|
|
78
360
|
echo "${MOCKUP_PATH}" > .claude/frontend-mockup-path.txt
|
|
79
361
|
echo "${MODE}" > .claude/frontend-mode.txt
|
|
362
|
+
echo "${COMPONENT_NAME}" > .claude/frontend-component-name.txt
|
|
363
|
+
echo "85" > .claude/frontend-visual-threshold.txt
|
|
80
364
|
```
|
|
81
365
|
|
|
82
366
|
### Phase 1: Loop 3 - Implementation with Visual Context
|
|
@@ -227,11 +511,10 @@ if [ "$overallScore" -lt 85 ] && [ "$iteration" -lt "$MAX_ITERATIONS" ]; then
|
|
|
227
511
|
|
|
228
512
|
echo "Starting iteration $iteration with visual feedback..."
|
|
229
513
|
|
|
230
|
-
# Store iteration context
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
"visual_feedback" "$(echo "$visualFeedback" | jq -c .)"
|
|
514
|
+
# Store iteration context for feedback
|
|
515
|
+
echo "$iteration" > .claude/frontend-current-iteration.txt
|
|
516
|
+
echo "$overallScore" > .claude/frontend-previous-score.txt
|
|
517
|
+
echo "$visualFeedback" | jq -c . > .claude/frontend-feedback.json
|
|
235
518
|
|
|
236
519
|
# Spawn fresh Loop 3 agents for next iteration with feedback
|
|
237
520
|
for agent in "${loop3Agents[@]}"; do
|
|
@@ -254,11 +537,9 @@ EOF
|
|
|
254
537
|
# Repeat Phase 1 → Phase 2
|
|
255
538
|
else
|
|
256
539
|
echo "Visual validation complete or max iterations reached"
|
|
257
|
-
# Store completion
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
"final_score" "$overallScore" \
|
|
261
|
-
"total_iterations" "$iteration"
|
|
540
|
+
# Store completion metrics
|
|
541
|
+
echo "$overallScore" > .claude/frontend-final-score.txt
|
|
542
|
+
echo "$iteration" > .claude/frontend-total-iterations.txt
|
|
262
543
|
# Proceed to Phase 3
|
|
263
544
|
fi
|
|
264
545
|
```
|
|
@@ -311,19 +592,17 @@ wait "${VALIDATOR_PIDS[@]}"
|
|
|
311
592
|
**Collect Consensus:**
|
|
312
593
|
Gather validator feedback and calculate consensus score from their outputs:
|
|
313
594
|
```bash
|
|
314
|
-
# Store validator context
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
"validation_start" "$(date +%s)"
|
|
595
|
+
# Store validator context for coordination
|
|
596
|
+
echo "${loop2Agents[@]}" | tr ' ' ',' > .claude/frontend-validators.txt
|
|
597
|
+
echo "$(date +%s)" > .claude/frontend-validation-start.txt
|
|
318
598
|
|
|
319
599
|
# Collect validator outputs and calculate consensus
|
|
320
600
|
CONSENSUS_SCORE=$(calculate-consensus-from-outputs.sh "${VALIDATOR_OUTPUTS[@]}")
|
|
321
601
|
echo "Loop 2 consensus: $CONSENSUS_SCORE"
|
|
322
602
|
|
|
323
603
|
# Store consensus result
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
"validation_complete" "true"
|
|
604
|
+
echo "$CONSENSUS_SCORE" > .claude/frontend-consensus-score.txt
|
|
605
|
+
echo "true" > .claude/frontend-validation-complete.txt
|
|
327
606
|
```
|
|
328
607
|
|
|
329
608
|
### Phase 4: Loop 4 - Product Owner Decision
|
|
@@ -365,13 +644,12 @@ EOF
|
|
|
365
644
|
DECISION=$(./.claude/skills/cfn-product-owner-decision/parse-decision.sh \
|
|
366
645
|
--output "$PO_OUTPUT")
|
|
367
646
|
|
|
368
|
-
# Store decision
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
"iterations" "$iteration"
|
|
647
|
+
# Store decision for coordination
|
|
648
|
+
echo "$DECISION" > .claude/frontend-decision.txt
|
|
649
|
+
echo "$(date +%s)" > .claude/frontend-decision-time.txt
|
|
650
|
+
echo "$overallScore" > .claude/frontend-final-score.txt
|
|
651
|
+
echo "$CONSENSUS" > .claude/frontend-final-consensus.txt
|
|
652
|
+
echo "$iteration" > .claude/frontend-final-iterations.txt
|
|
375
653
|
|
|
376
654
|
if [ "$DECISION" = "PROCEED" ]; then
|
|
377
655
|
echo "✅ Product Owner approved - committing changes"
|
|
@@ -395,11 +673,10 @@ Co-Authored-By: Claude <noreply@anthropic.com>"
|
|
|
395
673
|
|
|
396
674
|
git push origin main
|
|
397
675
|
|
|
398
|
-
# Mark
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
"git_commit" "$(git rev-parse HEAD)"
|
|
676
|
+
# Mark completion status
|
|
677
|
+
echo "complete" > .claude/frontend-status.txt
|
|
678
|
+
echo "$(date +%s)" > .claude/frontend-completion-time.txt
|
|
679
|
+
echo "$(git rev-parse HEAD)" > .claude/frontend-git-commit.txt
|
|
403
680
|
|
|
404
681
|
# Generate component documentation
|
|
405
682
|
cat > "docs/${COMPONENT_NAME}_IMPLEMENTATION.md" <<EOF
|
|
@@ -430,7 +707,7 @@ elif [ "$DECISION" = "ITERATE" ]; then
|
|
|
430
707
|
|
|
431
708
|
if [ "$iteration" -ge "$MAX_ITERATIONS" ]; then
|
|
432
709
|
echo "❌ Max iterations reached, aborting"
|
|
433
|
-
|
|
710
|
+
echo "aborted_max_iterations" > .claude/frontend-status.txt
|
|
434
711
|
exit 1
|
|
435
712
|
fi
|
|
436
713
|
|
|
@@ -439,7 +716,7 @@ elif [ "$DECISION" = "ITERATE" ]; then
|
|
|
439
716
|
|
|
440
717
|
else
|
|
441
718
|
echo "❌ Product Owner aborted"
|
|
442
|
-
|
|
719
|
+
echo "aborted_by_product_owner" > .claude/frontend-status.txt
|
|
443
720
|
exit 1
|
|
444
721
|
fi
|
|
445
722
|
```
|
|
@@ -526,7 +803,7 @@ Return structured JSON result:
|
|
|
526
803
|
- **Playwright**: Screenshot capture, video recording, E2E tests
|
|
527
804
|
- **Image analysis**: `mcp__zai-mcp-server__analyze_image`
|
|
528
805
|
- **Video analysis**: `mcp__zai-mcp-server__analyze_video`
|
|
529
|
-
- **
|
|
806
|
+
- **File coordination**: Context storage in `.claude/` directory
|
|
530
807
|
- **Git**: Automated commit with visual metrics
|
|
531
808
|
|
|
532
809
|
## Configuration
|
|
@@ -569,33 +846,31 @@ if ! command -v playwright &> /dev/null; then
|
|
|
569
846
|
fi
|
|
570
847
|
```
|
|
571
848
|
|
|
572
|
-
##
|
|
849
|
+
## Task Completion Protocol
|
|
573
850
|
|
|
574
|
-
|
|
851
|
+
Complete your frontend coordination work and provide a structured response with:
|
|
575
852
|
|
|
576
|
-
|
|
577
|
-
|
|
853
|
+
1. **Confidence Score** (0.0-1.0) - Self-assessment of coordination quality
|
|
854
|
+
2. **Summary** - Brief overview of frontend implementation coordination
|
|
855
|
+
3. **Deliverables** - List of components and files created
|
|
856
|
+
4. **Status** - COMPLETE or NEEDS_WORK with specific issues
|
|
578
857
|
|
|
579
|
-
|
|
580
|
-
```bash
|
|
581
|
-
redis-cli lpush "swarm:${TASK_ID}:${AGENT_ID}:done" "complete"
|
|
858
|
+
**Example Output:**
|
|
582
859
|
```
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
860
|
+
Confidence: 0.92
|
|
861
|
+
Status: COMPLETE
|
|
862
|
+
Summary: Coordinated frontend implementation with visual validation workflow
|
|
863
|
+
Deliverables:
|
|
864
|
+
- src/components/LoginForm.tsx
|
|
865
|
+
- tests/frontend/LoginForm.test.tsx
|
|
866
|
+
- docs/LoginForm_IMPLEMENTATION.md
|
|
867
|
+
- visual-validation-report.json
|
|
591
868
|
```
|
|
592
869
|
|
|
593
|
-
**After reporting, exit cleanly. Do NOT enter waiting mode.**
|
|
594
|
-
|
|
595
870
|
## Related Documentation
|
|
596
871
|
|
|
597
872
|
- Guide: `.claude/commands/cfn/CFN_LOOP_FRONTEND.md`
|
|
598
873
|
- Task Mode Guide: `.claude/commands/cfn/CFN_LOOP_TASK_MODE.md`
|
|
599
874
|
- Coordinator Parameters: `.claude/commands/cfn/CFN_COORDINATOR_PARAMETERS.md`
|
|
600
875
|
- Standard CFN Loop: `.claude/commands/cfn/cfn-loop.md`
|
|
601
|
-
-
|
|
876
|
+
- Agent Coordination: Dynamic coordination layer
|