Temporal Multi Agent banner
jkelly-dev1 jkelly-dev1

Temporal Multi Agent

Productivity community

Description

Production-shaped multi-agent platform on Temporal: a main orchestrator plans a task, fans out to specialized agents that run concurrently and self-critique, then reviews and synthesizes, all as durable, replay-safe workflows with human-in-the-loop plan approval. Provider-agnostic (mock/Anthropic), runs fully offline; Python.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Temporal Multi-Agent Orchestration Demo

[![tests](https://github.com/jkelly-dev1/temporal-multi-agent/actions/workflows/ci.yml/badge.svg)](https://github.com/jkelly-dev1/temporal-multi-agent/actions/workflows/ci.yml)

A small but production-shaped **multi-agent platform** built on [Temporal](https://temporal.io): a **main orchestrator agent** plans a task, coordinates a fleet of **specialized agents** that run concurrently, each agent **self-critiques and refines** its own work, and the orchestrator **reviews and synthesizes** the result, all as **durable, replay-safe** workflows.

It runs **fully offline** with a deterministic mock "brain," so `python run_demo.py` works with no API key, no Docker, and no external Temporal server. Point it at a real Claude model by setting two env vars (see below); the orchestration code doesn't change.

Why Temporal

The hard part of a multi-agent platform isn't the prompts; it's the *systems*: coordinating long-running, failure-prone work across many concurrent agents and recovering cleanly when something dies mid-flight. Temporal gives us **durable execution**: workflow state is reconstructed by replaying an event history, so a crashed worker resumes exactly where it left off. That turns "orchestrate agents" into a tractable, testable engineering problem.

Architecture

                      +--------------------------------+
ResearchRequest ----->|      OrchestratorWorkflow      |   (the "main agent")
                      |                                |
                      |  1. plan_subtasks  ------------+--> Planner  (activity)
                      |  2. await approve_plan  <------+--- human signal (HITL)
                      |  3. fan-out (asyncio.gather)   |
                      |        |   |   |   |           |
                      |        v   v   v   v           |
                      |   ResearchAgentWorkflow xN     |   (specialized agents,
                      | research -> critique -> refine |