> ## Documentation Index
> Fetch the complete documentation index at: https://askmarvin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Plan

> Ask a model to propose tasks for a goal

`plan` asks a model to create a list of `Task` objects. Planning does not execute those tasks.

```python theme={null}
import marvin

tasks = marvin.plan("Outline and draft a short introduction to Python type hints")
for task in tasks:
    print(task.instructions)
```

Review the generated instructions, dependencies, assigned agents, and tools before executing the plan:

Run the reviewed list with `marvin.run_tasks(tasks)`.

Use `available_agents` to supply agents that can be assigned to generated tasks, and `tools` to supply available functions. Use explicit Python steps or [task dependencies](https://askmarvin.ai/concepts/tasks.md#dependencies) when the workflow is already known.

`plan_async` is the async counterpart. See [the API reference](https://askmarvin.ai/api-reference/marvin-fns-plan.md) for signatures.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.