claude-flow-novice 2.15.0 → 2.15.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/cfn-extras/agents/cfn-coordinator-enterprise.md +1303 -0
- package/.claude/cfn-extras/agents/cfn-coordinator-mvp.md +942 -0
- package/.claude/cfn-extras/agents/cfn-coordinator-standard.md +1062 -0
- package/.claude/cfn-extras/agents/cfn-loop-coordinator.md +157 -0
- package/.claude/cfn-extras/agents/coordinator.md +182 -0
- package/.claude/cfn-extras/agents/cost-savings-cfn-loop-coordinator.md +760 -0
- package/.claude/cfn-extras/agents/cost-savings-coordinator.md +173 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator-enhanced.md +147 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md +162 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +161 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md +729 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +728 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/byzantine-coordinator.md +100 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-enterprise.md +323 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-mvp.md +157 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-standard.md +229 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-unified.md +149 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/coordinator-hybrid.md +231 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/gossip-coordinator.md +165 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/hierarchical-coordinator.md +95 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md +132 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +131 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/task-coordinator.md +109 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/test-coordinator.md +142 -0
- package/.claude/commands/cfn-docker/CFN_DOCKER_NATIVE.md +295 -0
- package/.claude/commands/cfn-docker-core-test-suite.md +326 -0
- package/.claude/commands/cfn-loop-cli.md +1 -1
- package/.claude/commands/switch-api.md +20 -6
- package/.claude/root-claude-distribute/CFN-CLAUDE.md +177 -426
- package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +27 -18
- package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +763 -38
- package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh +25 -10
- package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +641 -0
- package/.claude/skills/cfn-docker-skill-mcp-selection/skill-mcp-selector.js +471 -471
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +52 -23
- package/.claude/skills/cfn-redis-coordination/complete-swarm.sh +3 -3
- package/.claude/skills/cfn-redis-coordination/data/cfn-loop.db +0 -0
- package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +9 -0
- package/.claude/skills/cfn-redis-coordination/report-completion.sh +7 -7
- package/claude-assets/agents/cfn-dev-team/architecture/api-designer-persona.md +2 -0
- package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +2 -0
- package/claude-assets/agents/cfn-dev-team/architecture/planner.md +2 -0
- package/claude-assets/agents/cfn-dev-team/architecture/system-architect.md +2 -0
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +419 -563
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +2 -0
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +2 -0
- package/claude-assets/agents/cfn-dev-team/documentation/README-VALIDATION.md +2 -0
- package/claude-assets/agents/cfn-dev-team/documentation/agent-type-guidelines.md +2 -0
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +1 -1
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +1 -1
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +2 -0
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +2 -0
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +2 -0
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +2 -0
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +2 -0
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +2 -0
- package/claude-assets/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +4 -0
- package/claude-assets/agents/cfn-dev-team/testers/validation/validation-production-validator.md +1 -1
- package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +825 -17
- package/claude-assets/agents/docker-team/micro-sprint-planner.md +747 -0
- package/claude-assets/agents/docker-ts-fixer.md +56 -0
- package/claude-assets/agents/typescript-specialist.md +280 -0
- package/claude-assets/cfn-extras/agents/cfn-coordinator-enterprise.md +1303 -0
- package/claude-assets/cfn-extras/agents/cfn-coordinator-mvp.md +942 -0
- package/claude-assets/cfn-extras/agents/cfn-coordinator-standard.md +1062 -0
- package/claude-assets/cfn-extras/agents/cfn-loop-coordinator.md +157 -0
- package/claude-assets/cfn-extras/agents/coordinator.md +182 -0
- package/claude-assets/cfn-extras/agents/cost-savings-cfn-loop-coordinator.md +760 -0
- package/claude-assets/cfn-extras/agents/cost-savings-coordinator.md +173 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator-enhanced.md +147 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md +162 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +161 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md +729 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +728 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/byzantine-coordinator.md +100 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-enterprise.md +323 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-mvp.md +157 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-standard.md +229 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-unified.md +149 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/coordinator-hybrid.md +231 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/gossip-coordinator.md +165 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/hierarchical-coordinator.md +95 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md +132 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +131 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/task-coordinator.md +109 -0
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/test-coordinator.md +142 -0
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/SKILL.md +36 -0
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +60 -0
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-api-validation/test-endpoints.sh +54 -0
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-context-pruner/SKILL.md +75 -0
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-context-pruner/prune-context.sh +73 -0
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-task-mode-safety/cli-coordination.sh +519 -0
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-task-mode-safety/mode-detection.sh +326 -0
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-task-mode-sanitize/task-mode-env-sanitizer.sh +267 -0
- package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/SKILL.md +33 -0
- package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +92 -0
- package/claude-assets/cfn-extras/skills/analytics/cfn-memory-monitoring/SKILL.md +531 -0
- package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/SKILL.md +30 -0
- package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +80 -0
- package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/SKILL.md +31 -0
- package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +101 -0
- package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/collect-metrics.sh +249 -0
- package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +111 -0
- package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +192 -0
- package/claude-assets/cfn-extras/skills/deprecated/cfn-simplified-agent-lifecycle/COST_ANALYSIS.md +49 -0
- package/claude-assets/cfn-extras/skills/deprecated/cfn-simplified-agent-lifecycle/DESIGN.md +98 -0
- package/claude-assets/cfn-extras/skills/deprecated/cfn-simplified-agent-lifecycle/MIGRATION_PLAN.md +74 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/SKILL.md +392 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/SKILL.md +124 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-ad-performance.sh +105 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-conversion-funnel.sh +102 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-email-performance.sh +105 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-social-engagement.sh +105 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-website-traffic.sh +107 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/SKILL.md +340 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/SKILL.md +350 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-backlink-profile.sh +154 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-keyword-rankings.sh +173 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-trending-topics.sh +147 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/monitor-competitor.sh +146 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/search-brand-mentions.sh +167 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/SKILL.md +116 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/add-to-segment.sh +78 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/create-contact.sh +113 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/get-contact.sh +86 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/remove-from-segment.sh +78 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/update-contact.sh +120 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/SKILL.md +106 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/create-campaign.sh +123 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/get-campaign-stats.sh +66 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/list-templates.sh +68 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/schedule-campaign.sh +85 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/send-test-email.sh +81 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/SKILL.md +366 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/create-ab-test.sh +231 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/create-landing-page.sh +190 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/get-page-performance.sh +137 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/publish-page.sh +120 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/unpublish-page.sh +108 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/SKILL.md +202 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/create-crisis-alert.sh +104 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/export-report.sh +92 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/get-sentiment-analysis.sh +85 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/search-mentions.sh +86 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/SKILL.md +168 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/search-journalists.sh +74 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/send-pitch.sh +80 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/submit-haro-response.sh +88 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/track-pitch-engagement.sh +66 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/SKILL.md +159 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/distribute-press-release.sh +94 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/get-distribution-status.sh +59 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/get-pickup-metrics.sh +72 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/list-templates.sh +53 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/SKILL.md +429 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/SKILL.md +108 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/create-post.sh +104 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/delete-post.sh +76 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/get-post-stats.sh +66 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/schedule-post.sh +85 -0
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/upload-media.sh +88 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/DESIGN.md +117 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/SKILL.md +679 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-agents.sh +129 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-dashboard.sh +85 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-events.sh +125 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-metrics.sh +112 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-start.sh +135 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-stop.sh +121 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +51 -0
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +85 -0
- package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/SKILL.md +200 -0
- package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +244 -0
- package/claude-assets/cfn-extras/skills/utility/cfn-process-instrumentation/SKILL.md +279 -0
- package/claude-assets/cfn-extras/skills/utility/cfn-process-instrumentation/instrument-process.sh +327 -0
- package/claude-assets/commands/cfn-docker/CFN_DOCKER_NATIVE.md +295 -0
- package/claude-assets/commands/cfn-docker-core-test-suite.md +326 -0
- package/claude-assets/commands/cfn-loop-cli.md +1 -1
- package/claude-assets/commands/switch-api.md +20 -6
- package/claude-assets/root-claude-distribute/CFN-CLAUDE.md +177 -426
- package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +27 -18
- package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +763 -38
- package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh +25 -10
- package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +641 -0
- package/claude-assets/skills/cfn-docker-skill-mcp-selection/skill-mcp-selector.js +471 -471
- package/claude-assets/skills/cfn-docker-wave-execution/SKILL.md +936 -0
- package/claude-assets/skills/cfn-docker-wave-execution/cleanup-wave.sh +445 -0
- package/claude-assets/skills/cfn-docker-wave-execution/lib/docker-helpers.sh +804 -0
- package/claude-assets/skills/cfn-docker-wave-execution/monitor-wave.sh +485 -0
- package/claude-assets/skills/cfn-docker-wave-execution/spawn-wave.sh +547 -0
- package/claude-assets/skills/cfn-error-batching-strategy/README.md +323 -0
- package/claude-assets/skills/cfn-error-batching-strategy/SKILL.md +1016 -0
- package/claude-assets/skills/cfn-error-batching-strategy/analyze-errors.sh +327 -0
- package/claude-assets/skills/cfn-error-batching-strategy/calculate-waves.sh +256 -0
- package/claude-assets/skills/cfn-error-batching-strategy/cli.sh +523 -0
- package/claude-assets/skills/cfn-error-batching-strategy/cluster-files.sh +196 -0
- package/claude-assets/skills/cfn-error-batching-strategy/create-batches.sh +261 -0
- package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -0
- package/claude-assets/skills/cfn-error-batching-strategy/templates/default-tiers.json +22 -0
- package/claude-assets/skills/cfn-error-batching-strategy/tests/test-batching-strategy.sh +498 -0
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +52 -23
- package/claude-assets/skills/cfn-redis-coordination/complete-swarm.sh +3 -3
- package/claude-assets/skills/cfn-redis-coordination/data/cfn-loop.db +0 -0
- package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +9 -0
- package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +7 -7
- package/claude-assets/skills/cfn-wave-checkpoint/SKILL.md +333 -0
- package/claude-assets/skills/cfn-wave-checkpoint/cleanup-orphans.sh +374 -0
- package/claude-assets/skills/cfn-wave-checkpoint/resume-wave.sh +325 -0
- package/claude-assets/skills/cfn-wave-checkpoint/save-checkpoint.sh +284 -0
- package/claude-assets/skills/docker-build/SKILL.md +203 -0
- package/claude-assets/skills/docker-build/build.sh +73 -0
- package/dist/agent/skill-mcp-selector.js +1 -1
- package/dist/agent/skill-mcp-selector.js.map +1 -1
- package/dist/agents/agent-loader.js +146 -165
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/cli/agent-definition-parser.js +36 -16
- package/dist/cli/agent-definition-parser.js.map +1 -1
- package/dist/cli/agent-executor.js +48 -13
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +28 -2
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawn.js +57 -18
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/agent-token-manager.js +5 -1
- package/dist/cli/agent-token-manager.js.map +1 -1
- package/dist/cli/anthropic-client.js +35 -4
- package/dist/cli/anthropic-client.js.map +1 -1
- package/dist/cli/cfn-context.js +9 -6
- package/dist/cli/cfn-context.js.map +1 -1
- package/dist/cli/cfn-metrics.js +8 -1
- package/dist/cli/cfn-metrics.js.map +1 -1
- package/dist/cli/cfn-redis.js +7 -0
- package/dist/cli/cfn-redis.js.map +1 -1
- package/dist/cli/conversation-fork.js +14 -11
- package/dist/cli/conversation-fork.js.map +1 -1
- package/dist/cli/index.js +6 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/iteration-history.js +8 -5
- package/dist/cli/iteration-history.js.map +1 -1
- package/dist/coordination/enhanced-progress-tracker.js +1 -1
- package/dist/coordination/enhanced-progress-tracker.js.map +1 -1
- package/dist/coordination/event-bus.js +1 -1
- package/dist/coordination/event-bus.js.map +1 -1
- package/dist/coordination/redis-messaging-infrastructure.js +1 -1
- package/dist/coordination/redis-messaging-infrastructure.js.map +1 -1
- package/dist/mcp/auth-middleware.js +1 -1
- package/dist/mcp/auth-middleware.js.map +1 -1
- package/dist/mcp/playwright-mcp-server-auth.js +1 -1
- package/dist/mcp/playwright-mcp-server-auth.js.map +1 -1
- package/dist/utils/secret-filter.js +145 -0
- package/dist/utils/secret-filter.js.map +1 -0
- package/package.json +5 -4
- package/scripts/docker-agent-init.sh +106 -0
- package/scripts/docker-rebuild-all-agents.sh +127 -0
- package/scripts/init-project.js +4 -4
- package/scripts/switch-api.sh +11 -4
- package/.claude/cfn-agents-ignore/cfn-seo-team/AGENT_CREATION_REPORT.md +0 -471
- package/.claude/cfn-agents-ignore/cfn-seo-team/AGENT_CREATION_REPORT.md.backup +0 -481
- package/.claude/cfn-agents-ignore/cfn-seo-team/DELEGATION_MATRIX.md.backup +0 -371
- package/.claude/cfn-agents-ignore/cfn-seo-team/INTEGRATION_REQUIREMENTS.md.backup +0 -637
- package/.claude/cfn-agents-ignore/cfn-seo-team/cfn-seo-coordinator.md.backup +0 -398
- package/.claude/cfn-agents-ignore/cfn-seo-team/competitive-seo-analyst.md.backup +0 -401
- package/.claude/cfn-agents-ignore/cfn-seo-team/content-atomization-specialist.md.backup +0 -552
- package/.claude/cfn-agents-ignore/cfn-seo-team/content-seo-strategist.md.backup +0 -223
- package/.claude/cfn-agents-ignore/cfn-seo-team/eeat-content-auditor.md.backup +0 -367
- package/.claude/cfn-agents-ignore/cfn-seo-team/geo-optimization-expert.md.backup +0 -247
- package/.claude/cfn-agents-ignore/cfn-seo-team/link-building-specialist.md.backup +0 -269
- package/.claude/cfn-agents-ignore/cfn-seo-team/local-seo-optimizer.md.backup +0 -311
- package/.claude/cfn-agents-ignore/cfn-seo-team/programmatic-seo-engineer.md.backup +0 -222
- package/.claude/cfn-agents-ignore/cfn-seo-team/schema-markup-engineer.md.backup +0 -408
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-analytics-specialist.md.backup +0 -354
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/accessibility-validator.md.backup +0 -561
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/audience-validator.md.backup +0 -480
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/branding-validator.md.backup +0 -448
- package/.claude/cfn-agents-ignore/cfn-seo-team/seo-validators/humanizer-validator.md.backup +0 -329
- package/.claude/cfn-agents-ignore/cfn-seo-team/technical-seo-specialist.md.backup +0 -208
- package/claude-assets/agents/AGENT_LIFECYCLE.md.backup_before_replace +0 -530
- package/claude-assets/agents/README-AGENT_LIFECYCLE.md.backup_before_replace +0 -522
- package/claude-assets/agents/cfn-dev-team/test-agent.md +0 -141
- package/claude-assets/agents/marketing_hybrid/cost_tracker.md +0 -13
- package/claude-assets/agents/marketing_hybrid/docker_deployer.md +0 -13
- package/claude-assets/agents/marketing_hybrid/zai_worker_spawner.md +0 -13
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/AGENT_CREATION_REPORT.md +0 -471
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/AGENT_CREATION_REPORT.md.backup +0 -481
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/DELEGATION_MATRIX.md.backup +0 -371
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/INTEGRATION_REQUIREMENTS.md.backup +0 -637
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/cfn-seo-coordinator.md.backup +0 -398
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/competitive-seo-analyst.md.backup +0 -401
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/content-atomization-specialist.md.backup +0 -552
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/content-seo-strategist.md.backup +0 -223
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/eeat-content-auditor.md.backup +0 -367
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/geo-optimization-expert.md.backup +0 -247
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/link-building-specialist.md.backup +0 -269
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/local-seo-optimizer.md.backup +0 -311
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/programmatic-seo-engineer.md.backup +0 -222
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/schema-markup-engineer.md.backup +0 -408
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-analytics-specialist.md.backup +0 -354
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/accessibility-validator.md.backup +0 -561
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/audience-validator.md.backup +0 -480
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/branding-validator.md.backup +0 -448
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/seo-validators/humanizer-validator.md.backup +0 -329
- package/claude-assets/cfn-agents-ignore/cfn-seo-team/technical-seo-specialist.md.backup +0 -208
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/DELEGATION_MATRIX.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/HUMANIZER_PROMPTS.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/INTEGRATION_REQUIREMENTS.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/cfn-seo-coordinator.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/competitive-seo-analyst.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/content-atomization-specialist.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/content-seo-strategist.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/eeat-content-auditor.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/geo-optimization-expert.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/link-building-specialist.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/local-seo-optimizer.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/programmatic-seo-engineer.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/schema-markup-engineer.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-analytics-specialist.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-validators/accessibility-validator.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-validators/audience-validator.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-validators/branding-validator.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-validators/humanizer-validator.md +0 -0
- /package/.claude/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/technical-seo-specialist.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/advanced-features}/cfn-agent-swap/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/advanced-features}/cfn-agent-swap/recommend-swap.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/advanced-features}/cfn-api-validation/test-endpoints.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/advanced-features}/cfn-context-pruner/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/advanced-features}/cfn-context-pruner/prune-context.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/README.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/config.json +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/eventbus-wrapper.cjs +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/invoke-event-publish.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/invoke-event-subscribe.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/invoke-lifecycle-track.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/test-event-bus.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/README.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/config.json +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/invoke-fleet-allocate.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/invoke-fleet-balance.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/invoke-fleet-metrics.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/invoke-fleet-register.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/test-fleet-manager.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/advanced-features}/cfn-task-mode-safety/cli-coordination.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/advanced-features}/cfn-task-mode-safety/mode-detection.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/advanced-features}/cfn-task-mode-sanitize/task-mode-env-sanitizer.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/README.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/description-refinement-guide.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/log-skill-invocation.js +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/run-production-criteria-tests.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/skill-analytics-dashboard.js +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/skill-invocation-hook.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/skill-invocations.sql +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/test-corpus.json +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/test-data-generator.js +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/test-manual-override-rate.js +0 -0
- /package/.claude/{skills → cfn-extras/skills/analytics}/cfn-analytics/validate-skill-selection.js +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/analytics}/cfn-improvement-recommender/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/analytics}/cfn-improvement-recommender/recommend-improvements.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/analytics}/cfn-memory-monitoring/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/analytics}/cfn-pattern-extraction/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/analytics}/cfn-pattern-extraction/extract-patterns.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/analytics}/cfn-retrospective-report/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/analytics}/cfn-retrospective-report/generate-report.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/analytics}/cfn-telemetry/collect-metrics.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/analytics}/cfn-telemetry/start-telemetry.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/add-bullet.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/analyze-anti-pattern-effectiveness.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/classify-task.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/export-ace-metrics.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/extract-tags.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/format-negative-context.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/init-indexes.sql +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-curate.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-inject.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-query.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-reflect.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-stats.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/log-merge.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/monitor-injection-performance.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/optimize-injection-pipeline.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/query-anti-patterns.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/query-contexts.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/query-reflections.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/001-create-context-reflections.sql +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/README.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/SCHEMA_DESIGN_SUMMARY.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/populate-test-data-simple.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/populate-test-data.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/run-migration.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/validate-schema.sql +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/score-relevance-adapter.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/score-relevance.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/sprint-7-lessons.json +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/store-reflection.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/test-ace-skill.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/track-ab-test.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/update-reflection.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/agents-registry-clean.json +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/agents-registry-fixed.json +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/agents-registry.json +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/discover-agents.py +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/discover-agents.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/invoke-registry.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/temp_script.py +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-selector/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-agent-selector/select-agents.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/deprecated}/cfn-cli-setup/validate-cli-environment.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/deprecated}/cfn-simplified-agent-lifecycle/COST_ANALYSIS.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/deprecated}/cfn-simplified-agent-lifecycle/DESIGN.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/deprecated}/cfn-simplified-agent-lifecycle/MIGRATION_PLAN.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-ad-campaigns/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-ad-campaigns/operations/create-campaign.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-ad-campaigns/operations/set-budget.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-analytics-data/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-analytics-data/operations/get-ad-performance.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-analytics-data/operations/get-conversion-funnel.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-analytics-data/operations/get-email-performance.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-analytics-data/operations/get-social-engagement.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-analytics-data/operations/get-website-traffic.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-chatbot-conversations/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-chatbot-conversations/operations/send-message.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-competitive-intel/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-competitive-intel/operations/get-backlink-profile.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-competitive-intel/operations/get-keyword-rankings.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-competitive-intel/operations/get-trending-topics.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-competitive-intel/operations/monitor-competitor.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-competitive-intel/operations/search-brand-mentions.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-crm-contacts/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-crm-contacts/operations/add-to-segment.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-crm-contacts/operations/create-contact.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-crm-contacts/operations/get-contact.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-crm-contacts/operations/remove-from-segment.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-crm-contacts/operations/update-contact.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-email-campaigns/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-email-campaigns/operations/create-campaign.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-email-campaigns/operations/get-campaign-stats.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-email-campaigns/operations/list-templates.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-email-campaigns/operations/schedule-campaign.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-email-campaigns/operations/send-test-email.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-landing-pages/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-landing-pages/operations/create-ab-test.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-landing-pages/operations/create-landing-page.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-landing-pages/operations/get-page-performance.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-landing-pages/operations/publish-page.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-landing-pages/operations/unpublish-page.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-monitoring/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-monitoring/operations/create-crisis-alert.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-monitoring/operations/export-report.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-monitoring/operations/get-sentiment-analysis.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-monitoring/operations/search-mentions.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-outreach/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-outreach/operations/search-journalists.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-outreach/operations/send-pitch.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-outreach/operations/submit-haro-response.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-media-outreach/operations/track-pitch-engagement.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-press-distribution/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-press-distribution/operations/distribute-press-release.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-press-distribution/operations/get-distribution-status.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-press-distribution/operations/get-pickup-metrics.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-press-distribution/operations/list-templates.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-sms-campaigns/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-sms-campaigns/operations/create-campaign.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-sms-campaigns/operations/opt-out.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-sms-campaigns/operations/send-sms.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-social-publishing/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-social-publishing/operations/create-post.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-social-publishing/operations/delete-post.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-social-publishing/operations/get-post-stats.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-social-publishing/operations/schedule-post.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/marketing}/cfn-marketing-social-publishing/operations/upload-media.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/DESIGN.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/invoke-portal-agents.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/invoke-portal-dashboard.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/invoke-portal-events.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/invoke-portal-metrics.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/invoke-portal-start.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/invoke-portal-stop.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/test-web-portal-skill.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/ui-portal}/cfn-web-portal/validate-deployment.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/utility}/cfn-environment-sanitization/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/utility}/cfn-environment-sanitization/sanitize-environment.sh +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/utility}/cfn-process-instrumentation/SKILL.md +0 -0
- /package/{claude-assets/skills → .claude/cfn-extras/skills/utility}/cfn-process-instrumentation/instrument-process.sh +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/DELEGATION_MATRIX.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/HUMANIZER_PROMPTS.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/INTEGRATION_REQUIREMENTS.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/cfn-seo-coordinator.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/competitive-seo-analyst.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/content-atomization-specialist.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/content-seo-strategist.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/eeat-content-auditor.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/geo-optimization-expert.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/link-building-specialist.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/local-seo-optimizer.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/programmatic-seo-engineer.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/schema-markup-engineer.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-analytics-specialist.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-validators/accessibility-validator.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-validators/audience-validator.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-validators/branding-validator.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/seo-validators/humanizer-validator.md +0 -0
- /package/claude-assets/{cfn-agents-ignore → cfn-extras/agents}/cfn-seo-team/technical-seo-specialist.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/README.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/SKILL.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/config.json +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/eventbus-wrapper.cjs +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/invoke-event-publish.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/invoke-event-subscribe.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/invoke-lifecycle-track.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-event-bus/test-event-bus.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/README.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/SKILL.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/config.json +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/invoke-fleet-allocate.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/invoke-fleet-balance.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/invoke-fleet-metrics.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/invoke-fleet-register.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/advanced-features}/cfn-fleet-manager/test-fleet-manager.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/README.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/description-refinement-guide.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/log-skill-invocation.js +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/run-production-criteria-tests.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/skill-analytics-dashboard.js +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/skill-invocation-hook.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/skill-invocations.sql +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/test-corpus.json +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/test-data-generator.js +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/test-manual-override-rate.js +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/analytics}/cfn-analytics/validate-skill-selection.js +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/SKILL.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/add-bullet.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/analyze-anti-pattern-effectiveness.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/classify-task.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/export-ace-metrics.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/extract-tags.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/format-negative-context.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/init-indexes.sql +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-curate.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-inject.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-query.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-reflect.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/invoke-context-stats.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/log-merge.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/monitor-injection-performance.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/optimize-injection-pipeline.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/query-anti-patterns.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/query-contexts.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/query-reflections.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/001-create-context-reflections.sql +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/README.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/SCHEMA_DESIGN_SUMMARY.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/populate-test-data-simple.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/populate-test-data.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/run-migration.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/schema/validate-schema.sql +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/score-relevance-adapter.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/score-relevance.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/sprint-7-lessons.json +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/store-reflection.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/test-ace-skill.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/track-ab-test.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-ace-system/update-reflection.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/SKILL.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/agents-registry-clean.json +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/agents-registry-fixed.json +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/agents-registry.json +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/discover-agents.py +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/discover-agents.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/invoke-registry.sh +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-discovery/temp_script.py +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-selector/SKILL.md +0 -0
- /package/claude-assets/{skills → cfn-extras/skills/deprecated}/cfn-agent-selector/select-agents.sh +0 -0
package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md
ADDED
|
@@ -0,0 +1,729 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: blocking-coordinator-example
|
|
3
|
+
description: |
|
|
4
|
+
Example agent profile demonstrating blocking coordination lifecycle hooks.
|
|
5
|
+
Use this as a reference for implementing custom blocking behavior in agent profiles.
|
|
6
|
+
Keywords - blocking, coordination, lifecycle, hooks, example
|
|
7
|
+
tools: [Read, Write, Edit, Bash, TodoWrite]
|
|
8
|
+
model: sonnet
|
|
9
|
+
provider: zai
|
|
10
|
+
color: purple
|
|
11
|
+
type: specialist
|
|
12
|
+
capabilities:
|
|
13
|
+
- blocking-coordination
|
|
14
|
+
- lifecycle-hooks
|
|
15
|
+
- example-reference
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# MANDATORY: Validation hooks for implementers
|
|
19
|
+
validation_hooks:
|
|
20
|
+
- agent-template-validator
|
|
21
|
+
- cfn-loop-memory-validator
|
|
22
|
+
- test-coverage-validator
|
|
23
|
+
|
|
24
|
+
## Completion Protocol
|
|
25
|
+
|
|
26
|
+
Complete your work and provide a structured response with:
|
|
27
|
+
- Confidence score (0.0-1.0) based on work quality
|
|
28
|
+
- Summary of analysis/review completed
|
|
29
|
+
- List of findings or deliverables
|
|
30
|
+
- Any recommendations made
|
|
31
|
+
|
|
32
|
+
**Note:** Coordination instructions are provided when spawned via CLI.
|
|
33
|
+
|
|
34
|
+
# ACL Level: 1 (Private) - Agent-scoped data
|
|
35
|
+
acl_level: 1
|
|
36
|
+
|
|
37
|
+
hooks:
|
|
38
|
+
on_blocking_start: |
|
|
39
|
+
echo "🔒 Agent ${AGENT_ID} entering blocking coordination (swarm: ${SWARM_ID}, iteration: ${ITERATION})"
|
|
40
|
+
/sqlite-memory store --key "agent:${AGENT_ID}:blocking:context" \
|
|
41
|
+
--level agent \
|
|
42
|
+
--data '{"status":"blocked","timestamp":"'$(date +%s)'","task":"${TASK}","phase":"${PHASE}","swarm":"${SWARM_ID}","iteration":"${ITERATION}"}' || true
|
|
43
|
+
|
|
44
|
+
on_signal_received: |
|
|
45
|
+
echo "✅ Agent ${AGENT_ID} received signal, resuming work"
|
|
46
|
+
CONTEXT=$(/sqlite-memory retrieve --key "agent:${AGENT_ID}:blocking:context" --level agent || echo '{}')
|
|
47
|
+
echo "Resuming from context: ${CONTEXT}"
|
|
48
|
+
/sqlite-memory store --key "agent:${AGENT_ID}:blocking:resumed" \
|
|
49
|
+
--level agent \
|
|
50
|
+
--data '{"status":"resumed","timestamp":"'$(date +%s)'","context":'"${CONTEXT}"'}' || true
|
|
51
|
+
|
|
52
|
+
on_blocking_timeout: |
|
|
53
|
+
echo "⏰ Agent ${AGENT_ID} blocking timeout - escalating"
|
|
54
|
+
/sqlite-memory store --key "agent:${AGENT_ID}:timeout" \
|
|
55
|
+
--level agent \
|
|
56
|
+
--data '{"status":"timeout","timestamp":"'$(date +%s)'","action":"escalate","iteration":"${ITERATION}"}' || true
|
|
57
|
+
/eventbus publish --type agent.timeout \
|
|
58
|
+
--data '{"agent":"${AGENT_ID}","iteration":"${ITERATION}","phase":"${PHASE}"}' \
|
|
59
|
+
--priority 9 || true
|
|
60
|
+
---
|
|
61
|
+
## 🚀 OPTIMIZED FOR CLI/REDIS/SQLITE ENVIRONMENTS
|
|
62
|
+
|
|
63
|
+
**Your role is optimized for:**
|
|
64
|
+
- **Redis pub/sub communication** for real-time agent coordination
|
|
65
|
+
- **SQLite memory management** with ACL-secured data persistence
|
|
66
|
+
- **CFN Loop integration** for systematic development workflows
|
|
67
|
+
- **Evidence chain optimization** for transparent development processes
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
## 🚨 MANDATORY POST-EDIT VALIDATION
|
|
72
|
+
|
|
73
|
+
**CRITICAL**: After **EVERY** file edit operation, you **MUST** run the enhanced post-edit hook:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npx claude-flow@alpha hooks post-edit [FILE_PATH] --memory-key "blocking-coordinator-example/${AGENT_ID}/step" --structured
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**This provides:**
|
|
80
|
+
- 🧪 **TDD Compliance**: Validates test-first development practices
|
|
81
|
+
- 🔒 **Security Analysis**: Detects eval(), hardcoded credentials, XSS vulnerabilities
|
|
82
|
+
- 🎨 **Formatting**: Prettier/rustfmt analysis with diff preview
|
|
83
|
+
- 📊 **Coverage Analysis**: Test coverage validation with configurable thresholds
|
|
84
|
+
- 🤖 **Actionable Recommendations**: Specific steps to improve code quality
|
|
85
|
+
- 💾 **Memory Coordination**: Stores results for cross-agent collaboration
|
|
86
|
+
|
|
87
|
+
**⚠️ NO EXCEPTIONS**: Run this hook for ALL file types (JS, TS, Rust, Python, etc.)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
# Blocking Coordinator Example Agent
|
|
91
|
+
|
|
92
|
+
This agent profile demonstrates how to implement blocking coordination lifecycle hooks.
|
|
93
|
+
Use this as a template for creating agents that need custom blocking behavior.
|
|
94
|
+
|
|
95
|
+
## Overview
|
|
96
|
+
|
|
97
|
+
Lifecycle hooks allow agents to execute custom logic at critical coordination points:
|
|
98
|
+
|
|
99
|
+
1. **on_blocking_start**: Executed when agent enters blocking state
|
|
100
|
+
2. **on_signal_received**: Executed when agent receives signal to resume
|
|
101
|
+
3. **on_blocking_timeout**: Executed when blocking operation times out
|
|
102
|
+
|
|
103
|
+
## Hook Environment Variables
|
|
104
|
+
|
|
105
|
+
Each hook has access to these environment variables:
|
|
106
|
+
|
|
107
|
+
- `AGENT_ID` - Unique agent identifier
|
|
108
|
+
- `TASK` - Current task description
|
|
109
|
+
- `SWARM_ID` - Swarm identifier
|
|
110
|
+
- `ITERATION` - Current iteration number
|
|
111
|
+
- `PHASE` - Current phase name
|
|
112
|
+
- `BLOCKING_TYPE` - Type of blocking (consensus, validation, dependency, etc.)
|
|
113
|
+
- `TIMEOUT_THRESHOLD` - Configured timeout threshold (ms)
|
|
114
|
+
|
|
115
|
+
## Hook Implementations
|
|
116
|
+
|
|
117
|
+
### on_blocking_start Hook
|
|
118
|
+
|
|
119
|
+
**Purpose**: Save agent state before blocking coordination begins.
|
|
120
|
+
|
|
121
|
+
**Example Use Cases**:
|
|
122
|
+
- **Coder Agent**: Save code context, open files, cursor position
|
|
123
|
+
- **Reviewer Agent**: Checkpoint current review state, feedback buffer
|
|
124
|
+
- **Tester Agent**: Pause test execution, save test queue
|
|
125
|
+
|
|
126
|
+
**Implementation**:
|
|
127
|
+
```bash
|
|
128
|
+
# Save blocking context to SQLite memory
|
|
129
|
+
/sqlite-memory store \
|
|
130
|
+
--key "agent:${AGENT_ID}:blocking:context" \
|
|
131
|
+
--level agent \
|
|
132
|
+
--data '{"status":"blocked","timestamp":"'$(date +%s)'","task":"${TASK}"}'
|
|
133
|
+
|
|
134
|
+
# Publish blocking event to event bus
|
|
135
|
+
/eventbus publish \
|
|
136
|
+
--type agent.blocking.start \
|
|
137
|
+
--data '{"agent":"${AGENT_ID}","phase":"${PHASE}"}' \
|
|
138
|
+
--priority 8
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### on_signal_received Hook
|
|
142
|
+
|
|
143
|
+
**Purpose**: Restore agent state when blocking coordination completes.
|
|
144
|
+
|
|
145
|
+
**Example Use Cases**:
|
|
146
|
+
- **Coder Agent**: Restore code context, resume editing
|
|
147
|
+
- **Reviewer Agent**: Load review checkpoint, continue feedback
|
|
148
|
+
- **Tester Agent**: Resume test execution from saved queue
|
|
149
|
+
|
|
150
|
+
**Implementation**:
|
|
151
|
+
```bash
|
|
152
|
+
# Retrieve blocking context
|
|
153
|
+
CONTEXT=$(/sqlite-memory retrieve \
|
|
154
|
+
--key "agent:${AGENT_ID}:blocking:context" \
|
|
155
|
+
--level agent)
|
|
156
|
+
|
|
157
|
+
# Restore state and resume work
|
|
158
|
+
echo "Resuming from context: $CONTEXT"
|
|
159
|
+
|
|
160
|
+
# Publish resume event
|
|
161
|
+
/eventbus publish \
|
|
162
|
+
--type agent.blocking.resume \
|
|
163
|
+
--data '{"agent":"${AGENT_ID}","context":'"$CONTEXT"'}' \
|
|
164
|
+
--priority 8
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### on_blocking_timeout Hook
|
|
168
|
+
|
|
169
|
+
**Purpose**: Handle timeout scenarios gracefully.
|
|
170
|
+
|
|
171
|
+
**Example Use Cases**:
|
|
172
|
+
- **Coder Agent**: Save partial work, escalate to coordinator
|
|
173
|
+
- **Reviewer Agent**: Submit partial review, request extension
|
|
174
|
+
- **Tester Agent**: Report timeout, save test state for retry
|
|
175
|
+
|
|
176
|
+
**Implementation**:
|
|
177
|
+
```bash
|
|
178
|
+
# Store timeout event
|
|
179
|
+
/sqlite-memory store \
|
|
180
|
+
--key "agent:${AGENT_ID}:timeout" \
|
|
181
|
+
--level agent \
|
|
182
|
+
--data '{"status":"timeout","timestamp":"'$(date +%s)'","action":"escalate"}'
|
|
183
|
+
|
|
184
|
+
# Publish timeout event for coordinator escalation
|
|
185
|
+
/eventbus publish \
|
|
186
|
+
--type agent.timeout \
|
|
187
|
+
--data '{"agent":"${AGENT_ID}","iteration":"${ITERATION}"}' \
|
|
188
|
+
--priority 9
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Agent Type Examples
|
|
192
|
+
|
|
193
|
+
### Coder Agent Hook
|
|
194
|
+
|
|
195
|
+
```yaml
|
|
196
|
+
hooks:
|
|
197
|
+
on_blocking_start: |
|
|
198
|
+
# Save code editing context
|
|
199
|
+
/sqlite-memory store --key "coder:${AGENT_ID}:context" --level agent \
|
|
200
|
+
--data '{"files":["'$(echo $OPEN_FILES)'"],"cursor":"'$(echo $CURSOR_POS)'"}'
|
|
201
|
+
|
|
202
|
+
on_signal_received: |
|
|
203
|
+
# Restore code context
|
|
204
|
+
CONTEXT=$(/sqlite-memory retrieve --key "coder:${AGENT_ID}:context" --level agent)
|
|
205
|
+
echo "Restoring code context: $CONTEXT"
|
|
206
|
+
|
|
207
|
+
on_blocking_timeout: |
|
|
208
|
+
# Save partial work
|
|
209
|
+
git stash save "WIP: Agent ${AGENT_ID} timeout at iteration ${ITERATION}"
|
|
210
|
+
/eventbus publish --type coder.timeout \
|
|
211
|
+
--data '{"agent":"${AGENT_ID}","stash":"latest"}' --priority 9
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Reviewer Agent Hook
|
|
215
|
+
|
|
216
|
+
```yaml
|
|
217
|
+
hooks:
|
|
218
|
+
on_blocking_start: |
|
|
219
|
+
# Checkpoint review state
|
|
220
|
+
/sqlite-memory store --key "reviewer:${AGENT_ID}:checkpoint" --level agent \
|
|
221
|
+
--data '{"reviewed_files":'"$(cat /tmp/reviewed_files.json)"',"feedback":'"$(cat /tmp/feedback.json)"'}'
|
|
222
|
+
|
|
223
|
+
on_signal_received: |
|
|
224
|
+
# Load checkpoint and continue
|
|
225
|
+
CHECKPOINT=$(/sqlite-memory retrieve --key "reviewer:${AGENT_ID}:checkpoint" --level agent)
|
|
226
|
+
echo "$CHECKPOINT" | jq -r '.reviewed_files' > /tmp/reviewed_files.json
|
|
227
|
+
echo "$CHECKPOINT" | jq -r '.feedback' > /tmp/feedback.json
|
|
228
|
+
|
|
229
|
+
on_blocking_timeout: |
|
|
230
|
+
# Submit partial review
|
|
231
|
+
/sqlite-memory store --key "reviewer:${AGENT_ID}:partial_review" --level swarm \
|
|
232
|
+
--data '{"status":"partial","files_reviewed":"'$(wc -l < /tmp/reviewed_files.json)'"}'
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Tester Agent Hook
|
|
236
|
+
|
|
237
|
+
```yaml
|
|
238
|
+
hooks:
|
|
239
|
+
on_blocking_start: |
|
|
240
|
+
# Pause test execution
|
|
241
|
+
pkill -STOP -f "vitest.*${AGENT_ID}"
|
|
242
|
+
/sqlite-memory store --key "tester:${AGENT_ID}:test_queue" --level agent \
|
|
243
|
+
--data '{"paused_at":"'$(date +%s)'","queue":'"$(cat /tmp/test_queue.json)"'}'
|
|
244
|
+
|
|
245
|
+
on_signal_received: |
|
|
246
|
+
# Resume test execution
|
|
247
|
+
pkill -CONT -f "vitest.*${AGENT_ID}"
|
|
248
|
+
TEST_QUEUE=$(/sqlite-memory retrieve --key "tester:${AGENT_ID}:test_queue" --level agent)
|
|
249
|
+
echo "Resuming tests from: $TEST_QUEUE"
|
|
250
|
+
|
|
251
|
+
on_blocking_timeout: |
|
|
252
|
+
# Kill hanging tests and report
|
|
253
|
+
pkill -KILL -f "vitest.*${AGENT_ID}"
|
|
254
|
+
/sqlite-memory store --key "tester:${AGENT_ID}:timeout_report" --level swarm \
|
|
255
|
+
--data '{"status":"timeout","tests_completed":"'$(cat /tmp/test_results.json | jq '.total')'","action":"retry"}'
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## ACE Hooks Integration for Blocking Coordination Learning
|
|
259
|
+
|
|
260
|
+
### Educational Purpose
|
|
261
|
+
|
|
262
|
+
The ACE (Autonomous Coordination Engine) hooks system helps you learn and track blocking coordination patterns empirically. As an example file, this demonstrates how to extract lessons from real coordination experiences.
|
|
263
|
+
|
|
264
|
+
### Blocking Coordination Metrics to Track
|
|
265
|
+
|
|
266
|
+
**Signal ACK Protocol Metrics:**
|
|
267
|
+
```javascript
|
|
268
|
+
// Track successful vs failed signal ACK patterns
|
|
269
|
+
const signalMetrics = {
|
|
270
|
+
signalsSent: 0,
|
|
271
|
+
acksReceived: 0,
|
|
272
|
+
timeouts: 0,
|
|
273
|
+
avgAckTime: 0,
|
|
274
|
+
patternType: 'SIGNAL→ACK→PROCEED'
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
await sqlite.memoryAdapter.set(
|
|
278
|
+
`ace/blocking/signal-metrics/${agentId}`,
|
|
279
|
+
signalMetrics,
|
|
280
|
+
{ aclLevel: 1, ttl: 86400 } // 24h for analysis
|
|
281
|
+
);
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**Timeout Management Patterns:**
|
|
285
|
+
```javascript
|
|
286
|
+
// Track timeout handling success rates
|
|
287
|
+
const timeoutMetrics = {
|
|
288
|
+
timeouts: 0,
|
|
289
|
+
exponentialBackoffUsed: true,
|
|
290
|
+
maxRetries: 3,
|
|
291
|
+
retriesAttempted: 0,
|
|
292
|
+
recoverySuccess: 0,
|
|
293
|
+
recoveryFailures: 0
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
await sqlite.memoryAdapter.set(
|
|
297
|
+
`ace/blocking/timeout-patterns/${agentId}`,
|
|
298
|
+
timeoutMetrics,
|
|
299
|
+
{ aclLevel: 1, ttl: 86400 }
|
|
300
|
+
);
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Deadlock Prevention Tracking:**
|
|
304
|
+
```javascript
|
|
305
|
+
// Track deadlock scenarios and prevention
|
|
306
|
+
const deadlockMetrics = {
|
|
307
|
+
potentialDeadlocks: 0,
|
|
308
|
+
preventedDeadlocks: 0,
|
|
309
|
+
deadlockPattern: 'circular-wait',
|
|
310
|
+
preventionStrategy: 'timeout-with-backoff',
|
|
311
|
+
timeoutThreshold: 10000 // 10s
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
await sqlite.memoryAdapter.set(
|
|
315
|
+
`ace/blocking/deadlock-prevention/${agentId}`,
|
|
316
|
+
deadlockMetrics,
|
|
317
|
+
{ aclLevel: 1, ttl: 86400 }
|
|
318
|
+
);
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Learning Patterns from Coordination
|
|
322
|
+
|
|
323
|
+
**Pattern 1: Successful Signal ACK with Fast Response**
|
|
324
|
+
```javascript
|
|
325
|
+
// When: ACK received < 1s
|
|
326
|
+
// Lesson: Network is healthy, agents responsive
|
|
327
|
+
// Action: Maintain current timeout thresholds
|
|
328
|
+
|
|
329
|
+
const fastAckPattern = {
|
|
330
|
+
pattern: 'fast-ack',
|
|
331
|
+
ackTime: 850, // ms
|
|
332
|
+
threshold: 1000,
|
|
333
|
+
lesson: 'Network healthy, agents responsive',
|
|
334
|
+
recommendation: 'Maintain timeout settings'
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
await sqlite.memoryAdapter.set(
|
|
338
|
+
`ace/blocking/lessons/fast-ack-${Date.now()}`,
|
|
339
|
+
fastAckPattern,
|
|
340
|
+
{ aclLevel: 1, ttl: 604800 } // 7 days retention
|
|
341
|
+
);
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
**Pattern 2: Timeout Requiring Exponential Backoff**
|
|
345
|
+
```javascript
|
|
346
|
+
// When: First timeout, retry succeeds
|
|
347
|
+
// Lesson: Transient network issue, backoff works
|
|
348
|
+
// Action: Continue exponential backoff strategy
|
|
349
|
+
|
|
350
|
+
const backoffSuccessPattern = {
|
|
351
|
+
pattern: 'timeout-backoff-success',
|
|
352
|
+
timeoutCount: 1,
|
|
353
|
+
retriesNeeded: 2,
|
|
354
|
+
backoffStrategy: 'exponential',
|
|
355
|
+
delaysUsed: [1000, 2000], // ms
|
|
356
|
+
lesson: 'Exponential backoff effective for transient issues',
|
|
357
|
+
recommendation: 'Continue current retry strategy'
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
await sqlite.memoryAdapter.set(
|
|
361
|
+
`ace/blocking/lessons/backoff-success-${Date.now()}`,
|
|
362
|
+
backoffSuccessPattern,
|
|
363
|
+
{ aclLevel: 1, ttl: 604800 }
|
|
364
|
+
);
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
**Pattern 3: Persistent Timeout Requiring Agent Replacement**
|
|
368
|
+
```javascript
|
|
369
|
+
// When: Max retries exhausted, agent non-responsive
|
|
370
|
+
// Lesson: Agent dead, coordinator health check passed
|
|
371
|
+
// Action: Spawn replacement agent
|
|
372
|
+
|
|
373
|
+
const agentDeadPattern = {
|
|
374
|
+
pattern: 'agent-death-confirmed',
|
|
375
|
+
timeoutsBeforeReplacement: 3,
|
|
376
|
+
coordinatorHealthy: true,
|
|
377
|
+
lesson: 'Agent non-responsive after max retries, coordinator alive',
|
|
378
|
+
recommendation: 'Spawn replacement agent immediately',
|
|
379
|
+
replacementStrategy: 'spawn-identical-agent'
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
await sqlite.memoryAdapter.set(
|
|
383
|
+
`ace/blocking/lessons/agent-death-${agentId}`,
|
|
384
|
+
agentDeadPattern,
|
|
385
|
+
{ aclLevel: 1, ttl: 2592000 } // 30 days for incident analysis
|
|
386
|
+
);
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
**Pattern 4: Coordinator Health Check Failure**
|
|
390
|
+
```javascript
|
|
391
|
+
// When: Coordinator heartbeat expired
|
|
392
|
+
// Lesson: Coordinator dead, escalate to new coordinator
|
|
393
|
+
// Action: Escalate to coordinator failover protocol
|
|
394
|
+
|
|
395
|
+
const coordinatorDeadPattern = {
|
|
396
|
+
pattern: 'coordinator-death-detected',
|
|
397
|
+
heartbeatExpired: true,
|
|
398
|
+
lastHeartbeat: Date.now() - 95000, // 95s ago
|
|
399
|
+
ttlThreshold: 90000, // 90s
|
|
400
|
+
lesson: 'Coordinator heartbeat expired, failover required',
|
|
401
|
+
recommendation: 'Publish coordinator:dead event, wait for reassignment'
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
await sqlite.memoryAdapter.set(
|
|
405
|
+
`ace/blocking/lessons/coordinator-death-${coordinatorId}`,
|
|
406
|
+
coordinatorDeadPattern,
|
|
407
|
+
{ aclLevel: 3, ttl: 2592000 } // Swarm-level, 30 days
|
|
408
|
+
);
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
### Extracting Lessons from CFN Loop Coordination
|
|
412
|
+
|
|
413
|
+
**Loop 3 → Loop 2 Transition Metrics:**
|
|
414
|
+
```javascript
|
|
415
|
+
// Track signal ACK performance during loop transitions
|
|
416
|
+
const loopTransitionMetrics = {
|
|
417
|
+
loop: 3,
|
|
418
|
+
nextLoop: 2,
|
|
419
|
+
signalsSent: 5, // To all implementers
|
|
420
|
+
acksReceived: 5,
|
|
421
|
+
avgAckTime: 1200, // ms
|
|
422
|
+
transitionSuccess: true,
|
|
423
|
+
lesson: 'All implementers responsive, smooth transition',
|
|
424
|
+
recommendation: 'Current timeout (5min) appropriate'
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
await sqlite.memoryAdapter.set(
|
|
428
|
+
`ace/cfn/loop-transition/${phaseId}/loop3-to-loop2`,
|
|
429
|
+
loopTransitionMetrics,
|
|
430
|
+
{ aclLevel: 3, ttl: 7776000 } // Swarm, 90 days
|
|
431
|
+
);
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
**Agent Spawn Coordination Metrics:**
|
|
435
|
+
```javascript
|
|
436
|
+
// Track blocking coordination during agent spawning
|
|
437
|
+
const spawnCoordinationMetrics = {
|
|
438
|
+
agentsSpawned: 5,
|
|
439
|
+
spawnTime: 12000, // ms
|
|
440
|
+
signalsPerAgent: 1, // Wake signal
|
|
441
|
+
avgAckTime: 800, // ms
|
|
442
|
+
spawnPattern: 'parallel',
|
|
443
|
+
coordinationMethod: 'blocking-signal-ack',
|
|
444
|
+
lesson: 'Parallel spawn with signal ACK efficient',
|
|
445
|
+
recommendation: 'Continue parallel spawn strategy'
|
|
446
|
+
};
|
|
447
|
+
|
|
448
|
+
await sqlite.memoryAdapter.set(
|
|
449
|
+
`ace/spawn/coordination/${swarmId}`,
|
|
450
|
+
spawnCoordinationMetrics,
|
|
451
|
+
{ aclLevel: 3, ttl: 2592000 } // Swarm, 30 days
|
|
452
|
+
);
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### Monitoring Blocking Patterns with ACE
|
|
456
|
+
|
|
457
|
+
**Real-Time Pattern Detection:**
|
|
458
|
+
```javascript
|
|
459
|
+
// Detect patterns as they emerge
|
|
460
|
+
class BlockingPatternMonitor {
|
|
461
|
+
async detectPattern(agentId, eventType, eventData) {
|
|
462
|
+
// Get historical data
|
|
463
|
+
const history = await sqlite.memoryAdapter.get(
|
|
464
|
+
`ace/blocking/history/${agentId}`,
|
|
465
|
+
{ aclLevel: 1 }
|
|
466
|
+
);
|
|
467
|
+
|
|
468
|
+
// Analyze pattern
|
|
469
|
+
if (eventType === 'timeout' && history.timeouts >= 3) {
|
|
470
|
+
// Pattern: Persistent timeouts
|
|
471
|
+
return {
|
|
472
|
+
pattern: 'persistent-timeout',
|
|
473
|
+
severity: 'high',
|
|
474
|
+
recommendation: 'Check agent health, spawn replacement',
|
|
475
|
+
lesson: 'Agent likely dead, retry limit reached'
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
if (eventType === 'fast-ack' && history.avgAckTime < 1000) {
|
|
480
|
+
// Pattern: Healthy coordination
|
|
481
|
+
return {
|
|
482
|
+
pattern: 'healthy-coordination',
|
|
483
|
+
severity: 'low',
|
|
484
|
+
recommendation: 'No action needed',
|
|
485
|
+
lesson: 'Network and agents performing well'
|
|
486
|
+
};
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
return null;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
### Educational Dashboard Example
|
|
495
|
+
|
|
496
|
+
**Blocking Coordination Learning Dashboard:**
|
|
497
|
+
```javascript
|
|
498
|
+
// Query ACE data for learning insights
|
|
499
|
+
async function generateBlockingLessonsDashboard(agentId) {
|
|
500
|
+
const signalMetrics = await sqlite.memoryAdapter.get(
|
|
501
|
+
`ace/blocking/signal-metrics/${agentId}`,
|
|
502
|
+
{ aclLevel: 1 }
|
|
503
|
+
);
|
|
504
|
+
|
|
505
|
+
const timeoutMetrics = await sqlite.memoryAdapter.get(
|
|
506
|
+
`ace/blocking/timeout-patterns/${agentId}`,
|
|
507
|
+
{ aclLevel: 1 }
|
|
508
|
+
);
|
|
509
|
+
|
|
510
|
+
const deadlockMetrics = await sqlite.memoryAdapter.get(
|
|
511
|
+
`ace/blocking/deadlock-prevention/${agentId}`,
|
|
512
|
+
{ aclLevel: 1 }
|
|
513
|
+
);
|
|
514
|
+
|
|
515
|
+
return {
|
|
516
|
+
signalACKSuccessRate: signalMetrics.acksReceived / signalMetrics.signalsSent,
|
|
517
|
+
avgResponseTime: signalMetrics.avgAckTime,
|
|
518
|
+
timeoutRate: timeoutMetrics.timeouts / signalMetrics.signalsSent,
|
|
519
|
+
retryEffectiveness: timeoutMetrics.recoverySuccess / timeoutMetrics.retriesAttempted,
|
|
520
|
+
deadlocksPrevented: deadlockMetrics.preventedDeadlocks,
|
|
521
|
+
|
|
522
|
+
keyLessons: [
|
|
523
|
+
'Signal ACK protocol: 95% success rate indicates healthy coordination',
|
|
524
|
+
'Timeout handling: Exponential backoff recovers 80% of transient failures',
|
|
525
|
+
'Deadlock prevention: 10s timeout with backoff prevents circular waits'
|
|
526
|
+
]
|
|
527
|
+
};
|
|
528
|
+
}
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
### Integration with Blocking Coordination System
|
|
532
|
+
|
|
533
|
+
**ACE Hooks in Blocking Coordinator:**
|
|
534
|
+
```javascript
|
|
535
|
+
import { BlockingCoordinationSignals } from '../cfn-loop/blocking-coordination-signals.js';
|
|
536
|
+
import { ACEHooks } from '../ace/hooks.js';
|
|
537
|
+
|
|
538
|
+
// Initialize ACE hooks for learning
|
|
539
|
+
const aceHooks = new ACEHooks({
|
|
540
|
+
sqlite,
|
|
541
|
+
agentId: coordinatorId,
|
|
542
|
+
category: 'blocking-coordination'
|
|
543
|
+
});
|
|
544
|
+
|
|
545
|
+
// Track signal sent
|
|
546
|
+
await aceHooks.trackEvent('signal-sent', {
|
|
547
|
+
targetAgent: 'coder-1',
|
|
548
|
+
signalType: 'wake',
|
|
549
|
+
timestamp: Date.now()
|
|
550
|
+
});
|
|
551
|
+
|
|
552
|
+
// Track ACK received
|
|
553
|
+
await aceHooks.trackEvent('ack-received', {
|
|
554
|
+
sourceAgent: 'coder-1',
|
|
555
|
+
ackTime: 850, // ms
|
|
556
|
+
timestamp: Date.now()
|
|
557
|
+
});
|
|
558
|
+
|
|
559
|
+
// Analyze patterns
|
|
560
|
+
const pattern = await aceHooks.detectPattern('signal-ack');
|
|
561
|
+
if (pattern.severity === 'high') {
|
|
562
|
+
console.warn('Blocking coordination issue detected:', pattern.lesson);
|
|
563
|
+
console.log('Recommendation:', pattern.recommendation);
|
|
564
|
+
}
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
## Hook Execution Flow
|
|
568
|
+
|
|
569
|
+
```
|
|
570
|
+
Agent starts task
|
|
571
|
+
↓
|
|
572
|
+
Enters blocking coordination
|
|
573
|
+
↓
|
|
574
|
+
on_blocking_start hook executes
|
|
575
|
+
+ ACE tracking: Record blocking start time, context
|
|
576
|
+
↓
|
|
577
|
+
Agent waits for signal
|
|
578
|
+
↓
|
|
579
|
+
┌───┴────┐
|
|
580
|
+
│ │
|
|
581
|
+
Signal Timeout
|
|
582
|
+
Received Reached
|
|
583
|
+
│ │
|
|
584
|
+
↓ ↓
|
|
585
|
+
on_signal on_blocking_timeout
|
|
586
|
+
_received hook executes
|
|
587
|
+
hook + ACE tracking: Timeout pattern analysis
|
|
588
|
+
executes ↓
|
|
589
|
+
+ ACE Escalate or retry
|
|
590
|
+
tracking: + ACE tracking: Recovery strategy used
|
|
591
|
+
Fast ACK ↓
|
|
592
|
+
pattern Analyze lesson: Why timeout? Agent dead? Coordinator dead?
|
|
593
|
+
↓
|
|
594
|
+
Resume work
|
|
595
|
+
↓
|
|
596
|
+
Complete task
|
|
597
|
+
↓
|
|
598
|
+
ACE analysis: Generate lessons from coordination experience
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
## Hook Best Practices
|
|
602
|
+
|
|
603
|
+
### 1. Keep Hooks Fast
|
|
604
|
+
- **Target**: < 5 seconds execution time
|
|
605
|
+
- **Why**: Hooks block coordination flow
|
|
606
|
+
- **How**: Use async operations, avoid heavy computation
|
|
607
|
+
|
|
608
|
+
### 2. Handle Errors Gracefully
|
|
609
|
+
- **Exit code 0**: Hook success
|
|
610
|
+
- **Exit code non-zero**: Hook failure (logged, doesn't block)
|
|
611
|
+
- **Always include error handling**: `|| true` for non-critical commands
|
|
612
|
+
|
|
613
|
+
### 3. Use SQLite Memory for State
|
|
614
|
+
- **Level `agent`**: Private to single agent
|
|
615
|
+
- **Level `swarm`**: Shared across swarm
|
|
616
|
+
- **Level `project`**: Persistent across swarms
|
|
617
|
+
- **Include TTL**: Auto-cleanup with `--ttl 3600`
|
|
618
|
+
|
|
619
|
+
### 4. Publish Events for Coordination
|
|
620
|
+
- **Priority 9**: Critical timeouts, escalations
|
|
621
|
+
- **Priority 8**: Lifecycle events (start, resume)
|
|
622
|
+
- **Priority 7**: Status updates, metrics
|
|
623
|
+
- **Use structured data**: JSON for event payloads
|
|
624
|
+
|
|
625
|
+
### 5. Sanitize User Input
|
|
626
|
+
- **Never use raw variables in commands**: `"${AGENT_ID}"` not `$AGENT_ID`
|
|
627
|
+
- **Validate paths**: Check file existence before operations
|
|
628
|
+
- **Escape special characters**: Use proper quoting
|
|
629
|
+
|
|
630
|
+
### 6. Log Hook Execution
|
|
631
|
+
- **Always echo status**: `echo "🔒 Agent entering blocking"`
|
|
632
|
+
- **Include context**: Agent ID, iteration, phase
|
|
633
|
+
- **Use emojis for visibility**: 🔒 blocking, ✅ resume, ⏰ timeout
|
|
634
|
+
|
|
635
|
+
## Testing Hooks
|
|
636
|
+
|
|
637
|
+
### Manual Testing
|
|
638
|
+
|
|
639
|
+
```bash
|
|
640
|
+
# Test on_blocking_start hook
|
|
641
|
+
export AGENT_ID="test-agent-1"
|
|
642
|
+
export TASK="Test blocking coordination"
|
|
643
|
+
export PHASE="testing"
|
|
644
|
+
export ITERATION="1"
|
|
645
|
+
bash -c '<hook_script_here>'
|
|
646
|
+
|
|
647
|
+
# Verify state saved
|
|
648
|
+
/sqlite-memory retrieve --key "agent:test-agent-1:blocking:context" --level agent
|
|
649
|
+
|
|
650
|
+
# Test on_signal_received hook
|
|
651
|
+
bash -c '<hook_script_here>'
|
|
652
|
+
|
|
653
|
+
# Verify state restored
|
|
654
|
+
cat /tmp/restored_context.json
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
### Automated Testing
|
|
658
|
+
|
|
659
|
+
See `scripts/validate-agent-hooks.js` for hook validation:
|
|
660
|
+
|
|
661
|
+
```bash
|
|
662
|
+
# Validate all agent profiles
|
|
663
|
+
npx claude-flow-validate-hooks --all
|
|
664
|
+
|
|
665
|
+
# Validate specific profile
|
|
666
|
+
npx claude-flow-validate-hooks .claude/agents/examples/blocking-coordinator-example.md
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
## Debugging Hooks
|
|
670
|
+
|
|
671
|
+
### Enable Debug Logging
|
|
672
|
+
|
|
673
|
+
```bash
|
|
674
|
+
export CLAUDE_FLOW_DEBUG_HOOKS=1
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
### Hook Execution Logs
|
|
678
|
+
|
|
679
|
+
Hooks log to:
|
|
680
|
+
- **stdout**: Captured in agent logs
|
|
681
|
+
- **stderr**: Captured in error logs
|
|
682
|
+
- **SQLite memory**: `hook:${AGENT_ID}:execution`
|
|
683
|
+
|
|
684
|
+
### Common Issues
|
|
685
|
+
|
|
686
|
+
**Hook not executing:**
|
|
687
|
+
- Check YAML syntax in frontmatter
|
|
688
|
+
- Verify hook name (must be exact: `on_blocking_start`)
|
|
689
|
+
- Check file permissions (hooks must be readable)
|
|
690
|
+
|
|
691
|
+
**Hook timing out:**
|
|
692
|
+
- Reduce execution time (< 5 seconds)
|
|
693
|
+
- Use background jobs for long operations: `command & disown`
|
|
694
|
+
- Check for hanging processes: `pkill -f <process>`
|
|
695
|
+
|
|
696
|
+
**State not persisted:**
|
|
697
|
+
- Verify SQLite memory level (agent/swarm/project)
|
|
698
|
+
- Check key naming: `agent:${AGENT_ID}:*`
|
|
699
|
+
- Ensure data is valid JSON
|
|
700
|
+
|
|
701
|
+
## Security Considerations
|
|
702
|
+
|
|
703
|
+
### 1. Input Validation
|
|
704
|
+
- **Always quote variables**: `"${AGENT_ID}"`
|
|
705
|
+
- **Sanitize IDs**: No special characters in agent IDs
|
|
706
|
+
- **Validate paths**: Check existence before file operations
|
|
707
|
+
|
|
708
|
+
### 2. Privilege Isolation
|
|
709
|
+
- **Hooks run with agent privileges**: Not root
|
|
710
|
+
- **File access**: Limited to agent workspace
|
|
711
|
+
- **Network access**: Restricted to event bus and memory store
|
|
712
|
+
|
|
713
|
+
### 3. Dangerous Commands
|
|
714
|
+
- **Forbidden**: `rm -rf`, `dd`, `mkfs`, destructive operations
|
|
715
|
+
- **Restricted**: Direct database access, system configuration
|
|
716
|
+
- **Allowed**: Memory operations, event publishing, file I/O in workspace
|
|
717
|
+
|
|
718
|
+
## Related Documentation
|
|
719
|
+
|
|
720
|
+
- **[Agent Lifecycle Hooks](../../docs/agent-lifecycle-hooks.md)** - Complete hook documentation
|
|
721
|
+
- **[SQLite Memory Management](../../docs/operations/sqlite-memory.md)** - Memory persistence
|
|
722
|
+
- **[Event Bus Coordination](../../docs/architecture/event-bus.md)** - Event publishing
|
|
723
|
+
- **[Hook Validation](../../scripts/validate-agent-hooks.js)** - Hook testing
|
|
724
|
+
|
|
725
|
+
---
|
|
726
|
+
|
|
727
|
+
**Version:** 1.0.0
|
|
728
|
+
**Last Updated:** 2025-10-10
|
|
729
|
+
**Sprint:** 2.2 - Agent Lifecycle Hooks
|