UNPKG

claude-flow-novice

Version:

Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture Includes CodeSearch (hybrid SQLite + pgvector), mem0/memgraph specialists, and all CFN skills.

128 lines (102 loc) 4.11 kB
--- name: Test Execution version: 1.2.0 complexity: High status: OPERATIONAL (Specialized Use Case) keywords: [ "coordinator-pattern", "distributed test framework", "single-run caching", "conflict prevention", "resource-optimized testing", "test distribution", "parallel test management" ] triggers: [ "3+ agents need test results simultaneously", "preventing test conflicts in multi-agent scenarios", "distributed test environments with resource contention" ] performance_targets: { "test_run_time_ms": 5000, "coverage_accuracy_pct": 95, "caching_efficiency_pct": 90, "max_concurrent_workers": 10 } --- # Test Execution Skill **Pattern:** Coordinator-Cached Test Execution **Status:** OPERATIONAL - Specialized for multi-agent concurrent testing ## When to Use This Skill **USE when:** - 3+ agents need test results simultaneously - Multi-agent swarms testing in parallel - Preventing port/resource conflicts is critical - Distributed testing environments **DO NOT USE when:** - Single agent testing → Use `npm test` directly - Code validation → Use `.claude/hooks/invoke-post-edit.sh` - Simple test execution → Use `npm test` directly - Development workflow → Use standard npm scripts ## Problem Statement Concurrent test execution causes conflicts, resource contention, and flaky results. Multiple agents running tests simultaneously creates: - Port conflicts (test servers) - Database/file system race conditions - Unreliable coverage reports - Wasted computation from duplicate test runs ## Solution: Coordinator Pattern **Single Test Execution:** One coordinator agent runs all tests once **Cached Results:** Results stored in Redis + JSON file **Worker Reads:** All other agents read cached results (never execute tests) ## Implementation ### Scripts Available 1. **test-coordinator-pattern.sh** - Coordinator runs tests, caches to Redis 2. **test-cache-reader.sh** - Workers read cached results 3. **test-concurrent-conflicts.sh** - Validates coordinator pattern (20 runs) ### Usage **Coordinator Agent (runs tests):** ```bash # Run tests once and cache results ./.claude/skills/test-execution/test-coordinator-pattern.sh swarm-123 ``` **Worker Agents (read cache):** ```bash # Read cached test results (waits for coordinator) ./.claude/skills/test-execution/test-cache-reader.sh swarm-123 worker-1 ``` **Validate Pattern:** ```bash # Test concurrent execution (20 cycles) ./.claude/skills/test-execution/test-concurrent-conflicts.sh ``` ## Workflow ``` 1. Coordinator detects "run tests" signal 2. Coordinator terminates existing test processes 3. Coordinator runs: npm test -- --run --reporter=json 4. Results cached to: - Redis: swarm:${SWARM_ID}:tests:metadata - File: test-results.json 5. Workers wait for completion signal (max 5min timeout) 6. Workers read cached results 7. All agents use same test results (no conflicts) ``` ## Performance Metrics - Test execution: 1x instead of Nx (N = number of agents) - Cache read latency: <100ms - Conflict prevention: 100% (validated with 20 concurrent runs) - Resource savings: ~90% (no duplicate test processes) ## Integration with Other Skills - **Post-Edit Hooks:** Use `.claude/hooks/invoke-post-edit.sh` for TypeScript validation (simpler, faster) - **Redis Coordination:** Uses same Redis pub/sub infrastructure - **CFN Loop Validation:** Can integrate test results into consensus calculation ## Current Project Status **Active Tests:** None in `/src` (legacy tests in `/packages`) **Jest Configuration:** Installed (29.7.0) but not actively used **Recommendation:** Skill is operational but currently unnecessary. Use `npm test` directly for development. ## Future Use Cases When multi-agent swarms become active and need concurrent testing: 1. Designate one agent as test coordinator 2. Coordinator uses `test-coordinator-pattern.sh` 3. Workers use `test-cache-reader.sh` 4. Validate with `test-concurrent-conflicts.sh`