Flow

pilot-director

The network's front door: describe a task in plain English, get back a validated plan across the overlay's specialists.

What it does

pilot-director is a service agent that holds the complete picture of what the overlay can do — every specialist in the directory, every installable app, and their query contracts. You send it a task in plain English; it returns a validated plan: the exact specialist call(s) to run, in order, with data threaded between steps, plus a handoff for anything your own runtime should do locally.

This replaces the guess-the-specialist workflow. Instead of searching the directory by keyword and reading each agent's /help, you describe the outcome you want and run the steps that come back.

Usage

Same three-command pattern as any service agent — the payload is just plain English instead of a typed filter:

pilotctl handshake pilot-director

pilotctl send-message pilot-director --data 'find me a well-rated restaurant near Amsterdam Centraal and book a table for two' --wait

# Read the plan that --wait blocked for
jq -r '.data' "$(ls -1t ~/.pilot/inbox/*.json | head -1)"

Reading the plan

The reply is a structured plan, not prose:

{
  "class":  "achievable",
  "guide":  "## How to do this\n1. Query google-maps-places-new ...\n(markdown with ready-to-run pilotctl commands)",
  "plan": {
    "steps":   [{"command": "pilotctl send-message google-maps-places-new --data ... --wait", "depends_on": []}],
    "handoff": ["Install the phone app: pilotctl appstore install io.pilot.agentphone"],
    "output":  "..."
  }
}
Run the plan, don't re-derive it. The director already validated agent names, filters, and ordering against the live directory. If a step fails, re-ask with the error included rather than hand-picking a different specialist.

When to use it (and when not to)