Skip to main content

AI Orchestration Tool for Claude Code - Multi-agent orchestration for complex development tasks

Project description

Ensemble

"One task. Many minds. One result."

AI Orchestration Tool for Claude Code.

Overview

Ensemble is an AI orchestration system that combines the best practices from:

  • shogun - Autonomous AI collaboration with tmux parallel execution
  • takt - Workflow enforcement with quality gates
  • Boris's practices - Effective use of skills, subagents, CLAUDE.md, and hooks

Features

  • Autonomous AI Coordination: One instruction triggers multiple AI agents working together
  • Flexible Execution Patterns:
    • Pattern A: Simple tasks via subagent
    • Pattern B: Medium tasks via tmux parallel panes (2-4 workers, auto-scaled)
    • Pattern C: Large tasks via git worktree separation
    • Mode T: Research/review tasks via Agent Teams (parallel investigation)
  • Parallel Execution Enhancements:
    • Dynamic worker count (auto-scales based on task count)
    • Worker-level subagent parallelization (for 3+ files)
  • Parallel Review: Architecture + Security reviews run in parallel
  • Self-Improvement: Automatic learning and CLAUDE.md updates
    • Categorized learning (communication, workflow, code quality, tools)
    • Duplicate detection and consolidation
    • Subagent execution result collection
  • Compaction Recovery: Built-in protocol to prevent role amnesia
  • Extensibility:
    • /create-skill - Generate project-specific skill templates
    • /create-agent - Auto-generate specialized agents from tech stack
  • RPI Workflow: Research → Plan → Implement staged workflow for large features
  • Hooks Notification: Terminal bell on agent completion (Stop) and errors (PostToolUseFailure)
  • Status Line: Real-time display of git branch, session state, worker count
  • CLAUDE.md 150-line Limit Check: Pre-commit hook to prevent instruction bloat
  • Event-Driven Communication: inbox_watcher.sh + inotifywait for 0ms detection
  • Exclusive Locking: flock + atomic write for concurrent YAML protection
  • 3-Phase Auto-Escalation: Automatic worker recovery (nudge → Escape+C-c → /clear)
  • Loop Detection: LoopDetector + CycleDetector for infinite loop prevention
  • Task Dependencies: blocked_by field with DependencyResolver and cycle detection
  • NDJSON Session Logging: Structured logging for full session traceability
  • Faceted Prompting: 5-concern separation (WHO/RULES/WHAT/CONTEXT/OUTPUT)
  • Progressive Disclosure Skills: Dynamic skill injection based on task type
  • CI/CD Pipeline Mode: Non-interactive execution with ensemble pipeline
  • Autonomous Loop Mode: ensemble loop --scan for automatic task discovery and fix
  • Codebase Scanner: ensemble scan finds TODO/FIXME, GitHub Issues, PROGRESS.md tasks
  • Task Investigation: ensemble investigate analyzes scan results (inline, subprocess, or Agent Teams)
  • Autonomous Task Continuation: /go automatically scans for next tasks after completion
  • Bloom's Taxonomy Classification: Cognitive-level-based model selection (L1-L3: sonnet, L4-L6: opus)
  • Bottom-Up Skill Discovery: Auto-detect repeated patterns and suggest skill creation

Installation

Using uv (recommended)

# Install globally
uv tool install ensemble-claude

# Or add to your project
uv add ensemble-claude

Using pip

pip install ensemble-claude

From source

git clone https://github.com/ChikaKakazu/ensemble.git
cd ensemble

# Using uv
uv pip install -e .

# Or using pip
pip install -e .

Quick Start

# 1. Initialize Ensemble in your project
ensemble init

# 2. Launch the tmux sessions (2 separate sessions)
# Session names are derived from the current directory name
ensemble launch

# 3. Open another terminal to view workers session
# Check your session name from .ensemble/panes.env
source .ensemble/panes.env
tmux attach -t "$WORKERS_SESSION"

# 4. Run a task in the Conductor session
/go implement user authentication

# Light workflow (minimal cost)
/go-light fix typo in README

# Create project-specific tools
/create-skill my-feature "Description of the skill"
/create-agent  # Interactive tech stack analysis

CLI Commands

Command Description
ensemble init Initialize Ensemble in current project
ensemble init --full Copy all templates (agents, commands, scripts, workflows, hooks, rules, settings, etc.)
ensemble launch Start 2 tmux sessions (conductor + workers)
ensemble launch --no-attach Start sessions without attaching
ensemble upgrade Sync template updates (agents, commands, scripts)
ensemble scan Scan codebase for task candidates (TODO/FIXME, Issues, PROGRESS.md)
ensemble scan --exclude-tests Scan excluding test files
ensemble investigate Investigate scan results with Claude
ensemble loop --scan Autonomous loop: scan → fix → repeat
ensemble pipeline --task "..." Non-interactive CI/CD pipeline mode
ensemble --version Show version

