Create Linear Document

1. Gather content

Collect the document’s content from whatever is available — in order of priority:

If none of the above provide enough signal, ask the human what the document should cover.

2. Determine the parent

A Linear document requires exactly one parent: a team, project, initiative, cycle, or issue. Ask the human which one this document belongs to, unless it’s obvious from context (e.g. they were just discussing a specific project).

Use the Linear MCP to resolve the parent to its ID — never pass a human-readable name straight into save_document:

Pass exactly one parent field to save_document — never more than one. If context makes more than one parent plausible (e.g. the human mentions both an issue and its project), ask which one the document should attach to; do not guess or pass both.

If the Linear MCP connector is not configured (i.e., LINEAR_API_KEY is not set in mcp.env), prompt the human to add it before proceeding.

3. Draft the document

Construct a draft with:

4. Review with human

Present the full draft — title, parent, and content — clearly. Remind the human that this will post the drafted content to Linear where it may be visible to the whole team. Do not create the document until explicitly approved.

5. Create the document

Once approved, call mcp__linear__save_document with title, content, and exactly one parent field (team, project, initiative, cycle, or issue) resolved in Step 2.

Report back:

6. Updating an existing document

If the human wants to edit a document instead of creating one, resolve it via mcp__linear__get_document or mcp__linear__list_documents, then call mcp__linear__save_document with its id set. title is only required when creating — when updating, you may pass just id and the fields you’re changing (e.g. content) and omit title and the parent entirely. Passing a parent on update reparents the document — only do this if the human explicitly asks to move it.