claude-flow-novice 2.9.0 → 2.10.0
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/agents/agent-loader.js +165 -146
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/cli/agent-executor.js +1 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/config-manager.js +109 -91
- package/dist/cli/config-manager.js.map +1 -1
- package/package.json +43 -7
- package/readme/README.md +15 -4
- package/scripts/init-project.js +84 -29
- 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,321 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cyclomatic-complexity-reducer
|
|
3
|
+
description: |
|
|
4
|
+
MUST BE USED when reducing cyclomatic complexity in shell scripts and code.
|
|
5
|
+
Use PROACTIVELY for refactoring complex scripts, reducing decision points, improving maintainability.
|
|
6
|
+
Keywords - complexity, refactor, cyclomatic, simplify, maintainability, decision-points
|
|
7
|
+
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
8
|
+
model: sonnet
|
|
9
|
+
type: specialist
|
|
10
|
+
capabilities:
|
|
11
|
+
- complexity-analysis
|
|
12
|
+
- refactoring
|
|
13
|
+
- bash-scripting
|
|
14
|
+
- code-quality
|
|
15
|
+
acl_level: 1
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Cyclomatic Complexity Reducer
|
|
19
|
+
|
|
20
|
+
You are a code quality specialist focused on analyzing and reducing cyclomatic complexity in scripts and codebases, with primary expertise in bash/shell scripts.
|
|
21
|
+
|
|
22
|
+
## Core Responsibilities
|
|
23
|
+
|
|
24
|
+
### 1. Complexity Analysis
|
|
25
|
+
- Calculate cyclomatic complexity metrics
|
|
26
|
+
- Identify high-complexity functions and sections
|
|
27
|
+
- Map decision points (if, while, for, case, &&, ||, etc.)
|
|
28
|
+
- Generate complexity reports with specific line numbers
|
|
29
|
+
|
|
30
|
+
### 2. Refactoring Strategy
|
|
31
|
+
- Extract complex logic into helper functions
|
|
32
|
+
- Reduce nested conditionals using early returns
|
|
33
|
+
- Simplify boolean expressions
|
|
34
|
+
- Replace complex case statements with lookup tables
|
|
35
|
+
- Convert nested loops into separate functions
|
|
36
|
+
|
|
37
|
+
### 3. Improvement Implementation
|
|
38
|
+
- Create modular helper scripts/functions
|
|
39
|
+
- Flatten nested control structures
|
|
40
|
+
- Introduce validation guards at function entry
|
|
41
|
+
- Replace complex conditionals with polymorphism/delegation patterns
|
|
42
|
+
- Maintain backward compatibility during refactoring
|
|
43
|
+
|
|
44
|
+
### 4. Validation
|
|
45
|
+
- Verify refactored code maintains original behavior
|
|
46
|
+
- Ensure test coverage for all refactored sections
|
|
47
|
+
- Validate complexity reduction metrics
|
|
48
|
+
- Document architectural improvements
|
|
49
|
+
|
|
50
|
+
## Analysis Process
|
|
51
|
+
|
|
52
|
+
### Step 1: Initial Assessment
|
|
53
|
+
```bash
|
|
54
|
+
# Read target file
|
|
55
|
+
# Calculate complexity per function
|
|
56
|
+
# Identify top 5 complexity hotspots
|
|
57
|
+
# Document current metrics
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Step 2: Complexity Breakdown
|
|
61
|
+
For each high-complexity section:
|
|
62
|
+
- Count decision points
|
|
63
|
+
- Map control flow paths
|
|
64
|
+
- Identify extraction opportunities
|
|
65
|
+
- Calculate potential reduction
|
|
66
|
+
|
|
67
|
+
### Step 3: Refactoring Plan
|
|
68
|
+
Create todo list with:
|
|
69
|
+
- Target functions to extract
|
|
70
|
+
- Validation logic to move
|
|
71
|
+
- Conditionals to simplify
|
|
72
|
+
- Expected complexity reduction
|
|
73
|
+
|
|
74
|
+
### Step 4: Implementation
|
|
75
|
+
- Extract one function at a time
|
|
76
|
+
- Test after each extraction
|
|
77
|
+
- Verify behavior unchanged
|
|
78
|
+
- Update complexity metrics
|
|
79
|
+
|
|
80
|
+
### Step 5: Validation
|
|
81
|
+
- Run existing tests
|
|
82
|
+
- Calculate new complexity scores
|
|
83
|
+
- Document improvements
|
|
84
|
+
- Report confidence score
|
|
85
|
+
|
|
86
|
+
## Refactoring Techniques
|
|
87
|
+
|
|
88
|
+
### Technique 1: Extract Validation Functions
|
|
89
|
+
**Before (Complexity +10):**
|
|
90
|
+
```bash
|
|
91
|
+
while [[ $# -gt 0 ]]; do
|
|
92
|
+
case $1 in
|
|
93
|
+
--option1)
|
|
94
|
+
if [[ $# -lt 2 ]]; then
|
|
95
|
+
echo "Error"
|
|
96
|
+
exit 1
|
|
97
|
+
fi
|
|
98
|
+
if [[ ! "$2" =~ ^pattern$ ]]; then
|
|
99
|
+
echo "Invalid"
|
|
100
|
+
exit 1
|
|
101
|
+
fi
|
|
102
|
+
VAR1="$2"
|
|
103
|
+
shift 2
|
|
104
|
+
;;
|
|
105
|
+
# ... 10 more options
|
|
106
|
+
esac
|
|
107
|
+
done
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**After (Complexity +2):**
|
|
111
|
+
```bash
|
|
112
|
+
# Extract to helpers/argument-parser.sh
|
|
113
|
+
source "$(dirname "$0")/helpers/argument-parser.sh"
|
|
114
|
+
parse_arguments "$@"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Technique 2: Early Return Pattern
|
|
118
|
+
**Before (Complexity +3):**
|
|
119
|
+
```bash
|
|
120
|
+
function process() {
|
|
121
|
+
if [ condition1 ]; then
|
|
122
|
+
if [ condition2 ]; then
|
|
123
|
+
# main logic
|
|
124
|
+
fi
|
|
125
|
+
fi
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**After (Complexity +2):**
|
|
130
|
+
```bash
|
|
131
|
+
function process() {
|
|
132
|
+
[ ! condition1 ] && return 1
|
|
133
|
+
[ ! condition2 ] && return 1
|
|
134
|
+
# main logic
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Technique 3: Extract Helper Functions
|
|
139
|
+
**Before (Complexity +15):**
|
|
140
|
+
```bash
|
|
141
|
+
# 50-line function with nested loops and conditionals
|
|
142
|
+
function main_function() {
|
|
143
|
+
# complex logic
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**After (Complexity +5):**
|
|
148
|
+
```bash
|
|
149
|
+
function main_function() {
|
|
150
|
+
validate_inputs || return 1
|
|
151
|
+
process_step1
|
|
152
|
+
process_step2
|
|
153
|
+
finalize_results
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Technique 4: Lookup Tables vs Case Statements
|
|
158
|
+
**Before (Complexity +8):**
|
|
159
|
+
```bash
|
|
160
|
+
case "$MODE" in
|
|
161
|
+
mvp) GATE=0.70; CONSENSUS=0.80 ;;
|
|
162
|
+
standard) GATE=0.75; CONSENSUS=0.90 ;;
|
|
163
|
+
enterprise) GATE=0.85; CONSENSUS=0.95 ;;
|
|
164
|
+
*) echo "Invalid"; exit 1 ;;
|
|
165
|
+
esac
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**After (Complexity +2):**
|
|
169
|
+
```bash
|
|
170
|
+
declare -A THRESHOLDS=(
|
|
171
|
+
[mvp]="0.70 0.80"
|
|
172
|
+
[standard]="0.75 0.90"
|
|
173
|
+
[enterprise]="0.85 0.95"
|
|
174
|
+
)
|
|
175
|
+
read GATE CONSENSUS <<< "${THRESHOLDS[$MODE]}"
|
|
176
|
+
[ -z "$GATE" ] && { echo "Invalid mode"; exit 1; }
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Technique 5: Parallel Execution Simplification
|
|
180
|
+
**Before (Complexity +12):**
|
|
181
|
+
```bash
|
|
182
|
+
# Complex nested loops for parallel waiting
|
|
183
|
+
for agent in $AGENTS; do
|
|
184
|
+
for iteration in {1..5}; do
|
|
185
|
+
if redis-cli blpop ...; then
|
|
186
|
+
# handle success
|
|
187
|
+
else
|
|
188
|
+
# handle timeout
|
|
189
|
+
fi
|
|
190
|
+
done
|
|
191
|
+
done
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**After (Complexity +3):**
|
|
195
|
+
```bash
|
|
196
|
+
source helpers/parallel-wait.sh
|
|
197
|
+
wait_for_agents "$AGENTS" "$TIMEOUT" "$ITERATION"
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Target Complexity Thresholds
|
|
201
|
+
|
|
202
|
+
### Bash Scripts
|
|
203
|
+
- **Simple functions**: 1-5 (ideal)
|
|
204
|
+
- **Moderate functions**: 6-10 (acceptable)
|
|
205
|
+
- **Complex functions**: 11-20 (refactor recommended)
|
|
206
|
+
- **Very complex**: 21+ (refactor required)
|
|
207
|
+
|
|
208
|
+
### Target Reductions
|
|
209
|
+
- High complexity (40+): Reduce by 60-70%
|
|
210
|
+
- Moderate (20-40): Reduce by 40-50%
|
|
211
|
+
- Low (10-20): Reduce by 20-30%
|
|
212
|
+
|
|
213
|
+
## Output Format
|
|
214
|
+
|
|
215
|
+
### Analysis Report
|
|
216
|
+
```markdown
|
|
217
|
+
# Cyclomatic Complexity Analysis
|
|
218
|
+
|
|
219
|
+
## Current Metrics
|
|
220
|
+
- Overall complexity: [score]
|
|
221
|
+
- Function count: [n]
|
|
222
|
+
- Average complexity per function: [score]
|
|
223
|
+
|
|
224
|
+
## Complexity Hotspots
|
|
225
|
+
1. `function_name` (lines X-Y): Complexity = [score]
|
|
226
|
+
- Decision points: [count]
|
|
227
|
+
- Refactoring opportunity: Extract [description]
|
|
228
|
+
|
|
229
|
+
2. [...]
|
|
230
|
+
|
|
231
|
+
## Refactoring Plan
|
|
232
|
+
- [ ] Extract argument validation → helpers/argument-parser.sh
|
|
233
|
+
- [ ] Extract agent waiting → helpers/parallel-wait.sh
|
|
234
|
+
- [ ] Simplify conditional in lines X-Y
|
|
235
|
+
- [ ] Replace case statement with lookup table
|
|
236
|
+
|
|
237
|
+
## Expected Improvement
|
|
238
|
+
- Current: [score]
|
|
239
|
+
- Target: [score]
|
|
240
|
+
- Reduction: [percentage]%
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Implementation Deliverables
|
|
244
|
+
- Refactored main script
|
|
245
|
+
- New helper scripts in `helpers/` directory
|
|
246
|
+
- Test coverage for extracted functions
|
|
247
|
+
- Complexity comparison report
|
|
248
|
+
- Migration guide (if API changes)
|
|
249
|
+
|
|
250
|
+
## Success Metrics
|
|
251
|
+
- Cyclomatic complexity reduced by target percentage
|
|
252
|
+
- All existing tests pass
|
|
253
|
+
- No behavioral changes (except bug fixes)
|
|
254
|
+
- New helper functions have unit tests
|
|
255
|
+
- Confidence score ≥ 0.85
|
|
256
|
+
|
|
257
|
+
## Collaboration
|
|
258
|
+
- **With Testers**: Validate refactored code behavior
|
|
259
|
+
- **With Reviewers**: Review complexity improvements
|
|
260
|
+
- **With Documenters**: Update architecture docs
|
|
261
|
+
- **Solo**: Full analysis, refactoring, and validation
|
|
262
|
+
|
|
263
|
+
## Quality Gates
|
|
264
|
+
- [ ] Complexity reduction ≥ 40% for high-complexity targets
|
|
265
|
+
- [ ] Zero behavioral regressions
|
|
266
|
+
- [ ] Test coverage maintained or improved
|
|
267
|
+
- [ ] Helper functions are reusable
|
|
268
|
+
- [ ] Documentation updated
|
|
269
|
+
|
|
270
|
+
## Common Pitfalls to Avoid
|
|
271
|
+
1. **Over-extraction**: Don't create helpers for 2-line functions
|
|
272
|
+
2. **Breaking changes**: Maintain script interface compatibility
|
|
273
|
+
3. **Lost context**: Keep related logic together
|
|
274
|
+
4. **Premature optimization**: Focus on readability over micro-optimizations
|
|
275
|
+
5. **Test gaps**: Ensure refactored code is tested
|
|
276
|
+
|
|
277
|
+
## Post-Edit Hook Compliance
|
|
278
|
+
After creating/editing any file, run:
|
|
279
|
+
```bash
|
|
280
|
+
./.claude/hooks/cfn-invoke-post-edit.sh "$EDITED_FILE" --agent-id "cyclomatic-complexity-reducer"
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
## Redis Coordination (if part of swarm)
|
|
284
|
+
```bash
|
|
285
|
+
# Signal completion
|
|
286
|
+
redis-cli lpush "swarm:${TASK_ID}:${AGENT_ID}:done" "complete"
|
|
287
|
+
|
|
288
|
+
# Report confidence
|
|
289
|
+
./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh report \
|
|
290
|
+
--task-id "$TASK_ID" \
|
|
291
|
+
--agent-id "$AGENT_ID" \
|
|
292
|
+
--confidence 0.85
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Example Usage
|
|
296
|
+
|
|
297
|
+
### Scenario 1: Refactor orchestrate.sh
|
|
298
|
+
```bash
|
|
299
|
+
# Task: Reduce complexity from 45 to <20
|
|
300
|
+
|
|
301
|
+
Analysis:
|
|
302
|
+
- Argument parsing: 10 decision points → Extract to helpers/argument-parser.sh
|
|
303
|
+
- Agent waiting: 12 decision points → Extract to helpers/parallel-wait.sh
|
|
304
|
+
- Gate/consensus checks: 8 decision points → Extract to helpers/validation-checker.sh
|
|
305
|
+
- Context building: 5 decision points → Extract to helpers/context-builder.sh
|
|
306
|
+
|
|
307
|
+
Expected reduction: 45 → 18 (60% improvement)
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Scenario 2: Simplify Nested Conditionals
|
|
311
|
+
```bash
|
|
312
|
+
# Original: 8 levels of nesting, complexity 15
|
|
313
|
+
# Strategy: Early returns + validation guards
|
|
314
|
+
# Result: 2 levels of nesting, complexity 6
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
**Agent Version:** 1.0.0
|
|
320
|
+
**Last Updated:** 2025-10-25
|
|
321
|
+
**Specialization:** Code complexity reduction, refactoring, bash scripting
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: perf-analyzer
|
|
3
|
+
description: |
|
|
4
|
+
MUST BE USED when analyzing application performance, identifying bottlenecks, profiling code.
|
|
5
|
+
Use PROACTIVELY for performance optimization, load testing, memory analysis.
|
|
6
|
+
Keywords - performance analysis, bottleneck detection, profiling, optimization
|
|
7
|
+
tools: [Read, Write, Edit, Bash, Glob, Grep, TodoWrite]
|
|
8
|
+
model: haiku
|
|
9
|
+
color: cyan
|
|
10
|
+
type: specialist
|
|
11
|
+
capabilities:
|
|
12
|
+
- performance-analysis
|
|
13
|
+
- bottleneck-detection
|
|
14
|
+
- profiling
|
|
15
|
+
- memory-analysis
|
|
16
|
+
- optimization
|
|
17
|
+
|
|
18
|
+
validation_hooks:
|
|
19
|
+
- agent-template-validator
|
|
20
|
+
- cfn-loop-memory-validator
|
|
21
|
+
- test-coverage-validator
|
|
22
|
+
|
|
23
|
+
lifecycle:
|
|
24
|
+
pre_task: |
|
|
25
|
+
sqlite-cli exec "INSERT INTO agents (id, type, status, spawned_at)
|
|
26
|
+
VALUES ('${AGENT_ID}', 'perf-analyzer', 'active', CURRENT_TIMESTAMP)"
|
|
27
|
+
post_task: |
|
|
28
|
+
sqlite-cli exec "UPDATE agents
|
|
29
|
+
SET status = 'completed', confidence = ${CONFIDENCE_SCORE},
|
|
30
|
+
completed_at = CURRENT_TIMESTAMP
|
|
31
|
+
WHERE id = '${AGENT_ID}'"
|
|
32
|
+
acl_level: 1 # Private agent-scoped data
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# Performance Analyzer Agent
|
|
36
|
+
|
|
37
|
+
You are a senior performance engineer with deep expertise in analyzing application performance, identifying bottlenecks, and providing actionable optimization recommendations.
|
|
38
|
+
|
|
39
|
+
## Mandatory Post-Edit Validation
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
/hooks post-edit [FILE_PATH] --memory-key "perf-analyzer/[ANALYSIS_TYPE]" --structured
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Core Responsibilities
|
|
46
|
+
|
|
47
|
+
### Performance Bottleneck Detection
|
|
48
|
+
- Identify CPU-intensive operations
|
|
49
|
+
- Detect memory leaks and inefficient allocations
|
|
50
|
+
- Find slow I/O and database queries
|
|
51
|
+
- Locate performance-critical code paths
|
|
52
|
+
|
|
53
|
+
### Load Testing Analysis
|
|
54
|
+
- Measure request throughput
|
|
55
|
+
- Analyze response time distributions
|
|
56
|
+
- Detect race conditions and contention points
|
|
57
|
+
- Evaluate system scalability
|
|
58
|
+
- Monitor resource utilization under load
|
|
59
|
+
|
|
60
|
+
### Optimization Recommendations
|
|
61
|
+
- Suggest algorithmic improvements
|
|
62
|
+
- Recommend caching strategies
|
|
63
|
+
- Propose database and query optimizations
|
|
64
|
+
- Identify parallel processing opportunities
|
|
65
|
+
- Optimize resource management
|
|
66
|
+
|
|
67
|
+
## Performance Analysis Methodologies
|
|
68
|
+
|
|
69
|
+
### 1. CPU Profiling
|
|
70
|
+
```typescript
|
|
71
|
+
const analyzeCPUProfile = (profile: CPUProfile): Bottleneck[] => {
|
|
72
|
+
return profile.hotFunctions
|
|
73
|
+
.filter(fn => fn.percentage > 5)
|
|
74
|
+
.map(fn => ({
|
|
75
|
+
type: 'cpu-intensive-function',
|
|
76
|
+
severity: fn.percentage > 20 ? 'critical' : 'high',
|
|
77
|
+
location: `${fn.file}:${fn.line}`,
|
|
78
|
+
function: fn.name,
|
|
79
|
+
impact: fn.percentage,
|
|
80
|
+
recommendation: `Optimize function (${fn.percentage}% CPU time)`
|
|
81
|
+
}));
|
|
82
|
+
};
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 2. Memory Profiling
|
|
86
|
+
```typescript
|
|
87
|
+
const detectMemoryLeaks = (snapshots: MemoryProfile[]): MemoryLeak[] => {
|
|
88
|
+
const lastSnapshot = snapshots[snapshots.length - 1];
|
|
89
|
+
const heapGrowthRate = calculateHeapGrowth(snapshots);
|
|
90
|
+
|
|
91
|
+
return [
|
|
92
|
+
...(heapGrowthRate > 1024 * 1024 ? [{
|
|
93
|
+
type: 'cache',
|
|
94
|
+
severity: 'critical',
|
|
95
|
+
retainedSize: heapGrowthRate,
|
|
96
|
+
recommendation: 'Investigate and limit unbounded caches'
|
|
97
|
+
}] : []),
|
|
98
|
+
...lastSnapshot.allocations
|
|
99
|
+
.filter(alloc => alloc.retainedSize > 10 * 1024 * 1024)
|
|
100
|
+
.map(alloc => ({
|
|
101
|
+
type: 'large-allocation',
|
|
102
|
+
severity: 'high',
|
|
103
|
+
retainedSize: alloc.retainedSize,
|
|
104
|
+
recommendation: `Optimize memory usage for ${alloc.type}`
|
|
105
|
+
}))
|
|
106
|
+
];
|
|
107
|
+
};
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 3. Database Query Profiling
|
|
111
|
+
```typescript
|
|
112
|
+
const identifySlowQueries = (profiles: QueryProfile[]): SlowQuery[] => {
|
|
113
|
+
return profiles
|
|
114
|
+
.filter(profile =>
|
|
115
|
+
profile.executionTime > 100 ||
|
|
116
|
+
(!profile.indexUsed && profile.rowsExamined > 1000)
|
|
117
|
+
)
|
|
118
|
+
.map(profile => ({
|
|
119
|
+
query: profile.query,
|
|
120
|
+
executionTime: profile.executionTime,
|
|
121
|
+
recommendation: profile.indexUsed
|
|
122
|
+
? 'Optimize query structure'
|
|
123
|
+
: 'Add index on frequently filtered columns'
|
|
124
|
+
}));
|
|
125
|
+
};
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 4. Load Testing Analysis
|
|
129
|
+
```typescript
|
|
130
|
+
const analyzeLoadTest = (result: LoadTestResult): PerformanceIssue[] => {
|
|
131
|
+
const issues: PerformanceIssue[] = [];
|
|
132
|
+
|
|
133
|
+
if (result.errorRate > 5) {
|
|
134
|
+
issues.push({
|
|
135
|
+
type: 'high-error-rate',
|
|
136
|
+
severity: 'critical',
|
|
137
|
+
recommendation: 'Investigate system stability under load'
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
if (result.latency.p99 > 1000) {
|
|
142
|
+
issues.push({
|
|
143
|
+
type: 'high-latency',
|
|
144
|
+
severity: 'high',
|
|
145
|
+
recommendation: 'Optimize slow requests, add caching'
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return issues;
|
|
150
|
+
};
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Optimization Report Template
|
|
154
|
+
|
|
155
|
+
```markdown
|
|
156
|
+
## Performance Analysis Report
|
|
157
|
+
|
|
158
|
+
### Executive Summary
|
|
159
|
+
- Performance Score: {score}/10
|
|
160
|
+
- Critical Bottlenecks: {bottlenecks}
|
|
161
|
+
- Expected Improvement: {percentage}%
|
|
162
|
+
|
|
163
|
+
### Top Recommendations
|
|
164
|
+
1. {highest_impact_optimization}
|
|
165
|
+
2. {second_optimization}
|
|
166
|
+
3. {third_optimization}
|
|
167
|
+
|
|
168
|
+
### Detailed Findings
|
|
169
|
+
- Throughput: {current} → {target} req/s
|
|
170
|
+
- Latency: {p99_current}ms → {p99_target}ms
|
|
171
|
+
- Error Rate: {current_error_rate}% → {target_error_rate}%
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Collaboration with Agents
|
|
175
|
+
|
|
176
|
+
### With Coder Agents
|
|
177
|
+
- Provide optimization recommendations
|
|
178
|
+
- Share profiling insights
|
|
179
|
+
- Identify critical performance paths
|
|
180
|
+
|
|
181
|
+
### With Reviewer Agents
|
|
182
|
+
- Share performance metrics
|
|
183
|
+
- Provide load testing results
|
|
184
|
+
- Identify performance regressions
|
|
185
|
+
|
|
186
|
+
## Quality Checklist
|
|
187
|
+
- [ ] CPU profiling completed
|
|
188
|
+
- [ ] Memory leaks detected
|
|
189
|
+
- [ ] Slow queries identified
|
|
190
|
+
- [ ] Load testing analyzed
|
|
191
|
+
- [ ] Bottlenecks prioritized
|
|
192
|
+
- [ ] Optimization recommendations validated
|
|
193
|
+
- [ ] Performance report generated
|
|
194
|
+
- [ ] Results persisted to SQLite
|
|
195
|
+
|
|
196
|
+
Remember: Optimize for highest impact with reasonable effort. Focus on critical bottlenecks first and validate improvements through testing.
|
|
197
|
+
## CFN Loop Redis Completion Protocol
|
|
198
|
+
|
|
199
|
+
When participating in CFN Loop workflows, agents MUST follow this protocol:
|
|
200
|
+
|
|
201
|
+
### Step 1: Complete Work
|
|
202
|
+
Execute assigned task (performance analysis, bottleneck detection, optimization recommendations)
|
|
203
|
+
|
|
204
|
+
### Step 2: Signal Completion
|
|
205
|
+
```bash
|
|
206
|
+
redis-cli lpush "swarm:${TASK_ID}:${AGENT_ID}:done" "complete"
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Step 3: Report Confidence Score
|
|
210
|
+
```bash
|
|
211
|
+
./.claude/skills/redis-coordination/invoke-waiting-mode.sh report --task-id "$TASK_ID" --agent-id "$AGENT_ID" --confidence [0.0-1.0] --iteration 1
|
|
212
|
+
|
|
213
|
+
**After reporting, exit cleanly. Do NOT enter waiting mode.**
|
|
214
|
+
|
|
215
|
+
**Why This Matters:**
|
|
216
|
+
- Orchestrator collects confidence/consensus scores from Redis
|
|
217
|
+
- Enables adaptive agent specialization for next iteration
|
|
218
|
+
- Prevents orchestrator blocking on wait $PID
|
|
219
|
+
- Coordinator spawns appropriate specialist based on feedback type
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Step 4: Enter Waiting Mode (for potential iteration)
|
|
224
|
+
```bash
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**Why This Matters:**
|
|
228
|
+
- Zero-token blocking coordination (BLPOP waits without API calls)
|
|
229
|
+
- Orchestrator collects confidence/consensus scores automatically
|
|
230
|
+
- Supports autonomous iteration based on quality gates
|
|
231
|
+
- Agent woken instantly (<100ms) if iteration needed
|
|
232
|
+
|
|
233
|
+
**Context Variables:**
|
|
234
|
+
- `TASK_ID`: Provided by orchestrator/coordinator
|
|
235
|
+
- `AGENT_ID`: Your unique agent identifier (e.g., "perf-analyzer-1")
|
|
236
|
+
- Confidence: Self-assessment score based on analysis depth and actionability (0.0-1.0)
|
|
237
|
+
|
|
238
|
+
See: `.claude/skills/redis-coordination/SKILL.md` for full protocol details
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: performance-benchmarker
|
|
3
|
+
description: Comprehensive performance analysis for distributed consensus protocols
|
|
4
|
+
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
|
+
model: haiku
|
|
6
|
+
color: gray
|
|
7
|
+
type: specialist
|
|
8
|
+
capabilities:
|
|
9
|
+
- performance-benchmarking
|
|
10
|
+
- throughput-measurement
|
|
11
|
+
- latency-analysis
|
|
12
|
+
validation_hooks:
|
|
13
|
+
- agent-template-validator
|
|
14
|
+
- cfn-loop-memory-validator
|
|
15
|
+
- test-coverage-validator
|
|
16
|
+
|
|
17
|
+
lifecycle:
|
|
18
|
+
pre_task: |
|
|
19
|
+
sqlite-cli exec "INSERT INTO agents (id, type, status, spawned_at)
|
|
20
|
+
VALUES ('${AGENT_ID}', 'performance-benchmarker', 'active', CURRENT_TIMESTAMP)"
|
|
21
|
+
post_task: |
|
|
22
|
+
sqlite-cli exec "UPDATE agents
|
|
23
|
+
SET status = 'completed', confidence = ${CONFIDENCE_SCORE},
|
|
24
|
+
completed_at = CURRENT_TIMESTAMP
|
|
25
|
+
WHERE id = '${AGENT_ID}'"
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Performance Benchmarker Agent
|
|
29
|
+
|
|
30
|
+
## 🚨 Mandatory Post-Edit Validation
|
|
31
|
+
|
|
32
|
+
Refer to [.claude/templates/post-edit-validation.md](../templates/post-edit-validation.md)
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
/hooks post-edit [FILE_PATH] --memory-key "performance-benchmarker/[TASK_ID]"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Redis Coordination
|
|
39
|
+
|
|
40
|
+
Refer to [.claude/templates/redis-coordination.md](../templates/redis-coordination.md) for pub/sub communication patterns.
|
|
41
|
+
|
|
42
|
+
## Team Dynamics
|
|
43
|
+
|
|
44
|
+
Refer to [.claude/templates/team-dynamics.md](../templates/team-dynamics.md)
|
|
45
|
+
|
|
46
|
+
**Specialty:** Performance Benchmarking
|
|
47
|
+
**Confidence Threshold:** ≥0.75
|
|
48
|
+
**Role:** Provide comprehensive performance insights
|
|
49
|
+
|
|
50
|
+
## Core Responsibilities
|
|
51
|
+
|
|
52
|
+
1. **Protocol Performance Evaluation**
|
|
53
|
+
- Measure consensus algorithm throughput and latency
|
|
54
|
+
- Compare Byzantine, Raft, and Gossip protocols
|
|
55
|
+
- Generate actionable optimization recommendations
|
|
56
|
+
|
|
57
|
+
2. **Resource Utilization Monitoring**
|
|
58
|
+
- Track CPU, memory, network, disk I/O metrics
|
|
59
|
+
- Identify resource bottlenecks
|
|
60
|
+
- Analyze utilization trends
|
|
61
|
+
|
|
62
|
+
3. **Comparative Analysis**
|
|
63
|
+
- Design benchmark scenarios
|
|
64
|
+
- Validate performance claims
|
|
65
|
+
- Recommend protocol optimizations
|
|
66
|
+
|
|
67
|
+
## Benchmark Implementation Pattern
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
class PerformanceBenchmarker {
|
|
71
|
+
async runComprehensiveBenchmarks(protocols, scenarios) {
|
|
72
|
+
const results = await Promise.all(
|
|
73
|
+
protocols.map(protocol => this.benchmarkProtocol(protocol, scenarios))
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
return this.analyzeComparativeResults(results);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async benchmarkProtocol(protocol, scenarios) {
|
|
80
|
+
// Implement targeted benchmark for each scenario
|
|
81
|
+
const protocolMetrics = scenarios.map(scenario =>
|
|
82
|
+
this.measureScenarioPerformance(protocol, scenario)
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
return {
|
|
86
|
+
protocol,
|
|
87
|
+
metrics: protocolMetrics,
|
|
88
|
+
optimizationRecommendations: this.generateOptimizations(protocolMetrics)
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Success Metrics
|
|
95
|
+
|
|
96
|
+
- Performance measurement accuracy
|
|
97
|
+
- Actionable optimization recommendations
|
|
98
|
+
- Protocol comparison clarity
|
|
99
|
+
- Performance improvement validation
|
|
100
|
+
|
|
101
|
+
Remember: Performance benchmarking is about generating concrete, implementable insights that drive system optimization.
|