autobeat

Use when delegating work to background agents, creating workflows, choosing between autobeat primitives (tasks, pipelines, loops, orchestrations, schedules), monitoring progress, or troubleshooting failures.

Autobeat Agent Orchestration

Autobeat lets you delegate work to background AI agent instances, build task pipelines, create iterative loops, schedule recurring work, and run autonomous orchestrations. Three runtimes supported: Claude, Codex, Gemini.

Iron Law

USE THE SIMPLEST PRIMITIVE THAT FITS

Single task beats pipeline. Pipeline beats loop. Loop beats orchestrator. Each level adds overhead and complexity — only escalate when the simpler primitive genuinely cannot express your intent. If you catch yourself building a pipeline with one step, use a task. If you're manually wiring 5 sequential tasks with dependsOn, use a pipeline.

When This Skill Activates

  • Delegating work to background agents
  • Choosing between tasks, pipelines, loops, schedules, or orchestrations
  • Building multi-step workflows or dependency graphs
  • Setting up iterative improvement (retry/optimize loops)
  • Monitoring task progress or troubleshooting failures
  • Scheduling recurring work

Capability Hierarchy

Use this decision tree to pick the right primitive:

Is it a single, self-contained piece of work?
  YES → DelegateTask (single task)

Is it a fixed sequence of steps?
  YES → How many steps?
    2-20 → CreatePipeline
    >20  → Break into multiple pipelines or use orchestrator

Does it need iterative improvement?
  YES → Is the exit condition objective (shell exit code / script score)?
    YES → CreateLoop with evalMode: shell
    NO  → CreateLoop with evalMode: agent (AI judges quality)

Is the goal open-ended and complex?
  YES → CreateOrchestrator (autonomous planning + delegation)

Should it run on a schedule?
  YES → Wrap any of the above: ScheduleTask, SchedulePipeline, ScheduleLoop

Primitive Comparison

PrimitiveUse WhenComplexityAutonomy
TaskSingle work itemLowestNone
PipelineFixed sequence (2-20 steps)LowNone
LoopIterative improvementMediumExit condition only
OrchestratorOpen-ended goalsHighestFull (plans + delegates)
ScheduleAny of the above, recurring/deferred+1 layerTimer-driven

Quick Reference

MCP Tools

ToolPurpose
DelegateTaskRun a single task in a background agent
TaskStatusCheck task status (omit taskId for all)
TaskLogsRead stdout/stderr from a task
CancelTaskCancel a running task
RetryTaskRe-run a failed/completed task
ResumeTaskResume from checkpoint with context
CreatePipelineSequential task chain (2-20 steps)
CreateLoopIterative retry/optimize loop
LoopStatusCheck loop progress and history
ListLoopsList loops with status filter
CancelLoopCancel an active loop
PauseLoopPause a loop mid-iteration
ResumeLoopResume a paused loop
ScheduleTaskSchedule a task (cron or one-time)
SchedulePipelineSchedule a recurring pipeline
ScheduleLoopSchedule a recurring loop
ListSchedulesList schedules with status filter
ScheduleStatusGet schedule details + history
PauseSchedulePause a schedule
ResumeScheduleResume a paused schedule
CancelScheduleCancel a schedule
CreateOrchestratorAutonomous goal execution
OrchestratorStatusCheck orchestration progress
ListOrchestratorsList orchestrations
CancelOrchestratorCancel an orchestration
ListAgentsList available agents with auth status
ConfigureAgentCheck auth, store/reset API keys

CLI Commands

CommandPurpose
beat run "<prompt>"Delegate a task
beat status [task-id]Check task status
beat logs <task-id>Read task output
beat cancel <task-id>Cancel a task
beat resume <task-id>Resume from checkpoint
beat pipeline "<step1>" --delay 5m "<step2>"Create pipeline
beat loop "<prompt>" --until "<cmd>"Retry loop
beat loop "<prompt>" --eval "<cmd>" --maximizeOptimize loop
beat loop "<prompt>" --eval-mode agent --strategy retryAgent eval loop
beat schedule create "<prompt>" --cron "0 9 * * *"Cron schedule
beat orchestrate "<goal>"Start orchestration
beat orchestrate status <id>Check orchestration

Composition Patterns

Pipeline-in-Loop: Repeat a multi-step pipeline until quality passes.

CreateLoop { pipelineSteps: ["lint", "test", "build"], strategy: "retry", exitCondition: "npm test" }

Loop-in-Schedule: Run an optimization loop daily.

ScheduleLoop { strategy: "optimize", cronExpression: "0 2 * * *", ... }

Task Dependencies (manual DAG): Fan-out, then fan-in.

A = DelegateTask("generate data")
B = DelegateTask("process subset 1", dependsOn: [A])
C = DelegateTask("process subset 2", dependsOn: [A])
D = DelegateTask("merge results", dependsOn: [B, C], continueFrom: B)

Anti-Patterns

MistakeWhy It's WrongFix
Pipeline with 1 stepUnnecessary overheadUse DelegateTask
Manual dependsOn chain for sequential tasksError-prone wiringUse CreatePipeline
Loop without exit condition (shell mode)Runs foreverSet exitCondition or use evalMode: agent
Orchestrator for simple sequencesOverkillUse Pipeline or Loop
Polling TaskStatus in a tight loopWastes resourcesCheck periodically (30s+)
Ignoring workingDirectoryTasks run in wrong directoryAlways set workingDirectory
Unlimited maxIterations with no failures capRisk of infinite loopSet maxIterations or maxConsecutiveFailures

Extended References

Load these for deep dives on specific capabilities:

  • orchestration.md — Choosing primitives, composition patterns, orchestrator guardrails. Load when planning complex workflows.
  • loops.md — Retry/optimize strategies, agent eval mode, git integration, recipes. Load when creating loops.
  • dependencies.md — DAGs, pipelines, context passing, failure cascade. Load when wiring task dependencies.
  • monitoring.md — Status checking, recovery, troubleshooting. Load when monitoring or debugging.
  • capability-matrix.md — Complete parameter tables for all MCP tools and CLI commands. Load for exact parameter names and defaults.