UNPKG

claude-flow-novice

Version:

Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture Includes Local RuVector Accelerator and all CFN skills for complete functionality.

711 lines (567 loc) 22.2 kB
# Skills System Documentation **Version:** 2.18.1 **Status:** Production ## Overview Modular, reusable agent capabilities with explicit coordination interfaces and semantic codebase search. ## New: RuVector Codebase Search **Location:** `.claude/skills/cfn-ruvector-codebase-index/` **Purpose:** Semantic search via OpenAI embeddings ```bash # Full index ./.claude/skills/cfn-ruvector-codebase-index/index.sh --full # Search ./.claude/skills/cfn-ruvector-codebase-index/search.sh "query" --top 5 # Incremental (git changes) /cfn-ruvector:codebase-reindex ``` **Components:** - `index.sh` - Indexing entry point - `search.sh` - Query interface - `indexer.js` - Batch processor - `embeddings.js` - OpenAI API calls - `search.js` - Vector similarity - `.cfn-manifest.json` - CFN vs custom file tracking **Manifest System:** - `cfn_files`: Overwritten on CFN update - `protected_files`: Never touched (config, data) - Unlisted files: Custom, preserved **Requirements:** `OPENAI_API_KEY` or `ZAI_API_KEY` --- ## Core Principles 1. **Maximum Modularity**: Each skill is independently maintainable 2. **Explicit Interfaces**: All dependencies declared in SKILL.md 3. **Minimal Coupling**: No hidden dependencies between skills 4. **Comprehensive Testing**: Each skill includes test suite ## Available Skills ### Redis Coordination **Location:** `.claude/skills/redis-coordination/` **Purpose:** Zero-token agent coordination via Redis BLPOP **Version:** 2.7.0 (2025-10-21) **Key Features:** - **Waiting Mode**: Agents block without consuming tokens - **Wake-Up Protocol**: <100ms latency for agent activation - **Orchestration**: CFN Loop management with dependency enforcement - **Error Recovery**: Exponential backoff retry with dead letter queue - **Partial Consensus**: Quorum-based completion (absolute/percentage/decimal) - **Dynamic Timeouts**: Per-agent timeout configuration with role-based defaults - **Priority Wake-Up**: Redis Sorted Set priority queue (ZADD/BZPOPMIN) - **Health Checks**: Heartbeat monitoring with 60s TTL - **Graceful Shutdown**: User-initiated cancellation with cleanup - **Metrics Export**: Multi-format observability (JSON, Prometheus, CSV, OTLP) - **Feedback Accumulation** (v2.7): Multi-iteration learning via Redis history - **Validator Feedback** (v2.7): Structured JSON feedback from Loop 2 validators - **Sprint Execution** (v2.7): Sprint-aware context vs epic-level scope - **Bidirectional JSON Context** (v2.10): Enhanced context injection and extraction - Standardized input JSON parsing - Structured response extraction - Redis-based message history logging - Context recovery mechanisms **Primary Scripts:** - `invoke-waiting-mode.sh` - Enter/exit waiting mode, wake agents, report confidence, shutdown handling - `orchestrate-cfn-loop.sh` - Full CFN Loop orchestration with retry, quorum, timeouts, priority, metrics, feedback accumulation - `init-swarm.sh` - Initialize swarm coordination with per-agent timeout configuration - `complete-swarm.sh` - Clean up swarm resources - `heartbeat.sh` - Send/monitor agent heartbeats (60s TTL, 30s updates) - `get-agent-timeout.sh` - Resolve per-agent timeout with 5-layer fallback ### CFN Loop Orchestration **Location**: `.claude/skills/cfn-loop-orchestration/` **Purpose**: CFN-specific workflow orchestration (3-loop structure, gate checks, consensus) **Version**: 1.0.0 (2025-10-23) **Key Features:** - Loop 3 (Primary Swarm) gate validation - Loop 2 (Consensus Validators) review coordination - Product Owner decision execution - Iteration cycle management with feedback injection - Deliverable verification (prevents "consensus on vapor") - Phase-specific timeout calculation - Background execution monitoring **Components**: - `orchestrate.sh` - Main coordinator (654 lines) - `helpers/gate-check.sh` - Loop 3 self-validation - `helpers/consensus.sh` - Loop 2 consensus check - `helpers/deliverable-verifier.sh` - Git diff verification - `helpers/iteration-manager.sh` - Iteration cycle control - `helpers/timeout-calculator.sh` - Phase-based timeouts **Usage**: ```bash ./.claude/skills/cfn-loop-orchestration/orchestrate.sh \ --task-id "cfn-123" \ --mode standard \ --loop3-agents "backend-dev,researcher" \ --loop2-agents "reviewer,tester" \ --product-owner "product-owner" ``` **Dependencies**: redis-coordination, product-owner-decision, agent-output-processing **Testing**: `test-edge-cases.sh` (20 tests, 100% pass rate) - `query-dlq.sh` - Inspect dead letter queue entries - `cancel-swarm.sh` - Graceful swarm shutdown with broadcast signal - `metrics-export.sh` - Export metrics in JSON/Prometheus/CSV/OTLP formats **Feedback Accumulation Functions (v2.7):** - `accumulate_feedback()` - Store iteration feedback in Redis (swarm:*:feedback:history) - `extract_validator_feedback()` - Parse JSON feedback from Loop 2 validators - `inject_feedback_to_context()` - Prepend feedback history to agent context for iterations > 1 **Testing:** ```bash # Run full orchestrator test suite (8 tests) ./.claude/skills/redis-coordination/test-orchestrator.sh # Test specific features ./.claude/skills/redis-coordination/test-priority-wake.sh ./.claude/skills/redis-coordination/test-quorum.sh ./.claude/skills/redis-coordination/test-quorum-absolute.sh ./.claude/skills/redis-coordination/test-quorum-percentage.sh ./.claude/skills/redis-coordination/test-quorum-with-retry.sh ``` **Documentation:** - `SKILL.md` - Complete skill specification with v2.0.0 features - `config.json` - Central configuration (retry, quorum, heartbeat, metrics) - `metrics-schema.json` - JSON schema for all metrics - `examples/grafana-dashboard.json` - 4-panel observability dashboard **Production Metrics** (v2.7.0): - Wake-up latency: <100ms (p95) - Token savings: 100% while waiting - Retry success rate: 85% recovery from transient failures - Quorum flexibility: Supports 6/7 agent completion - Priority queue: 0-100 scale with FIFO within priority - Heartbeat detection: <2min for hung agents - Metrics retention: 7-day default TTL - Feedback accumulation: Consensus improvement 0.81 → 0.90+ target - Validator feedback: Structured JSON with severity levels (CRITICAL/WARNING/SUGGESTION) - Sprint scoping: Focused deliverables prevent epic-level bloat ### Agent Spawning **Location:** `.claude/skills/agent-spawning/` **Purpose:** Manage agent lifecycle and dependencies **Key Features:** - CLI spawning (`npx claude-flow-novice`) - Task tool spawning (parallel required) - Dependency validation - Agent health monitoring - Skill access (filesystem-based discovery) **Primary Scripts:** - `spawn-agent.sh` - Spawn single agent - `spawn-swarm.sh` - Spawn multiple agents with dependencies - `validate-dependencies.sh` - Check agent prerequisites **Skill Access:** CLI-spawned agents inherit project working directory, providing identical skill access to Main Chat: ```bash # Agent discovery (filesystem scanning) find .claude/skills -name "*.sh" -type f # Direct skill invocation ./.claude/skills/redis-coordination/invoke-waiting-mode.sh # Post-edit hook integration ./.claude/hooks/invoke-post-edit.sh file.ts --agent-id "agent-1" ``` **Validation:** Post-edit pipeline demonstrates skill access: - Security scanner: `.claude/skills/hook-pipeline/security-scanner.sh` - Hook invocation from CLI agents - Logs: `.artifacts/logs/post-edit-pipeline.log` **Testing:** ```bash ./.claude/skills/agent-spawning/test-spawn.sh ``` ### CFN Loop Validation **Location:** `.claude/skills/cfn-loop-validation/` **Purpose:** Three-loop consensus validation framework **Key Features:** - Gate checks (Loop 3 self-validation) - Consensus calculation (Loop 2 validation) - Adaptive thresholds (MVP/Standard/Enterprise) - Iteration management **Primary Scripts:** - `validate-gate.sh` - Check Loop 3 gate threshold - `calculate-consensus.sh` - Calculate Loop 2 consensus - `check-iteration-limit.sh` - Verify iteration bounds **Testing:** ```bash ./.claude/skills/cfn-loop-validation/test-validation.sh ``` ### Agent Output Processing **Location:** `.claude/skills/loop3-output-processing/`, `.claude/skills/loop2-output-processing/`, `.claude/skills/product-owner-decision/` **Purpose:** Skill-based extraction of agent outputs without template enforcement **Version:** 2.9.0 (2025-10-21) **Key Features:** - **Loop 3 Processing**: Confidence + deliverable extraction from implementer agents - **Loop 2 Processing**: Confidence + feedback extraction from validator agents - **Product Owner Decision**: PROCEED/ITERATE/ABORT decision parsing with deliverable verification - **Multi-Pattern Parsing**: Explicit numeric, percentage, qualitative confidence detection - **Parallel Execution**: Background processes with temp files (eliminates race conditions) - **Automatic Deliverable Tracking**: Git diff analysis for Loop 3 agents - **Structured Feedback**: Categorized by severity (critical/warnings/suggestions) - **Zero Template Enforcement**: Agents output naturally, orchestrator extracts structured data - **Guaranteed Extraction**: No 0.0 confidence defaults (fallback: 0.70-0.75) **Primary Scripts (Loop 3):** - `execute-and-extract.sh` - Spawn agent, capture output, extract confidence + deliverables - `parse-confidence.sh` - Multi-pattern confidence extraction with fallbacks - `verify-deliverables.sh` - Git diff analysis for file changes - `calculate-confidence.sh` - Fallback confidence calculation based on deliverables **Primary Scripts (Loop 2):** - `execute-and-extract.sh` - Spawn validator, capture output, extract confidence + feedback - `parse-feedback.sh` - Structured feedback extraction (critical/warnings/suggestions) + confidence **Primary Scripts (Product Owner):** - `execute-decision.sh` - Spawn Product Owner, parse decision (PROCEED/ITERATE/ABORT) - `parse-decision.sh` - Decision extraction with multiple fallback patterns - `validate-deliverables.sh` - Verify deliverables exist before PROCEED **Orchestrator Integration:** - `orchestrate-cfn-loop.sh` (lines 751-884): Loop 3 parallel skill-based processing - `orchestrate-cfn-loop.sh` (lines 1026-1244): Loop 2 parallel skill-based processing - `orchestrate-cfn-loop.sh` (lines 1246-1266): Product Owner decision parsing **Pattern Reuse:** 95% code reuse between Loop 3 and Loop 2 implementations **Eliminated Issues:** - BUG #10: Race conditions (polling wait for :result key) - BUG #11: Template enforcement failure (agents can't be forced to use bash tools) **Testing:** ```bash # Unit tests (skill-level) ./.claude/skills/loop3-output-processing/test-loop3-processing.sh ./.claude/skills/loop2-output-processing/test-loop2-processing.sh # Integration test (orchestrator-level) ./.claude/skills/redis-coordination/orchestrate-cfn-loop.sh \ --task-id "test-$(date +%s)" \ --mode "mvp" \ --loop3-agents "coder" \ --loop2-agents "reviewer,tester" \ --product-owner "product-owner" \ --max-iterations 1 ``` **Performance Metrics:** - Parallel speedup: 3x for 3 agents (max latency vs sum of sequential latencies) - Confidence extraction: 100% success rate (guaranteed fallbacks) - Pattern detection: Explicit (80%), Percentage (15%), Qualitative (5%) - Default confidence: Loop 3 (0.75 calculated), Loop 2 (0.70 default) ### Hook Pipeline **Location:** `.claude/skills/hook-pipeline/` **Purpose:** Event-driven automation framework **Key Features:** - Post-edit validation - Pre-commit hooks - Custom event triggers - Non-blocking execution **Primary Scripts:** - `invoke-hook.sh` - Execute hook pipeline - `register-hook.sh` - Add new hook - `validate-hook-config.sh` - Verify hook configuration **Configuration:** - `.claude/hooks/post-edit.config.json` **Testing:** ```bash ./.claude/skills/hook-pipeline/test-hooks.sh ``` ### ACE System (Adaptive Context Engine) **Location:** `.claude/skills/ace-system/` **Purpose:** Dynamic context management and injection **Key Features:** - Context bullet extraction - Confidence scoring - Semantic deduplication - SQLite storage **Primary Scripts:** - `reflect.sh` - Extract context from task execution - `curate.sh` - Merge reflection deltas into context - `query.sh` - Search context bullets - `inject.sh` - Inject context into CLAUDE.md **Testing:** ```bash ./.claude/skills/ace-system/test-ace.sh ``` ### Event Bus **Location:** `.claude/skills/event-bus/` **Purpose:** Distributed event messaging **Key Features:** - Pub/sub event routing - Event replay - Dead letter queue - Event filtering **Primary Scripts:** - `publish.sh` - Publish event - `subscribe.sh` - Subscribe to event stream - `replay.sh` - Replay historical events **Testing:** ```bash ./.claude/skills/event-bus/test-events.sh ``` ### Fleet Manager **Location:** `.claude/skills/fleet-manager/` **Purpose:** Multi-agent fleet coordination **Key Features:** - Agent discovery - Health monitoring - Load balancing - Graceful shutdown **Primary Scripts:** - `register-agent.sh` - Add agent to fleet - `monitor-fleet.sh` - Track fleet health - `rebalance.sh` - Redistribute workload **Testing:** ```bash ./.claude/skills/fleet-manager/test-fleet.sh ``` ### Transparency Middleware **Location:** `.claude/skills/transparency-middleware/` **Purpose:** Decision traceability and audit logging **Key Features:** - Decision logging - Confidence tracking - Audit trail generation - Compliance reporting **Primary Scripts:** - `log-decision.sh` - Record agent decision - `generate-audit.sh` - Create audit report - `query-decisions.sh` - Search decision history **Testing:** ```bash ./.claude/skills/transparency-middleware/test-transparency.sh ``` ### Web Portal **Location:** `.claude/skills/web-portal/` **Purpose:** Web-based monitoring and control interface **Key Features:** - Real-time swarm visualization - Agent control panel - Performance dashboards - Configuration management **Primary Scripts:** - `start-server.sh` - Launch web server - `generate-dashboard.sh` - Create Grafana dashboards **Testing:** ```bash ./.claude/skills/web-portal/test-portal.sh ``` ## Skill Development Guide ### Skill Structure ``` .claude/skills/my-skill/ ├── SKILL.md # Skill specification (required) ├── config.json # Configuration (optional) ├── main-script.sh # Primary entry point ├── helper-functions.sh # Shared utilities ├── test-my-skill.sh # Test suite (required) └── examples/ # Usage examples └── README.md ``` ### SKILL.md Template ```markdown # Skill Name **Version:** 1.0.0 **Status:** Production **Dependencies:** skill-a, skill-b ## Purpose Brief description of what this skill does. ## Interface ### Inputs - Parameter 1: Description - Parameter 2: Description ### Outputs - Return value: Description - Side effects: Description ## Usage \`\`\`bash ./main-script.sh --param1 value1 --param2 value2 \`\`\` ## Testing \`\`\`bash ./test-my-skill.sh \`\`\` ## Maintenance - Owner: Team/Person - Review Cycle: Monthly - Last Reviewed: YYYY-MM-DD ``` ### Best Practices 1. **Single Responsibility**: Each skill should do one thing well 2. **Explicit Dependencies**: Declare all Redis keys, scripts, and skills used 3. **Idempotent Operations**: Scripts should be safe to run multiple times 4. **Error Handling**: Always validate inputs and handle failures gracefully 5. **Comprehensive Tests**: Cover happy path, edge cases, and error conditions 6. **Documentation**: Keep SKILL.md synchronized with implementation ### Testing Guidelines **Test Coverage Requirements:** - ✅ Happy path (expected inputs, expected outputs) - ✅ Edge cases (boundary values, empty inputs) - ✅ Error handling (invalid inputs, missing dependencies) - ✅ Timeout behavior (blocking operations, long-running tasks) - ✅ Concurrent execution (race conditions, resource conflicts) **Example Test Structure:** ```bash #!/bin/bash # test-my-skill.sh test_happy_path() { result=$(./main-script.sh --input "valid") [[ "$result" == "expected" ]] && echo "✅ PASS" || echo "❌ FAIL" } test_error_handling() { result=$(./main-script.sh --input "invalid" 2>&1) [[ "$result" =~ "Error:" ]] && echo "✅ PASS" || echo "❌ FAIL" } # Run all tests test_happy_path test_error_handling ``` ## Skill Coordination Patterns ### Simple Chain ```bash # Agent A completes → Agent B starts redis-cli lpush "swarm:task123:agentA:done" "complete" redis-cli blpop "swarm:task123:agentA:done" 0 # Agent B waits here ``` ### Hierarchical Broadcast ```bash # Coordinator → All agents for agent in "${agents[@]}"; do redis-cli lpush "swarm:task123:${agent}:wake" "start" done ``` ### Mesh Hybrid ```bash # Agent A → Agents B, C, D (parallel) redis-cli lpush "swarm:task123:agentB:wake" "start" redis-cli lpush "swarm:task123:agentC:wake" "start" redis-cli lpush "swarm:task123:agentD:wake" "start" # Agent B, C, D → Agent E (convergence) redis-cli lpush "swarm:task123:agentB:done" "complete" redis-cli lpush "swarm:task123:agentC:done" "complete" redis-cli lpush "swarm:task123:agentD:done" "complete" # Agent E waits for all three for agent in B C D; do redis-cli blpop "swarm:task123:agent${agent}:done" 0 done ``` ## Skill Lifecycle ### Development Phase 1. Create skill directory structure 2. Write SKILL.md specification 3. Implement primary scripts 4. Add comprehensive tests 5. Document examples ### Review Phase 1. Functional validation (does it work?) 2. Interface validation (is it easy to use?) 3. Test coverage validation (is it well-tested?) 4. Documentation validation (is it clear?) ### Production Phase 1. Deploy to `.claude/skills/` 2. Update CLAUDE.md with skill reference 3. Monitor usage and performance 4. Collect feedback for improvements ### Maintenance Phase 1. Monthly functional review 2. Quarterly performance audit 3. Annual architecture assessment 4. Deprecation planning (if needed) ## Skill Versioning **Semantic Versioning:** - **Major (X.0.0)**: Breaking interface changes - **Minor (0.X.0)**: New features, backward compatible - **Patch (0.0.X)**: Bug fixes, no interface changes **Version Declaration:** ```json { "skill": "redis-coordination", "version": "2.1.0", "compatibleWith": ["2.0.0", "2.1.0"], "deprecates": ["1.x.x"] } ``` ## Skill Dependencies ### Hard Dependencies Required for skill to function. Declared in SKILL.md. Example: ```markdown ## Dependencies - redis-coordination (>= 2.0.0) - agent-spawning (>= 1.5.0) ``` ### Soft Dependencies Optional enhancements. Skill degrades gracefully if missing. Example: ```markdown ## Optional Dependencies - transparency-middleware (audit logging) - event-bus (event streaming) ``` ## Migration from v1 **v1 Pattern (Implicit Coordination):** ```javascript // Main chat spawns agents, expects implicit coordination Task("coder", "Implement feature") Task("reviewer", "Review implementation") // ❌ No explicit dependency management ``` **v2 Pattern (Skills-Based Coordination):** ```bash # Use Redis coordination skill ./.claude/skills/redis-coordination/orchestrate-cfn-loop.sh \ --task-id "unique-id" \ --loop3-agents "coder" \ --loop2-agents "reviewer" # ✅ Explicit dependencies via Redis BLPOP ``` ## Performance Metrics **Redis Coordination Skill v2.0.0:** - Wake-up latency: <100ms (p95) - Token savings: 100% while waiting - Scalability: 10+ agents, indefinite iterations - Test coverage: 8/8 passing (100%) - Retry success rate: 85% recovery from transient failures - Quorum completion: 6/7 agents minimum (configurable) - Heartbeat overhead: <5ms per check - Metrics export: All 4 formats validated (JSON, Prometheus, CSV, OTLP) **Agent Spawning Skill:** - CLI spawn time: 200-500ms - Task spawn time: 1-2s - Cost savings (CLI): 95-98% vs Task tool **CFN Loop Validation Skill:** - Gate check: <50ms - Consensus calculation: <100ms - Iteration overhead: <200ms ## Troubleshooting ### Skill Not Found ```bash # Verify skill exists ls .claude/skills/my-skill/ # Check SKILL.md is present cat .claude/skills/my-skill/SKILL.md ``` ### Dependency Missing ```bash # Check Redis connection redis-cli ping # Verify required skills installed ls .claude/skills/redis-coordination/ ``` ### Test Failures ```bash # Run tests with verbose output bash -x ./.claude/skills/my-skill/test-my-skill.sh # Check Redis state redis-cli keys "swarm:*" ``` ### Agent Timeout ```bash # Check if agent entered waiting mode redis-cli get "swarm:task123:agent1:waiting" # Manually wake agent redis-cli lpush "swarm:task123:agent1:wake" "manual-wake" ``` ## Future Enhancements **Planned Skills (v2.1):** - `security-scanning` - Automated vulnerability detection - `performance-profiling` - Real-time performance analysis - `cost-tracking` - Token usage monitoring - `documentation-generation` - Auto-generate docs from code **Planned Features (v2.2):** - Skill versioning and compatibility checks - Skill marketplace (share community skills) - Hot reload (update skills without restart) - Skill composition (combine multiple skills) ## References - **CLAUDE.md**: Main project configuration - **STRAT-002**: Zero-token blocking mechanisms - **STRAT-005**: Comprehensive test suites - **STRAT-006**: Coordinator + agent spawning pattern ## Support - **Skill Development**: File issue with "skill" label - **Bug Reports**: Include skill name, version, and reproduction steps - **Feature Requests**: Describe use case and desired interface --- **Last Updated:** 2025-10-19 **Maintained By:** Claude Flow Novice Core Team