claude-flow-novice 2.9.1 → 2.10.1
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/agents/cfn-dev-team/CLAUDE.md +1086 -0
- package/.claude/agents/cfn-dev-team/README.md +116 -0
- package/.claude/agents/cfn-dev-team/architecture/api-designer-persona.md +149 -0
- package/.claude/agents/cfn-dev-team/architecture/base-template-generator.md +196 -0
- package/.claude/agents/cfn-dev-team/architecture/goal-planner.md +183 -0
- package/.claude/agents/cfn-dev-team/architecture/planner.md +182 -0
- package/.claude/agents/cfn-dev-team/architecture/system-architect.md +162 -0
- package/.claude/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +540 -0
- package/.claude/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +20 -14
- package/.claude/agents/cfn-dev-team/coordinators/consensus-builder.md +167 -0
- package/.claude/agents/cfn-dev-team/dev-ops/devops-engineer.md +148 -0
- package/.claude/agents/cfn-dev-team/dev-ops/github-commit-agent.md +118 -0
- package/.claude/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +540 -0
- package/.claude/agents/cfn-dev-team/developers/backend-dev.md +20 -0
- package/.claude/agents/cfn-dev-team/developers/data/data-engineer.md +585 -0
- package/.claude/agents/cfn-dev-team/developers/database/database-architect.md +276 -0
- package/.claude/agents/cfn-dev-team/developers/dev-backend-api.md +147 -0
- package/.claude/agents/cfn-dev-team/developers/frontend/mobile-dev.md +218 -0
- package/.claude/agents/cfn-dev-team/developers/{react-frontend-engineer.md → frontend/react-frontend-engineer.md} +53 -5
- package/.claude/agents/cfn-dev-team/developers/frontend/spec-mobile-react-native.md +199 -0
- package/.claude/agents/cfn-dev-team/developers/graphql-specialist.md +615 -0
- package/.claude/agents/cfn-dev-team/developers/rust-developer.md +174 -0
- package/.claude/agents/cfn-dev-team/documentation/README-VALIDATION.md +243 -0
- package/.claude/agents/cfn-dev-team/documentation/agent-type-guidelines.md +465 -0
- package/.claude/agents/cfn-dev-team/documentation/api-docs.md +103 -0
- package/.claude/agents/cfn-dev-team/documentation/docs-api-openapi.md +98 -0
- package/.claude/agents/cfn-dev-team/documentation/pseudocode.md +159 -0
- package/.claude/agents/cfn-dev-team/documentation/specification.md +157 -0
- package/.claude/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +109 -0
- package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/cto-agent.md +8 -6
- package/.claude/agents/cfn-dev-team/product-owners/power-user-persona.md +190 -0
- package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner.md +85 -59
- package/.claude/agents/cfn-dev-team/reviewers/quality/analyze-code-quality.md +141 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/code-analyzer.md +200 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +321 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +238 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +101 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +375 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/security-specialist.md +193 -0
- package/.claude/agents/cfn-dev-team/reviewers/reviewer.md +39 -0
- package/.claude/agents/cfn-dev-team/testers/interaction-tester.md +31 -0
- package/.claude/agents/cfn-dev-team/testers/load-testing-specialist.md +469 -0
- package/.claude/agents/cfn-dev-team/testers/playwright-tester.md +24 -0
- package/.claude/agents/cfn-dev-team/testers/tester.md +20 -0
- package/.claude/agents/cfn-dev-team/utility/agent-builder.md +151 -0
- package/.claude/agents/cfn-dev-team/utility/analyst.md +178 -0
- package/.claude/agents/cfn-dev-team/utility/claude-code-expert.md +1043 -0
- package/.claude/agents/cfn-dev-team/utility/code-booster.md +139 -0
- package/.claude/agents/cfn-dev-team/utility/context-curator.md +99 -0
- package/.claude/agents/cfn-dev-team/{developers → utility}/researcher.md +6 -4
- package/.claude/commands/cfn/CFN_LOOP_FRONTEND.md +741 -0
- package/.claude/commands/cfn/CFN_LOOP_TASK_MODE.md +353 -0
- package/.claude/commands/cfn/cfn-loop-frontend.md +555 -0
- package/.claude/commands/cfn/cfn-loop.md +168 -7
- package/{CFN-CLAUDE.md → .claude/root-claude-distribute/CFN-CLAUDE.md} +23 -3
- package/.claude/skills/cfn-ace-system/SKILL.md +364 -0
- package/.claude/skills/cfn-ace-system/add-bullet.sh +145 -0
- package/.claude/skills/cfn-ace-system/analyze-anti-pattern-effectiveness.sh +56 -0
- package/.claude/skills/cfn-ace-system/classify-task.sh +18 -0
- package/.claude/skills/cfn-ace-system/export-ace-metrics.sh +48 -0
- package/.claude/skills/cfn-ace-system/extract-tags.sh +385 -0
- package/.claude/skills/cfn-ace-system/format-negative-context.sh +180 -0
- package/.claude/skills/cfn-ace-system/init-indexes.sql +160 -0
- package/.claude/skills/cfn-ace-system/invoke-context-curate.sh +192 -0
- package/.claude/skills/cfn-ace-system/invoke-context-inject.sh +361 -0
- package/.claude/skills/cfn-ace-system/invoke-context-query.sh +139 -0
- package/.claude/skills/cfn-ace-system/invoke-context-reflect.sh +343 -0
- package/.claude/skills/cfn-ace-system/invoke-context-stats.sh +227 -0
- package/.claude/skills/cfn-ace-system/log-merge.sh +67 -0
- package/.claude/skills/cfn-ace-system/monitor-injection-performance.sh +138 -0
- package/.claude/skills/cfn-ace-system/optimize-injection-pipeline.sh +169 -0
- package/.claude/skills/cfn-ace-system/query-anti-patterns.sh +276 -0
- package/.claude/skills/cfn-ace-system/query-contexts.sh +150 -0
- package/.claude/skills/cfn-ace-system/query-reflections.sh +35 -0
- package/.claude/skills/cfn-ace-system/schema/001-create-context-reflections.sql +237 -0
- package/.claude/skills/cfn-ace-system/schema/README.md +723 -0
- package/.claude/skills/cfn-ace-system/schema/SCHEMA_DESIGN_SUMMARY.md +564 -0
- package/.claude/skills/cfn-ace-system/schema/populate-test-data-simple.sh +62 -0
- package/.claude/skills/cfn-ace-system/schema/populate-test-data.sh +247 -0
- package/.claude/skills/cfn-ace-system/schema/run-migration.sh +231 -0
- package/.claude/skills/cfn-ace-system/schema/validate-schema.sql +280 -0
- package/.claude/skills/cfn-ace-system/score-relevance-adapter.sh +138 -0
- package/.claude/skills/cfn-ace-system/score-relevance.sh +253 -0
- package/.claude/skills/cfn-ace-system/sprint-7-lessons.json +46 -0
- package/.claude/skills/cfn-ace-system/store-reflection.sh +46 -0
- package/.claude/skills/cfn-ace-system/test-ace-skill.sh +312 -0
- package/.claude/skills/cfn-ace-system/track-ab-test.sh +42 -0
- package/.claude/skills/cfn-ace-system/update-reflection.sh +41 -0
- package/.claude/skills/cfn-agent-discovery/SKILL.md +40 -0
- package/.claude/skills/cfn-agent-discovery/agents-registry-clean.json +0 -0
- package/.claude/skills/cfn-agent-discovery/agents-registry-fixed.json +19 -0
- package/.claude/skills/cfn-agent-discovery/agents-registry.json +718 -0
- package/.claude/skills/cfn-agent-discovery/discover-agents.py +184 -0
- package/.claude/skills/cfn-agent-discovery/discover-agents.sh +87 -0
- package/.claude/skills/cfn-agent-discovery/invoke-registry.sh +11 -0
- package/.claude/skills/cfn-agent-discovery/temp_script.py +0 -0
- package/.claude/skills/cfn-agent-execution/execute-agent.sh +126 -0
- package/.claude/skills/cfn-agent-output-processing/SKILL.md +359 -0
- package/.claude/skills/cfn-agent-selector/SKILL.md +90 -0
- package/.claude/skills/cfn-agent-selector/select-agents.sh +112 -0
- package/.claude/skills/cfn-agent-spawning/SKILL.md +135 -0
- package/.claude/skills/cfn-agent-spawning/agent-selection-guide.md +814 -0
- package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +30 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +263 -0
- package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +613 -0
- package/.claude/skills/cfn-analytics/description-refinement-guide.md +164 -0
- package/.claude/skills/cfn-analytics/log-skill-invocation.js +122 -0
- package/.claude/skills/cfn-analytics/run-production-criteria-tests.sh +126 -0
- package/.claude/skills/cfn-analytics/skill-analytics-dashboard.js +113 -0
- package/.claude/skills/cfn-analytics/skill-invocation-hook.sh +28 -0
- package/.claude/skills/cfn-analytics/skill-invocations.sql +58 -0
- package/.claude/skills/cfn-analytics/test-corpus.json +32 -0
- package/.claude/skills/cfn-analytics/test-data-generator.js +115 -0
- package/.claude/skills/cfn-analytics/test-manual-override-rate.js +285 -0
- package/.claude/skills/cfn-analytics/validate-skill-selection.js +188 -0
- package/.claude/skills/cfn-config-management/SKILL.md +34 -0
- package/.claude/skills/cfn-config-management/check-dependencies.sh +56 -0
- package/.claude/skills/cfn-config-management/config.json +32 -0
- package/.claude/skills/cfn-config-management/manage-config.sh +113 -0
- package/.claude/skills/cfn-event-bus/SKILL.md +412 -0
- package/.claude/skills/cfn-event-bus/config.json +111 -0
- package/.claude/skills/cfn-event-bus/eventbus-wrapper.cjs +69 -0
- package/.claude/skills/cfn-event-bus/invoke-event-publish.sh +147 -0
- package/.claude/skills/cfn-event-bus/invoke-event-subscribe.sh +171 -0
- package/.claude/skills/cfn-event-bus/invoke-lifecycle-track.sh +201 -0
- package/.claude/skills/cfn-event-bus/test-event-bus.sh +280 -0
- package/.claude/skills/cfn-fleet-manager/SKILL.md +412 -0
- package/.claude/skills/cfn-fleet-manager/config.json +60 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-allocate.sh +182 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-balance.sh +239 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-metrics.sh +193 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-register.sh +124 -0
- package/.claude/skills/cfn-fleet-manager/test-fleet-manager.sh +345 -0
- package/.claude/skills/cfn-hook-pipeline/SKILL.md +148 -0
- package/.claude/skills/cfn-hook-pipeline/auto-resolve.sh +66 -0
- package/.claude/skills/cfn-hook-pipeline/check-dependencies.sh +40 -0
- package/.claude/skills/cfn-hook-pipeline/feedback-resolver.sh +452 -0
- package/.claude/skills/cfn-hook-pipeline/post-edit-handler.sh +154 -0
- package/.claude/skills/cfn-hook-pipeline/security-scan.json +60 -0
- package/.claude/skills/cfn-hook-pipeline/security-scanner.sh +121 -0
- package/.claude/skills/cfn-hook-pipeline/test-root-warning-resolution.sh +148 -0
- package/.claude/skills/cfn-hybrid-routing/SKILL.md +46 -0
- package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +52 -0
- package/.claude/skills/cfn-hybrid-routing/config.json +26 -0
- package/.claude/skills/cfn-hybrid-routing/spawn-worker.sh +44 -0
- package/.claude/skills/cfn-loop-orchestration/SKILL.md +299 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +142 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +359 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +271 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
- package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
- package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +884 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +840 -0
- package/.claude/skills/cfn-loop-orchestration/security_utils.sh +99 -0
- package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
- package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
- package/.claude/skills/cfn-loop-validation/SKILL.md +353 -0
- package/.claude/skills/cfn-loop-validation/check-dependencies.sh +31 -0
- package/.claude/skills/cfn-loop-validation/config.json +161 -0
- package/.claude/skills/cfn-loop-validation/consensus-calculator.js +477 -0
- package/.claude/skills/cfn-loop-validation/evidence-chain.sql +163 -0
- package/.claude/skills/cfn-loop-validation/examples/README.md +453 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-full-cfn-loop.sh +234 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-loop2-consensus.sh +132 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-loop3-gate.sh +115 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-redis-integration.sh +186 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -0
- package/.claude/skills/cfn-loop-validation/validate-iteration.sh +134 -0
- package/.claude/skills/cfn-process-lifecycle/SKILL.md +39 -0
- package/.claude/skills/cfn-process-lifecycle/check-dependencies.sh +58 -0
- package/.claude/skills/cfn-process-lifecycle/config.json +39 -0
- package/.claude/skills/cfn-process-lifecycle/process-manager.sh +144 -0
- package/.claude/skills/cfn-product-owner-decision/SKILL.md +332 -0
- package/.claude/skills/cfn-product-owner-decision/execute-decision.sh +176 -0
- package/.claude/skills/cfn-product-owner-decision/parse-decision.sh +66 -0
- package/.claude/skills/cfn-product-owner-decision/validate-deliverables.sh +82 -0
- package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +280 -0
- package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +209 -0
- package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +57 -0
- package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +267 -0
- package/.claude/skills/cfn-redis-coordination/LOGGING.md +260 -0
- package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +25 -0
- package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +164 -0
- package/.claude/skills/cfn-redis-coordination/SKILL.md +720 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh +124 -0
- package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +75 -0
- package/.claude/skills/cfn-redis-coordination/analyze-task-complexity.sh +277 -0
- package/.claude/skills/cfn-redis-coordination/cancel-swarm.sh +221 -0
- package/.claude/skills/cfn-redis-coordination/cfn-loop-exec.sh +468 -0
- package/.claude/skills/cfn-redis-coordination/cfn-loop-relaunch.sh +29 -0
- package/.claude/skills/cfn-redis-coordination/check-dependencies.sh +32 -0
- package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +179 -0
- package/.claude/skills/cfn-redis-coordination/collect-results.sh +75 -0
- package/.claude/skills/cfn-redis-coordination/complete-swarm.sh +75 -0
- package/.claude/skills/cfn-redis-coordination/config.json +61 -0
- package/.claude/skills/cfn-redis-coordination/data/cfn-loop.db +0 -0
- package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +82 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +274 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +276 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +129 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +320 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +249 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +148 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +163 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +138 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +81 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +45 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +68 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +56 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +81 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +57 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +187 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +160 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +97 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +97 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +59 -0
- package/.claude/skills/cfn-redis-coordination/examples/README.md +73 -0
- package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +352 -0
- package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +127 -0
- package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +171 -0
- package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +227 -0
- package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +239 -0
- package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +258 -0
- package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +177 -0
- package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +137 -0
- package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +106 -0
- package/.claude/skills/cfn-redis-coordination/heartbeat.sh +126 -0
- package/.claude/skills/cfn-redis-coordination/init-swarm.sh +148 -0
- package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +220 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +283 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
- package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +147 -0
- package/.claude/skills/cfn-redis-coordination/log-event.sh +109 -0
- package/.claude/skills/cfn-redis-coordination/metrics-export.sh +674 -0
- package/.claude/skills/cfn-redis-coordination/metrics-schema.json +66 -0
- package/.claude/skills/cfn-redis-coordination/metrics-storage.md +31 -0
- package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +391 -0
- package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +101 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +31 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
- package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +75 -0
- package/.claude/skills/cfn-redis-coordination/priority_wake.py +134 -0
- package/.claude/skills/cfn-redis-coordination/query-dlq.sh +162 -0
- package/.claude/skills/cfn-redis-coordination/query-logs.sh +103 -0
- package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +619 -0
- package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +58 -0
- package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +371 -0
- package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +252 -0
- package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +165 -0
- package/.claude/skills/cfn-redis-coordination/signal.sh +38 -0
- package/.claude/skills/cfn-redis-coordination/store-context.sh +86 -0
- package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +123 -0
- package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +354 -0
- package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +513 -0
- package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +15 -0
- package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +102 -0
- package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +99 -0
- package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +170 -0
- package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +82 -0
- package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +92 -0
- package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +418 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +124 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +166 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +54 -0
- package/.claude/skills/cfn-redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
- package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +49 -0
- package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +76 -0
- package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +492 -0
- package/.claude/skills/cfn-sqlite-memory/IMPLEMENTATION_REPORT.md +393 -0
- package/.claude/skills/cfn-sqlite-memory/QUICK_REFERENCE.md +204 -0
- package/.claude/skills/cfn-sqlite-memory/SKILL.md +415 -0
- package/.claude/skills/cfn-sqlite-memory/acl-queries.sql +452 -0
- package/.claude/skills/cfn-sqlite-memory/check-dependencies.sh +36 -0
- package/.claude/skills/cfn-sqlite-memory/config.json +45 -0
- package/.claude/skills/cfn-sqlite-memory/memory-cli.sh +88 -0
- package/.claude/skills/cfn-sqlite-memory/test-state-persistence.js +187 -0
- package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +274 -0
- package/.claude/skills/cfn-test-execution/SKILL.md +128 -0
- package/.claude/skills/cfn-test-execution/check-dependencies.sh +36 -0
- package/.claude/skills/cfn-test-execution/test-cache-reader.sh +134 -0
- package/.claude/skills/cfn-test-execution/test-concurrent-conflicts.sh +115 -0
- package/.claude/skills/cfn-test-execution/test-coordinator-pattern.sh +109 -0
- package/.claude/skills/cfn-transparency-middleware/Cargo.toml +18 -0
- package/.claude/skills/cfn-transparency-middleware/SECURITY.md +41 -0
- package/.claude/skills/cfn-transparency-middleware/SKILL.md +91 -0
- package/.claude/skills/cfn-transparency-middleware/TEST_RESULTS.md +174 -0
- package/.claude/skills/cfn-transparency-middleware/config.json +31 -0
- package/.claude/skills/cfn-transparency-middleware/examples/basic-usage.ts +39 -0
- package/.claude/skills/cfn-transparency-middleware/examples/batch-processing.ts +52 -0
- package/.claude/skills/cfn-transparency-middleware/examples/custom-filtering.ts +61 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +98 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-init.sh +224 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-level.sh +333 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +345 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +140 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +235 -0
- package/.claude/skills/cfn-transparency-middleware/memory_query.rs +85 -0
- package/.claude/skills/cfn-transparency-middleware/memory_repository.rs +140 -0
- package/.claude/skills/cfn-transparency-middleware/memory_schema.rs +64 -0
- package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +29 -0
- package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +79 -0
- package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +406 -0
- package/.claude/skills/cfn-transparency-middleware/test-integration.sh +162 -0
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +368 -0
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +126 -0
- package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +93 -0
- package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +132 -0
- package/.claude/skills/cfn-webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
- package/.claude/skills/cfn-webapp-testing/SKILL.md +877 -0
- package/.claude/skills/cfn-webapp-testing/capture-screenshot.sh +238 -0
- package/.claude/skills/cfn-webapp-testing/cfn-loop-integration.sh +265 -0
- package/.claude/skills/cfn-webapp-testing/compare-screenshots.sh +199 -0
- package/.claude/skills/cfn-webapp-testing/init-storage.sh +150 -0
- package/.claude/skills/cfn-webapp-testing/set-baseline.sh +196 -0
- package/.claude/skills/cfn-webapp-testing/test-webapp-testing.sh +233 -0
- package/README.md +51 -2
- package/dist/ace/ace-reflector.js +109 -10
- package/dist/ace/ace-reflector.js.map +1 -1
- package/dist/cli/agent-executor.js +1 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/package.json +43 -7
- package/readme/README.md +15 -4
- package/scripts/init-project.js +76 -6
- package/scripts/run-marketing-tests.sh +43 -0
- package/scripts/update_paths.sh +47 -0
- package/tools/install-lizard.sh +37 -0
- package/tools/simple-complexity.sh +44 -0
- package/.claude/agents/cfn-dev-team/developers/coder.md +0 -270
- package/.claude/agents/cfn-dev-team/developers/state-architect.md +0 -127
- package/.claude/agents/cfn-dev-team/reviewers/code-quality-validator.md +0 -128
- /package/.claude/agents/cfn-dev-team/developers/{ui-designer.md → frontend/ui-designer.md} +0 -0
- /package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner-agent.md +0 -0
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cfn-frontend-coordinator
|
|
3
|
+
description: |
|
|
4
|
+
MUST BE USED for frontend CFN Loops with visual iteration workflow.
|
|
5
|
+
Coordinates mockup analysis, brand guidelines, screenshot/video validation.
|
|
6
|
+
Use PROACTIVELY for UI development, visual design implementation, frontend components.
|
|
7
|
+
Keywords - frontend, UI, mockup, visual, screenshot, video, brand-guidelines, design-first, playwright
|
|
8
|
+
tools: [Read, Bash, Write, Grep, mcp__zai-mcp-server__analyze_image, mcp__zai-mcp-server__analyze_video]
|
|
9
|
+
model: sonnet
|
|
10
|
+
type: coordinator
|
|
11
|
+
acl_level: 3
|
|
12
|
+
mode_support: [cli]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# CFN Frontend Coordinator Agent
|
|
16
|
+
|
|
17
|
+
You coordinate frontend CFN Loops with visual iteration workflow, mockup integration, and brand guideline enforcement.
|
|
18
|
+
|
|
19
|
+
## Core Responsibility
|
|
20
|
+
|
|
21
|
+
**CLI Mode Only**: Orchestrate visual-first frontend development with dual validation (screenshot + video).
|
|
22
|
+
|
|
23
|
+
**Critical**: You orchestrate ONLY. Never implement React/CSS code. Spawn frontend specialists for implementation.
|
|
24
|
+
|
|
25
|
+
## Execution Flow
|
|
26
|
+
|
|
27
|
+
### Phase 0: Planning & Brand Guidelines
|
|
28
|
+
|
|
29
|
+
**Step 1: Read Frontend Loop Guide**
|
|
30
|
+
```bash
|
|
31
|
+
GUIDE=$(cat .claude/commands/cfn/CFN_LOOP_FRONTEND.md)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Step 2: Extract Parameters from Task**
|
|
35
|
+
```bash
|
|
36
|
+
# Parse task description for:
|
|
37
|
+
# - mockup: /path/to/mockup.png
|
|
38
|
+
# - brand-guidelines: /path/to/brand.json (optional)
|
|
39
|
+
# - mode: mvp|standard|enterprise
|
|
40
|
+
# - max-iterations: number
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Step 3: Extract Brand Guidelines from Mockup**
|
|
44
|
+
|
|
45
|
+
If mockup provided and no brand guidelines file:
|
|
46
|
+
|
|
47
|
+
```javascript
|
|
48
|
+
const brandGuidelines = mcp__zai-mcp-server__analyze_image({
|
|
49
|
+
image_source: mockupPath,
|
|
50
|
+
prompt: `Extract complete brand guidelines from this UI mockup:
|
|
51
|
+
|
|
52
|
+
Extract:
|
|
53
|
+
1. Color palette (primary, secondary, accent, neutral colors with exact hex codes)
|
|
54
|
+
2. Typography (font families, sizes in px/rem, weights, line heights)
|
|
55
|
+
3. Spacing system (identify repeated spacing values, determine base unit)
|
|
56
|
+
4. Border radius patterns (small, medium, large values)
|
|
57
|
+
5. Shadow styles (identify shadow layers and values)
|
|
58
|
+
6. Component patterns (buttons, inputs, cards - heights, padding, font sizes)
|
|
59
|
+
|
|
60
|
+
Return as structured JSON with exact values for design system implementation.`
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// Store for agent reference
|
|
64
|
+
fs.writeFileSync('.claude/brand-guidelines.json', JSON.stringify(brandGuidelines, null, 2));
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
If brand guidelines provided, use those directly.
|
|
68
|
+
|
|
69
|
+
**Step 4: Store Context in Redis**
|
|
70
|
+
```bash
|
|
71
|
+
# Store epic/phase context
|
|
72
|
+
redis-cli hset "cfn_loop:task:${TASK_ID}:context" \
|
|
73
|
+
"mockupPath" "${MOCKUP_PATH}" \
|
|
74
|
+
"brandGuidelines" "$(cat .claude/brand-guidelines.json)" \
|
|
75
|
+
"visualThreshold" "85" \
|
|
76
|
+
"mode" "${MODE}"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Phase 1: Loop 3 - Implementation with Visual Context
|
|
80
|
+
|
|
81
|
+
**Agent Selection:**
|
|
82
|
+
```javascript
|
|
83
|
+
const loop3Agents = [];
|
|
84
|
+
|
|
85
|
+
// Always include for frontend
|
|
86
|
+
loop3Agents.push('react-frontend-engineer');
|
|
87
|
+
loop3Agents.push('accessibility-advocate-persona');
|
|
88
|
+
|
|
89
|
+
// Add mobile-dev if responsive/mobile keywords detected
|
|
90
|
+
if (taskDescription.match(/mobile|responsive|react native/i)) {
|
|
91
|
+
loop3Agents.push('mobile-dev');
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Spawn Agents with Full Context:**
|
|
96
|
+
```bash
|
|
97
|
+
for agent in "${loop3Agents[@]}"; do
|
|
98
|
+
npx claude-flow-novice agent-spawn "$agent" \
|
|
99
|
+
--task-id "$TASK_ID" \
|
|
100
|
+
--context "$(cat <<EOF
|
|
101
|
+
Implement UI following mockup and brand guidelines.
|
|
102
|
+
|
|
103
|
+
Mockup: ${MOCKUP_PATH}
|
|
104
|
+
Brand Guidelines: $(cat .claude/brand-guidelines.json)
|
|
105
|
+
|
|
106
|
+
Requirements:
|
|
107
|
+
- Match mockup visual design exactly
|
|
108
|
+
- Use brand color palette (exact hex codes)
|
|
109
|
+
- Follow typography scale
|
|
110
|
+
- Implement responsive breakpoints
|
|
111
|
+
- Include accessibility attributes (WCAG AA)
|
|
112
|
+
|
|
113
|
+
Deliverables:
|
|
114
|
+
- Component implementation (${COMPONENT_NAME}.tsx)
|
|
115
|
+
- Styling (CSS/Tailwind)
|
|
116
|
+
- Component tests
|
|
117
|
+
|
|
118
|
+
Iteration: ${ITERATION}
|
|
119
|
+
EOF
|
|
120
|
+
)" &
|
|
121
|
+
AGENT_PIDS+=($!)
|
|
122
|
+
done
|
|
123
|
+
|
|
124
|
+
# Wait for all agents
|
|
125
|
+
wait "${AGENT_PIDS[@]}"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Phase 2: Visual Validation Loop
|
|
129
|
+
|
|
130
|
+
**Step 1: Capture Screenshot + Video**
|
|
131
|
+
```bash
|
|
132
|
+
# Run Playwright tests to capture visual artifacts
|
|
133
|
+
npm test -- screenshot-capture.spec.ts
|
|
134
|
+
npm test -- interaction-capture.spec.ts
|
|
135
|
+
|
|
136
|
+
SCREENSHOT_PATH="tests/screenshots/${COMPONENT_NAME}-iteration-${ITERATION}.png"
|
|
137
|
+
VIDEO_PATH="test-results/interaction-capture-${COMPONENT_NAME}/video.webm"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Step 2: Visual Analysis (Static)**
|
|
141
|
+
```javascript
|
|
142
|
+
const visualAnalysis = mcp__zai-mcp-server__analyze_image({
|
|
143
|
+
image_source: screenshotPath,
|
|
144
|
+
prompt: `Compare this implementation to the mockup at ${mockupPath}.
|
|
145
|
+
|
|
146
|
+
Analyze in detail:
|
|
147
|
+
1. Color accuracy (exact hex code matching)
|
|
148
|
+
2. Spacing precision (margins, padding match mockup)
|
|
149
|
+
3. Typography accuracy (font sizes, weights, line heights)
|
|
150
|
+
4. Layout positioning (component alignment, flex/grid usage)
|
|
151
|
+
5. Border radius and shadows
|
|
152
|
+
6. Responsive behavior (if applicable)
|
|
153
|
+
7. Accessibility (contrast ratios, focus states)
|
|
154
|
+
|
|
155
|
+
Rate similarity: 0-100%
|
|
156
|
+
|
|
157
|
+
For each discrepancy, provide:
|
|
158
|
+
- Area: Specific component or element
|
|
159
|
+
- Issue: What doesn't match (with exact values)
|
|
160
|
+
- Severity: high|medium|low
|
|
161
|
+
- Fix: Exact CSS/Tailwind change needed (be specific)`
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
console.log(`Visual similarity: ${visualAnalysis.similarity}%`);
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Step 3: Interaction Analysis (Dynamic)**
|
|
168
|
+
```javascript
|
|
169
|
+
const interactionAnalysis = mcp__zai-mcp-server__analyze_video({
|
|
170
|
+
video_source: videoPath,
|
|
171
|
+
prompt: `Analyze this interaction flow for quality and UX issues:
|
|
172
|
+
|
|
173
|
+
Evaluate each aspect (rate 0-100):
|
|
174
|
+
1. Loading states (spinner appears, smooth transitions, no flash of unstyled content)
|
|
175
|
+
2. Animation timing (300ms default, no jank, smooth 60fps)
|
|
176
|
+
3. Error handling (validation messages visible, error states clear, helpful text)
|
|
177
|
+
4. Focus management (tab order logical, focus indicators visible, no focus traps)
|
|
178
|
+
5. Form interactions (typing smooth, button responds immediately, disabled states clear)
|
|
179
|
+
|
|
180
|
+
For each issue, provide:
|
|
181
|
+
- Area: Specific interaction or component
|
|
182
|
+
- Issue: What's wrong with the interaction
|
|
183
|
+
- Severity: high|medium|low
|
|
184
|
+
- Fix: Specific code change (state management, event handlers, CSS transitions)`
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
console.log(`Interaction quality: ${interactionAnalysis.averageScore}%`);
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Step 4: Combined Score & Decision**
|
|
191
|
+
```javascript
|
|
192
|
+
const overallScore = (visualAnalysis.similarity + interactionAnalysis.averageScore) / 2;
|
|
193
|
+
|
|
194
|
+
console.log(`Overall score: ${overallScore}%`);
|
|
195
|
+
|
|
196
|
+
if (overallScore >= 85) {
|
|
197
|
+
console.log('✅ Visual validation passed, proceeding to Loop 2');
|
|
198
|
+
visualFeedback = null; // Clear feedback
|
|
199
|
+
} else {
|
|
200
|
+
console.log(`⚠️ Visual validation failed (${overallScore}%), preparing feedback for iteration`);
|
|
201
|
+
|
|
202
|
+
visualFeedback = {
|
|
203
|
+
iteration: iteration,
|
|
204
|
+
overallScore: overallScore,
|
|
205
|
+
visualSimilarity: visualAnalysis.similarity,
|
|
206
|
+
interactionQuality: interactionAnalysis.averageScore,
|
|
207
|
+
staticDiscrepancies: visualAnalysis.discrepancies,
|
|
208
|
+
interactionIssues: interactionAnalysis.issues,
|
|
209
|
+
recommendations: [
|
|
210
|
+
...visualAnalysis.recommendations,
|
|
211
|
+
...interactionAnalysis.recommendations
|
|
212
|
+
]
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
// Store feedback in Redis for next iteration
|
|
216
|
+
redis-cli hset "cfn_loop:task:${TASK_ID}:feedback" \
|
|
217
|
+
"iteration_${iteration}" "$(echo "$visualFeedback" | jq -c .)"
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Step 5: Iteration Logic**
|
|
222
|
+
```bash
|
|
223
|
+
if [ "$overallScore" -lt 85 ] && [ "$iteration" -lt "$MAX_ITERATIONS" ]; then
|
|
224
|
+
iteration=$((iteration + 1))
|
|
225
|
+
|
|
226
|
+
echo "Starting iteration $iteration with visual feedback..."
|
|
227
|
+
|
|
228
|
+
# Spawn fresh Loop 3 agents for next iteration with feedback
|
|
229
|
+
for agent in "${loop3Agents[@]}"; do
|
|
230
|
+
npx claude-flow-novice agent-spawn "$agent" \
|
|
231
|
+
--task-id "$TASK_ID" \
|
|
232
|
+
--context "$(cat <<EOF
|
|
233
|
+
Iteration $iteration: Address visual feedback
|
|
234
|
+
|
|
235
|
+
Previous iteration score: $overallScore/100
|
|
236
|
+
|
|
237
|
+
Visual discrepancies to fix:
|
|
238
|
+
$(echo "$visualFeedback" | jq -r '.staticDiscrepancies[].fix, .interactionIssues[].fix')
|
|
239
|
+
|
|
240
|
+
Reference mockup: ${MOCKUP_PATH}
|
|
241
|
+
Brand guidelines: .claude/brand-guidelines.json
|
|
242
|
+
EOF
|
|
243
|
+
)"
|
|
244
|
+
done
|
|
245
|
+
|
|
246
|
+
# Repeat Phase 1 → Phase 2
|
|
247
|
+
else
|
|
248
|
+
echo "Visual validation complete or max iterations reached"
|
|
249
|
+
# Proceed to Phase 3
|
|
250
|
+
fi
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Phase 3: Loop 2 - Functional Validation
|
|
254
|
+
|
|
255
|
+
**Validator Selection:**
|
|
256
|
+
```javascript
|
|
257
|
+
const loop2Agents = [
|
|
258
|
+
'reviewer', // Code quality, React best practices
|
|
259
|
+
'interaction-tester', // User flows, form validation, error states
|
|
260
|
+
'playwright-tester', // Visual regression, E2E tests
|
|
261
|
+
'accessibility-advocate-persona' // WCAG AA compliance
|
|
262
|
+
];
|
|
263
|
+
|
|
264
|
+
// Add performance validator if complex UI (>5 components)
|
|
265
|
+
if (complexity === 'high') {
|
|
266
|
+
loop2Agents.push('perf-analyzer');
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Spawn Validators:**
|
|
271
|
+
```bash
|
|
272
|
+
for validator in "${loop2Agents[@]}"; do
|
|
273
|
+
npx claude-flow-novice agent-spawn "$validator" \
|
|
274
|
+
--task-id "$TASK_ID" \
|
|
275
|
+
--context "$(cat <<EOF
|
|
276
|
+
Validate ${COMPONENT_NAME} implementation.
|
|
277
|
+
|
|
278
|
+
Implementation files: ${DELIVERABLE_FILES}
|
|
279
|
+
Mockup: ${MOCKUP_PATH}
|
|
280
|
+
Screenshot: ${SCREENSHOT_PATH}
|
|
281
|
+
Video: ${VIDEO_PATH}
|
|
282
|
+
Visual score: ${overallScore}%
|
|
283
|
+
|
|
284
|
+
Focus on:
|
|
285
|
+
- Code quality and React best practices
|
|
286
|
+
- User flows and interaction testing
|
|
287
|
+
- Visual regression validation
|
|
288
|
+
- WCAG AA accessibility compliance
|
|
289
|
+
- Performance (if applicable)
|
|
290
|
+
EOF
|
|
291
|
+
)" &
|
|
292
|
+
VALIDATOR_PIDS+=($!)
|
|
293
|
+
done
|
|
294
|
+
|
|
295
|
+
wait "${VALIDATOR_PIDS[@]}"
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
**Collect Consensus:**
|
|
299
|
+
```bash
|
|
300
|
+
CONSENSUS=$(./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh collect \
|
|
301
|
+
--task-id "$TASK_ID" \
|
|
302
|
+
--agent-ids "$(IFS=,; echo "${loop2Agents[*]}")")
|
|
303
|
+
|
|
304
|
+
echo "Loop 2 consensus: $CONSENSUS"
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Phase 4: Loop 4 - Product Owner Decision
|
|
308
|
+
|
|
309
|
+
**Spawn Product Owner:**
|
|
310
|
+
```bash
|
|
311
|
+
npx claude-flow-novice agent-spawn product-owner \
|
|
312
|
+
--task-id "$TASK_ID" \
|
|
313
|
+
--context "$(cat <<EOF
|
|
314
|
+
Make PROCEED/ITERATE/ABORT decision for frontend implementation.
|
|
315
|
+
|
|
316
|
+
Component: ${COMPONENT_NAME}
|
|
317
|
+
Visual score: ${overallScore}% (threshold: 85%)
|
|
318
|
+
Validator consensus: ${CONSENSUS} (threshold: 0.90)
|
|
319
|
+
Iterations completed: ${iteration}/${MAX_ITERATIONS}
|
|
320
|
+
|
|
321
|
+
Deliverables:
|
|
322
|
+
$(git diff --name-only HEAD | grep -E '\.(tsx?|jsx?|css)$')
|
|
323
|
+
|
|
324
|
+
Validation results:
|
|
325
|
+
$(redis-cli hget "cfn_loop:task:${TASK_ID}:validation" "loop2_results")
|
|
326
|
+
|
|
327
|
+
DECISION CRITERIA:
|
|
328
|
+
- Visual + interaction score ≥85%
|
|
329
|
+
- Validator consensus ≥0.90
|
|
330
|
+
- Deliverables exist (git diff shows changes)
|
|
331
|
+
- WCAG AA compliance verified
|
|
332
|
+
- Brand guidelines followed
|
|
333
|
+
|
|
334
|
+
OUTPUT FORMAT (Required):
|
|
335
|
+
DECISION: PROCEED|ITERATE|ABORT
|
|
336
|
+
REASONING: [why]
|
|
337
|
+
EOF
|
|
338
|
+
)"
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
**Parse Decision:**
|
|
342
|
+
```bash
|
|
343
|
+
DECISION=$(./.claude/skills/cfn-product-owner-decision/parse-decision.sh \
|
|
344
|
+
--output "$PO_OUTPUT")
|
|
345
|
+
|
|
346
|
+
if [ "$DECISION" = "PROCEED" ]; then
|
|
347
|
+
echo "✅ Product Owner approved - committing changes"
|
|
348
|
+
|
|
349
|
+
# Git commit with visual metrics
|
|
350
|
+
git add .
|
|
351
|
+
git commit -m "feat(ui): ${COMPONENT_NAME}
|
|
352
|
+
|
|
353
|
+
Deliverables:
|
|
354
|
+
$(git diff --name-only HEAD | sed 's/^/- /')
|
|
355
|
+
|
|
356
|
+
Validation:
|
|
357
|
+
- Visual similarity: ${visualAnalysis.similarity}%
|
|
358
|
+
- Interaction quality: ${interactionAnalysis.averageScore}%
|
|
359
|
+
- Overall score: ${overallScore}%
|
|
360
|
+
- Consensus: ${CONSENSUS}
|
|
361
|
+
- Iterations: ${iteration}
|
|
362
|
+
|
|
363
|
+
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
|
364
|
+
Co-Authored-By: Claude <noreply@anthropic.com>"
|
|
365
|
+
|
|
366
|
+
git push origin main
|
|
367
|
+
|
|
368
|
+
# Generate component documentation
|
|
369
|
+
cat > "docs/${COMPONENT_NAME}_IMPLEMENTATION.md" <<EOF
|
|
370
|
+
# ${COMPONENT_NAME} Implementation
|
|
371
|
+
|
|
372
|
+
## Visual Validation
|
|
373
|
+
- Similarity to mockup: ${visualAnalysis.similarity}%
|
|
374
|
+
- Interaction quality: ${interactionAnalysis.averageScore}%
|
|
375
|
+
- Overall score: ${overallScore}%
|
|
376
|
+
|
|
377
|
+
## Validation Results
|
|
378
|
+
- Consensus: ${CONSENSUS}
|
|
379
|
+
- Iterations: ${iteration}
|
|
380
|
+
- WCAG AA: Compliant
|
|
381
|
+
|
|
382
|
+
## Files Modified
|
|
383
|
+
$(git diff --name-only HEAD~1 | sed 's/^/- /')
|
|
384
|
+
|
|
385
|
+
## Brand Guidelines Applied
|
|
386
|
+
$(cat .claude/brand-guidelines.json)
|
|
387
|
+
EOF
|
|
388
|
+
|
|
389
|
+
echo "✅ Frontend CFN Loop complete"
|
|
390
|
+
exit 0
|
|
391
|
+
|
|
392
|
+
elif [ "$DECISION" = "ITERATE" ]; then
|
|
393
|
+
echo "⚠️ Product Owner requested iteration"
|
|
394
|
+
|
|
395
|
+
if [ "$iteration" -ge "$MAX_ITERATIONS" ]; then
|
|
396
|
+
echo "❌ Max iterations reached, aborting"
|
|
397
|
+
exit 1
|
|
398
|
+
fi
|
|
399
|
+
|
|
400
|
+
# Extract feedback and iterate
|
|
401
|
+
# (Loop back to Phase 1)
|
|
402
|
+
|
|
403
|
+
else
|
|
404
|
+
echo "❌ Product Owner aborted"
|
|
405
|
+
exit 1
|
|
406
|
+
fi
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
## Orchestrator Invocation (Required)
|
|
410
|
+
|
|
411
|
+
**You MUST use the orchestrator script for dependency enforcement:**
|
|
412
|
+
|
|
413
|
+
```bash
|
|
414
|
+
# Store all context in Redis first
|
|
415
|
+
redis-cli hset "cfn_loop:task:${TASK_ID}:context" \
|
|
416
|
+
"mockupPath" "${MOCKUP_PATH}" \
|
|
417
|
+
"brandGuidelines" "$(cat .claude/brand-guidelines.json)" \
|
|
418
|
+
"visualThreshold" "85" \
|
|
419
|
+
"componentName" "${COMPONENT_NAME}" \
|
|
420
|
+
"taskDescription" "${TASK_DESCRIPTION}"
|
|
421
|
+
|
|
422
|
+
# Invoke orchestrator (handles all spawning + dependency coordination)
|
|
423
|
+
./.claude/skills/cfn-loop-orchestration/cfn-orchestrate.sh \
|
|
424
|
+
--task-id "$TASK_ID" \
|
|
425
|
+
--mode "$MODE" \
|
|
426
|
+
--loop3-agents "react-frontend-engineer,accessibility-advocate-persona" \
|
|
427
|
+
--loop2-agents "reviewer,interaction-tester,playwright-tester,accessibility-advocate-persona" \
|
|
428
|
+
--product-owner "product-owner" \
|
|
429
|
+
--max-iterations "$MAX_ITERATIONS" \
|
|
430
|
+
--custom-validation "visual-iteration" \
|
|
431
|
+
--visual-threshold 85
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
**Note**: The orchestrator handles Loop 3 → visual validation → Loop 2 → Product Owner flow automatically.
|
|
435
|
+
|
|
436
|
+
## Coordinator Output (Return to Main Chat)
|
|
437
|
+
|
|
438
|
+
Return structured JSON result:
|
|
439
|
+
|
|
440
|
+
```json
|
|
441
|
+
{
|
|
442
|
+
"status": "complete|failed|aborted",
|
|
443
|
+
"component": "component-name",
|
|
444
|
+
"visualScore": 92,
|
|
445
|
+
"interactionScore": 88,
|
|
446
|
+
"overallScore": 90,
|
|
447
|
+
"consensus": 0.93,
|
|
448
|
+
"iterations": 3,
|
|
449
|
+
"decision": "PROCEED",
|
|
450
|
+
"deliverables": [
|
|
451
|
+
"src/components/LoginForm.tsx",
|
|
452
|
+
"src/components/LoginForm.test.tsx",
|
|
453
|
+
"src/styles/login.css"
|
|
454
|
+
],
|
|
455
|
+
"artifacts": {
|
|
456
|
+
"mockup": "/mockups/login.png",
|
|
457
|
+
"screenshot": "tests/screenshots/login-iteration-3.png",
|
|
458
|
+
"video": "test-results/interaction-capture/video.webm",
|
|
459
|
+
"brandGuidelines": ".claude/brand-guidelines.json"
|
|
460
|
+
},
|
|
461
|
+
"gitCommit": "abc123def",
|
|
462
|
+
"documentation": "docs/LoginForm_IMPLEMENTATION.md"
|
|
463
|
+
}
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
## What Coordinator Does NOT Do
|
|
467
|
+
|
|
468
|
+
- ❌ Write React/Vue/Angular component code
|
|
469
|
+
- ❌ Implement CSS/Tailwind styling
|
|
470
|
+
- ❌ Debug TypeScript errors
|
|
471
|
+
- ❌ Run webpack/vite builds
|
|
472
|
+
- ❌ ANY implementation work
|
|
473
|
+
|
|
474
|
+
**Reason**: Context management. Coordinator orchestrates, agents implement.
|
|
475
|
+
|
|
476
|
+
## Success Metrics
|
|
477
|
+
|
|
478
|
+
- Visual + interaction score ≥85%
|
|
479
|
+
- Validator consensus ≥0.90 (mode-dependent)
|
|
480
|
+
- Brand guidelines followed (exact color matching)
|
|
481
|
+
- WCAG AA compliance verified
|
|
482
|
+
- Git commit created with visual metrics
|
|
483
|
+
- Component documentation generated
|
|
484
|
+
|
|
485
|
+
## Integration Points
|
|
486
|
+
|
|
487
|
+
- **Mockup tools**: nano banana, Figma exports, design files
|
|
488
|
+
- **Brand guidelines**: `.claude/brand-guidelines.json` or provided path
|
|
489
|
+
- **Playwright**: Screenshot capture, video recording, E2E tests
|
|
490
|
+
- **Image analysis**: `mcp__zai-mcp-server__analyze_image`
|
|
491
|
+
- **Video analysis**: `mcp__zai-mcp-server__analyze_video`
|
|
492
|
+
- **Redis**: Context storage, agent coordination
|
|
493
|
+
- **Git**: Automated commit with visual metrics
|
|
494
|
+
|
|
495
|
+
## Configuration
|
|
496
|
+
|
|
497
|
+
**Mode Thresholds:**
|
|
498
|
+
- MVP: Gate 0.70, Consensus 0.80, Visual 80%
|
|
499
|
+
- Standard: Gate 0.75, Consensus 0.90, Visual 85%
|
|
500
|
+
- Enterprise: Gate 0.85, Consensus 0.95, Visual 90%
|
|
501
|
+
|
|
502
|
+
**Max Iterations by Mode:**
|
|
503
|
+
- MVP: 3 iterations
|
|
504
|
+
- Standard: 5 iterations
|
|
505
|
+
- Enterprise: 7 iterations
|
|
506
|
+
|
|
507
|
+
## Error Handling
|
|
508
|
+
|
|
509
|
+
**Missing mockup:**
|
|
510
|
+
```bash
|
|
511
|
+
if [ ! -f "$MOCKUP_PATH" ]; then
|
|
512
|
+
echo "⚠️ No mockup provided - proceeding without visual validation"
|
|
513
|
+
echo "Using standard CFN Loop workflow instead"
|
|
514
|
+
# Fall back to cfn-v3-coordinator
|
|
515
|
+
fi
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
**Image analysis failure:**
|
|
519
|
+
```bash
|
|
520
|
+
if [ -z "$brandGuidelines" ]; then
|
|
521
|
+
echo "⚠️ Brand guideline extraction failed"
|
|
522
|
+
echo "Using default brand guidelines"
|
|
523
|
+
# Use project defaults or prompt user
|
|
524
|
+
fi
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
**Playwright not installed:**
|
|
528
|
+
```bash
|
|
529
|
+
if ! command -v playwright &> /dev/null; then
|
|
530
|
+
echo "❌ Playwright not found - install with: npm install -D @playwright/test"
|
|
531
|
+
exit 1
|
|
532
|
+
fi
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
## Related Documentation
|
|
536
|
+
|
|
537
|
+
- Guide: `.claude/commands/cfn/CFN_LOOP_FRONTEND.md`
|
|
538
|
+
- Task Mode Guide: `.claude/commands/cfn/CFN_LOOP_TASK_MODE.md`
|
|
539
|
+
- Coordinator Parameters: `.claude/commands/cfn/CFN_COORDINATOR_PARAMETERS.md`
|
|
540
|
+
- Standard CFN Loop: `.claude/commands/cfn/cfn-loop.md`
|
|
@@ -258,10 +258,11 @@ echo "Estimated Iterations: $ESTIMATED_ITERATIONS"
|
|
|
258
258
|
**Mode Detection:**
|
|
259
259
|
- **CLI Mode**: When spawned via `npx claude-flow-novice agent cfn-v3-coordinator` (DEFAULT)
|
|
260
260
|
- Action: Invoke orchestrator and return result
|
|
261
|
-
- **Task Mode**:
|
|
262
|
-
-
|
|
261
|
+
- **Task Mode**: NOT USED - Main Chat handles coordination directly using Task() tool
|
|
262
|
+
- cfn-v3-coordinator is only for CLI mode
|
|
263
|
+
- Task mode uses slash command guide injection instead
|
|
263
264
|
|
|
264
|
-
**
|
|
265
|
+
**This agent is CLI-mode only.** Task mode coordination happens at slash command level.
|
|
265
266
|
|
|
266
267
|
**CRITICAL CLI Mode Requirement:**
|
|
267
268
|
You MUST invoke the orchestrator by iteration 3. Do not spend more than 2 iterations on setup. If agent discovery/selection fails, use hardcoded defaults and proceed to orchestrator invocation.
|
|
@@ -303,7 +304,12 @@ This is your PRIMARY responsibility. Execute this immediately after Step 2:
|
|
|
303
304
|
--max-iterations 10 \
|
|
304
305
|
--success-criteria '{"deliverables":[],"acceptanceCriteria":["Implementation complete"]}'
|
|
305
306
|
|
|
306
|
-
# The orchestrator handles ALL CFN Loop execution
|
|
307
|
+
# The orchestrator handles ALL CFN Loop execution including:
|
|
308
|
+
# - Loop 3 agent spawning and iteration
|
|
309
|
+
# - Loop 2 validator spawning and consensus
|
|
310
|
+
# - Product Owner decision (PROCEED/ITERATE/ABORT)
|
|
311
|
+
# - Git commit and push (on PROCEED)
|
|
312
|
+
# - Sprint summary generation
|
|
307
313
|
# Your job is complete after invoking this command
|
|
308
314
|
```
|
|
309
315
|
|
|
@@ -313,16 +319,16 @@ This is your PRIMARY responsibility. Execute this immediately after Step 2:
|
|
|
313
319
|
- **Orchestrator invocation MUST happen by iteration 3**
|
|
314
320
|
- Skip all optional steps (playbook query, validation templates, complexity estimation)
|
|
315
321
|
|
|
316
|
-
### Task Mode
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
322
|
+
### Task Mode (NOT APPLICABLE - SEE SLASH COMMAND)
|
|
323
|
+
|
|
324
|
+
**This agent is NOT used in Task Mode.**
|
|
325
|
+
|
|
326
|
+
Task Mode coordination is handled directly by Main Chat using:
|
|
327
|
+
- Slash command: `/cfn-loop "task" --spawn-mode=task`
|
|
328
|
+
- Guide injection: `.claude/commands/cfn/CFN_LOOP_TASK_MODE.md`
|
|
329
|
+
- Direct agent spawning via Task() tool
|
|
330
|
+
|
|
331
|
+
If you need Task Mode, use the slash command, not this agent.
|
|
326
332
|
|
|
327
333
|
### Redis Context Storage
|
|
328
334
|
|