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

# Draft a plan in the workbench

> Draft unreleased_changes, a plan that writes a one-line release note for each commit since the latest release, then save and run it.

## Draft the plan

**1. Open the workbench in plan mode**

```bash theme={null}
graph workbench plan
```

**2. Describe the goal**

Say what the plan should produce and from what:

```text theme={null}
a plan that writes a one-line release
note for each commit since the latest
GitHub release, from its subject and
the files it changed
```

The plan drafter finds the tools for each part of the goal, writes the plan, checks it, and puts it in the pane:

![The workbench after drafting: the goal and the plan drafter's summary on the left, and the release\_notes\_since\_latest\_release plan on the right with steps release, commits, a file\_changes map over changed and row, notes, and the output, marked valid.](https://mintcdn.com/graph/s-Ce0Orb66xMgIkN/images/workbench/plan-drafted.svg?fit=max\&auto=format\&n=s-Ce0Orb66xMgIkN\&q=85\&s=88e17589cd327119318f80b9921c42ad)

**3. Answer its questions**

The drafter may ask for clarification on statuses or labels that it needs to draft the plan. Answer the questions in the form to continue.

![The workbench's answer form over the chat, asking whether merge commits should get a release note (no) and whether to leave out commits that only change .github/, with a field for anything else the planner should know.](https://mintcdn.com/graph/s-Ce0Orb66xMgIkN/images/workbench/plan-drafting-questions.svg?fit=max\&auto=format\&n=s-Ce0Orb66xMgIkN\&q=85\&s=2adf99080dc5af16f3e3fea970f36283)

**4. Rename it**

The plan editor takes over once the draft is in the pane. Ask it for the identifier you want:

```text theme={null}
rename it unreleased_changes
```

**5. Save**

Press <kbd>Ctrl</kbd>+<kbd>S</kbd>. graph writes the plan to `./.graph/plans/unreleased_changes.yaml`.

## Run the plan

```bash theme={null}
graph plan run unreleased_changes
```

```json theme={null}
{
  "release_tag": "v0.15.0",
  "release_notes": [
    {
      "note": "Plans now declare a required finish key, returning the plan's result shape on success and one standard error shape on failure",
      "sha": "648d34e",
      "short_sha": "648d34e"
    },
    {
      "note": "Workbench agents now work on plans through the same artifact tools as agents and tools, folding 17 workbench tools into 7",
      "sha": "cd01c05",
      "short_sha": "cd01c05"
    }
  ],
  "commits": [ … ]
}
```

## Related guides

> **[Debug a plan](/plans/guides/debug-a-plan)**
>
> Step through a run in the workbench.

> **[Plan file](/plans/reference/plan-file)**
>
> Every field a plan file takes.

> **[Create a tool in the workbench](/tools/guides/create-in-workbench)**
>
> Draft a tool the plan needs.


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