In-Session Commands (Conductor)

Command Description
/go <task> Full workflow with auto-pattern detection + auto-continuation
/go --confirm <task> Same as /go but asks before starting next task
/go --teams <task> Force Mode T: Research/review via Agent Teams
/go-light <task> Lightweight workflow for simple changes
/go-issue [number] Start implementation from GitHub Issue
/rpi-research <task> Research phase: requirement analysis, technical investigation, feasibility assessment
/rpi-plan Plan phase: detailed planning, architecture design, task breakdown
/rpi-implement Implement phase: execute implementation based on plan (delegates to /go)
/create-skill <name> <desc> Generate project-specific skill template
/create-agent Auto-generate specialized agent from tech stack
/review Run architecture + security review
/improve Manual self-improvement analysis
/status View current progress
/deploy Version bump, merge, and publish to PyPI

What ensemble init --full Copies

Category Files Description
agents/ 7 Agent definitions (conductor, dispatch, worker, reviewer, etc.)
commands/ 11 Slash commands (/go, /go-issue, /review, /improve, /rpi-*, etc.)
scripts/ 9 Shell scripts (launch, pane-setup, dashboard-update, etc.)
workflows/ 4 Workflow definitions (simple, default, heavy, worktree)
instructions/ 6 Phase instructions (plan, implement, review, dispatch, etc.)
policies/ 5 Policies (communication, delegation, review, coding, security)
personas/ 7 Agent persona definitions
output-contracts/ 3 Output format contracts (worker-report, review-report, etc.)
knowledge/ 1 Project knowledge templates
skills/ 6 Skill templates (testing, security-audit, worktree-manager, etc.)
hooks/scripts/ 4 Claude Code hooks (session-scan, notify-stop, notify-error, etc.)
rules/ 4 Rules (workflow, communication, infrastructure, agent-teams)
settings.json 1 Claude Code project settings with hooks configuration
Total 68

Requirements

  • Python 3.11+
  • Claude Code CLI (claude command available) - Install
  • tmux - apt install tmux (Ubuntu) / brew install tmux (macOS)
  • git 2.20+ (for worktree support)
  • Claude Max plan recommended (for parallel execution)
  • Optional: gh CLI for GitHub Issue integration
  • Optional: inotifywait for event-driven notifications (apt install inotify-tools)

Note: Ensemble requires Linux or macOS. On Windows, use WSL.

Agent Architecture

┌─────────────┐
│  Conductor  │ ← Orchestrator (planning, judgment, delegation)
└──────┬──────┘
       │
  ┌────┴────┐
  ▼         ▼
┌────────┐ ┌──────────┐
│Dispatch│ │ Learner  │
└───┬────┘ └──────────┘
    │        ↑ Learning records
    ▼
┌─────────────────────────────┐
│  Reviewer / Security-Reviewer│ ← Parallel reviews
└─────────────────────────────┘
    │
    ▼ (worktree mode)
┌──────────┐
│Integrator│ ← Merge & integrate
└──────────┘

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ensemble_claude-0.5.11.tar.gz (191.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ensemble_claude-0.5.11-py3-none-any.whl (200.9 kB view details)

Uploaded Python 3

File details

Details for the file ensemble_claude-0.5.11.tar.gz.

File metadata

  • Download URL: ensemble_claude-0.5.11.tar.gz
  • Upload date:
  • Size: 191.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ensemble_claude-0.5.11.tar.gz
Algorithm Hash digest
SHA256 50a2cff2dc6bded306cfeb042bc28ec6ab304e8146778545148f293681b7fdf0
MD5 546dfabd07735705319f0ffad81ffccf
BLAKE2b-256 f3e913e1d71859693a4f53e3f6dafca24127f21aa70a9e2253a13a94d7f5e886

See more details on using hashes here.

Provenance

The following attestation bundles were made for ensemble_claude-0.5.11.tar.gz:

Publisher: publish.yml on ChikaKakazu/ensemble

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ensemble_claude-0.5.11-py3-none-any.whl.

File metadata

File hashes

Hashes for ensemble_claude-0.5.11-py3-none-any.whl
Algorithm Hash digest
SHA256 626bc817ba79b899a2b604213ceaf7ab75eaff6f1663385cb2efd9288329589f
MD5 fcde5d40d196e02919153895fb79583e
BLAKE2b-256 770c80618743ac2febd80926ff06bf51614ecf82aaa4bc081be339db7cff3ec4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ensemble_claude-0.5.11-py3-none-any.whl:

Publisher: publish.yml on ChikaKakazu/ensemble

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page