Paseo Playbooks

How it works

The plugin owns the deterministic part of a run. The Playbook Manager agent owns the judgment.

Plugin and manager

Plugin (rules)Playbook Manager (judgment)
Loads and validates playbooks from the workspacePicks the playbook that fits the request
Saves run state on the daemonWrites each step's brief
Computes which steps are ready from needs, resets loops, enforces limitsReads each step's result and chooses its outcome
Creates step agents with their role, prompt and labelsDecides whether to retry, nudge or loop
Wakes the manager when a step finishes or a gate is decidedSummarises the run for the human at a gate
Records gate decisions from the panelRelays decisions that arrive by chat

The manager never edits run state directly. It calls the plugin's tools, and the plugin refuses anything the playbook does not allow, for example starting a step that is not ready.

Lifecycle of a run

  1. Start. Start runs the playbook with the workspace's current agent (its most recent agent that manages no run): the plugin creates the run there, on the current branch, reloads the agent to give it the manager tools, and sends it the kickoff. If the agent is busy it is not interrupted: the kickoff waits for the end of its current turn. The arrow next to Start offers Start on a new agent, which creates a new manager agent in the same workspace, on its current branch, and Start in a new workspace, which creates a Paseo worktree on a new branch playbooks/<playbook>-<short id>, for example playbooks/pr-3a9c1f, and a manager agent in it, so the run never touches your checkout. Either way, one active run per workspace.
  2. Steps. For each ready step the manager calls start_step with a brief. The plugin creates a subagent of the manager in the same worktree, with the role's instructions as system prompt and the rendered step prompt, inputs, loop feedback and brief as its first message.
  3. Report. The step agent calls report_step_result with an outcome, a summary and its typed outputs, then ends its turn.
  4. Wake-up. When a step agent's turn ends, the plugin checks readonly roles with git, then queues a message for the manager. Wake-ups are sent only while the manager is idle, merged into one prompt. The plugin does not cancel the manager's turn: it sends wake-ups as steer messages and relies on Paseo's busy tracking to know when the manager is idle.
  5. Decide. The manager reads the report and calls complete_step. The plugin applies the transition and returns what is ready next, a gate to open, or the end of the run.
  6. Gate. The manager opens ready gates with request_gate and ends its turn. You decide in the panel; the manager is woken with your decision.
  7. End. The run completes, fails or is canceled. Its outputs appear in the expandable End pill in the graph.
  8. Wrap-up. If the playbook has after: tasks, the auto ones start when the run completes or fails; manual ones start from a button in the panel. The same manager runs them like steps. They never change the run's status.

Tools

ToolWho gets itWhat it does
list_playbooksmanagerLists this workspace's playbooks and explains the manager protocol.
start_playbookmanagerCreates a run with the caller as manager.
start_stepmanagerStarts a ready step as a subagent with the manager's brief.
complete_stepmanagerRecords a step's outcome and applies the transition.
request_gatemanagerOpens a ready gate with a summary for the human.
resumemanagerRecords a gate decision that arrived by chat.
nudge_stepmanagerSends a follow-up to a step's agent in the same conversation.
get_runmanagerShows a run's steps, reports, outputs, gates and loops.
list_runsevery agent except step agentsLists the active runs (or all unarchived runs) with their workspace, branch and manager.
cancel_runevery agent except step agentsCancels a run and stops its running step agents; a manager is told when another agent cancels its run. On an ended run, cancels its running after-tasks.
restart_runevery agent except step agentsReopens a finished or archived run from a step whose needs completed; a new manager takes over if the old one was archived.
validate_playbooksevery agent except step agentsValidates the workspace's playbooks with the panel's checks.
report_step_resultstep agentsReports the step's outcome, summary and outputs.

An agent gets the manager tools when its workspace contains a playbook, when it already manages a run, or when Start created it. Step agents are labelled by the plugin and get only report_step_result.

Plugin tools reach agents through Paseo's MCP server. For Claude agents created by the plugin (step agents and managers created by Start on a new agent or Start in a new workspace), the plugin pre-approves its own tools, so agents in default mode are not stopped by a permission prompt on them. Other providers may still ask.

Run state

The Playbooks panel

Limits with Paseo 0.14

The full design and its decisions are in the design record.