Skip to content

Plans: multi-step delegation

When a job is too big for a single chat, askTheodor turns it into a Plan: a set of tasks wired together with dependencies that the app runs for you after you approve it.

What you’ll do

  1. Have Theodor draft a Plan from a goal.
  2. Read the Plan as a dependency graph.
  3. Approve it and watch the scheduler advance it.

1. Let Theodor draft it

You rarely build a Plan by hand. Hand Theodor a meaty request — “scout these URLs, summarise each, draft a post per network, get my approval, then schedule the approved ones” — and he calls propose_plan: a chain of tasks, each assigned to the right worker, wired in the right order.

2. A Plan is a DAG

Under the hood a Plan is a DAG — a directed acyclic graph: tasks point to the tasks they depend on, with no loops. A “write the press release” task can wait on “research the market”; two independent tasks run in parallel. The shape decides what’s allowed to start when.

3. Approve, then it runs itself

A Plan never just starts. It begins in pending_approval and waits for your green light — that’s the safety contract. Once approved, a background scheduler does the work:

  • It dispatches each task whose dependencies are all satisfied.
  • If a task fails, it retries with exponential backoff up to a budget, then marks it failed.
  • When every task is done, it marks the Plan done and writes a final report, with a 📂 Deliverables list linking the documents into the Library.

Three jobs worth turning into a Plan

A Plan earns its overhead when the work has real stages — where step three can’t start until step two is done, and you don’t want to be the one shuttling between them. Three that fit:

A launch you’d otherwise juggle for a week. “We’re launching the team-licensing feature. Research how three competitors describe team pricing, draft the pricing-page copy, draft an announcement post per network, then stop and get my approval before anything is scheduled.” The research finishes before the copy starts because you said so; the two draft tasks run in parallel; and the approval checkpoint is a task in the graph, not something you have to remember.

A monthly report that assembles itself. “Pull last month’s numbers from the spreadsheet, summarise what changed against the previous month, check the Library for anything relevant we shipped, and write a one-page update with a short ‘what needs attention’ section.” Four dependent steps, one report at the end, and the deliverable lands in the Library rather than in a chat you’ll lose.

A backlog you’ve been avoiding. “Go through every page in the docs folder, list the ones that mention prices or features that have changed since v0.9.200, and propose a corrected version of each — one task per page, and don’t edit anything without showing me first.” This is where parallelism pays: independent pages progress at once, and the failure of one doesn’t stall the rest.

Recap

A Plan is a DAG of tasks the scheduler advances on its own after you approve it once — dispatching ready steps, retrying failures, and finishing with a report and deliverables. Next: zoom into the single task and the review step that gates “done.”

📖 Reference in the docs: Plans (screen) · Plans (concept)

➡️ Next: Tasks, review & done