Boris Workflow for OpenClaw
by @mukston-debug
Run multiple independent tasks in parallel across AI agents with automatic load balancing, retries, progress tracking, optional verification, and organized a...
clawhub install boris-runπ About This Skill
Boris Workflow for OpenClaw
> Parallel agent task runner implementing the Boris Cherny multi-agent pattern
 
Overview
Boris Workflow is a powerful parallel execution engine for OpenClaw that enables you to run multiple independent tasks across multiple AI agents simultaneously. Inspired by Boris Cherny's approach to multi-agent orchestration, it provides automatic progress tracking, configurable error retry, and organized artifact management.
What It Does
The Boris Workflow implements a 3-phase parallel execution pattern:
1. Phase 1: Distribution β Tasks are queued and distributed to available agents 2. Phase 2: Execution β Agents pull work from the queue (work-stealing pattern) 3. Phase 3: Verification β Optional verification agent reviews all results
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ORCHESTRATOR β
β (boris-run CLI) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββΌββββββββββββββββββββ
βΌ βΌ βΌ
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β AGENT 1 β β AGENT 2 β β AGENT N β
β (Task A) β β (Task B) β β (Task C) β
ββββββββ¬ββββββββ ββββββββ¬ββββββββ ββββββββ¬ββββββββ
β β β
βββββββββββββββββββββΌββββββββββββββββββββ
βΌ
ββββββββββββββββββββββ
β RESULT COLLECTOR β
ββββββββββββββββββββββ
Key Features
π Parallel Execution
π Intelligent Retry
π Progress Tracking
β Verification Layer
π¨ Web UI (Optional)
π Organized Artifacts
Quick Start
# Install dependencies
cd ~/.openclaw/workspace/skills/boris-workflow
pip install -r requirements.txtRun 3 tasks with 3 agents
./bin/boris-run --tasks "research|analyze|write"Run 10 tasks with 5 agents
./bin/boris-run --tasks "t1|t2|t3|t4|t5|t6|t7|t8|t9|t10" --agents 5With verification step
./bin/boris-run --tasks "code|test|review" --verifyDry run to preview
./bin/boris-run --tasks "build|deploy" --dry-run
Web Interface
Boris Workflow includes a modern web UI for visual workflow management:
# Start the Web UI
cd ~/.openclaw/workspace/skills/boris-workflow/webui
./start.sh
Open http://localhost:8080 in your browser.
Web UI Features
Web UI Screenshots
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π Boris Workflow [Settings] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Workflow Name: batch-analysis β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Tasks β Agents: [ 3 βΌ] β β
β β ββββββββββββββββββββββββ β Model: [kimi-coding βΌ] β β
β β β‘ Research market trends β Timeout: [300s βΌ] β β
β β β‘ Analyze competitors β Retries: [2 βΌ] β β
β β β‘ Write summary report β β β
β β β‘ + Add Task β [β] Enable Verification β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β [Start Workflow] [Dry Run] [Export YAML] β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Progress β β
β β ββββββββββββββββββ 8/10 tasks complete (80%) β β
β β β β
β β task_0_research β
Complete 2m 14s β β
β β task_1_analyze β
Complete 1m 52s β β
β β task_2_write π Running 0m 45s β β
β β task_3_verify β³ Pending -- β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Requirements
System Requirements
Python Dependencies
pyyaml>=6.0
requests>=2.28.0
Optional Dependencies (for Web UI)
fastapi>=0.100.0
uvicorn[standard]>=0.23.0
pydantic>=2.0.0
python-multipart>=0.0.6
Configuration
Configuration Hierarchy
Config values are resolved in priority order (highest to lowest):
1. CLI arguments
2. Environment variables (BORIS_*)
3. Project config (./.boris/config.yaml)
4. User config (~/.boris/config.yaml)
5. System defaults
Example Config File
# ~/.boris/config.yamlAgent defaults
agents:
default_count: 3
max_count: 20
timeout_seconds: 300
model: "kimi-coding/k2p5"Retry configuration
retry:
max_attempts: 2
backoff_strategy: "exponential"
initial_delay_ms: 1000
max_delay_ms: 30000Output and artifacts
output:
base_dir: "~/.boris/artifacts"
naming_pattern: "{workflow_name}_{timestamp}_{task_id}"
cleanup_policy: "keep_last_10"Verification settings
verification:
enabled: false
verifier_model: "kimi-coding/k2p5"
auto_retry_failed: trueLogging
logging:
level: "info"
format: "text"
CLI Reference
Usage: boris-run [OPTIONS]Required:
-t, --tasks TEXT Tasks to run, pipe-separated
Optional:
-a, --agents INTEGER Number of agents (default: 3, max: 20)
-n, --name TEXT Workflow name
-c, --config PATH Config file path
-o, --output PATH Artifacts directory
-r, --retries INTEGER Max retries per task
-T, --timeout INTEGER Timeout per agent (seconds)
--verify Enable verification step
--dry-run Preview without execution
--mock Use mock bridge for testing
-v, --verbose Verbose logging
-q, --quiet Suppress progress output
--version Show version
-h, --help Show help
Use Cases
License
MIT License - OpenClaw Community
Author
Created by Goli / mukston for the OpenClaw ecosystem.
β‘ When to Use
π‘ Examples
# Install dependencies
cd ~/.openclaw/workspace/skills/boris-workflow
pip install -r requirements.txtRun 3 tasks with 3 agents
./bin/boris-run --tasks "research|analyze|write"Run 10 tasks with 5 agents
./bin/boris-run --tasks "t1|t2|t3|t4|t5|t6|t7|t8|t9|t10" --agents 5With verification step
./bin/boris-run --tasks "code|test|review" --verifyDry run to preview
./bin/boris-run --tasks "build|deploy" --dry-run
βοΈ Configuration
Configuration Hierarchy
Config values are resolved in priority order (highest to lowest):
1. CLI arguments
2. Environment variables (BORIS_*)
3. Project config (./.boris/config.yaml)
4. User config (~/.boris/config.yaml)
5. System defaults
Example Config File
# ~/.boris/config.yamlAgent defaults
agents:
default_count: 3
max_count: 20
timeout_seconds: 300
model: "kimi-coding/k2p5"Retry configuration
retry:
max_attempts: 2
backoff_strategy: "exponential"
initial_delay_ms: 1000
max_delay_ms: 30000Output and artifacts
output:
base_dir: "~/.boris/artifacts"
naming_pattern: "{workflow_name}_{timestamp}_{task_id}"
cleanup_policy: "keep_last_10"Verification settings
verification:
enabled: false
verifier_model: "kimi-coding/k2p5"
auto_retry_failed: trueLogging
logging:
level: "info"
format: "text"