| name | linear-release-update |
| description | Post a structured Linear project update document on a version release. Orchestrates tapps_release_update → docs_validate_release_update → save_document → cache invalidation. Use when posting a release announcement to Linear after shipping a new version. |
| mcp_tools | ["tapps_release_update","docs_generate_release_update","docs_validate_release_update","docs_release_gate","linear_save_document","tapps_linear_snapshot_invalidate"] |
Post a structured Linear project update document when a new version is released. The user's request to post a release update is standing authorization for the full pipeline — do NOT pause mid-flow to ask "should I post this?"
Flow:
- Call
tapps_release_update(version, prev_version, team, project).
version and prev_version are required. Parse from the user's prompt or ask once if both are missing.
team and project: read from .tapps-mcp.yaml if present (linear_team, linear_project fields), otherwise pass empty strings.
- If
dry_run=true is requested, pass it through — the tool returns the body without requiring validation to pass.
1b. Docs release gate (required unless dry_run): Call docs_release_gate. Stop on fail.
-
Check the response:
- If
success=false: surface the error.message and findings to the user. Stop — do not post.
- If
agent_ready=false (and not dry_run): surface findings, stop.
- If
agent_ready=true: proceed.
-
Call linear_save_document:
project: use data.project from the tool response.
title: use data.document_title from the tool response (format: Release vX.Y.Z — YYYY-MM-DD).
content: use data.body from the tool response verbatim.
-
After save_document succeeds, call tapps_linear_snapshot_invalidate:
team: use data.team from tool response.
project: use data.project from tool response.
-
Report the document URL from save_document response and the version that was posted.
Rules:
- Never call
save_document without a prior agent_ready=true from tapps_release_update (unless dry_run=true).
document_title must use the em-dash format from data.document_title — do not construct it manually.
- Do not modify the body returned by the tool. Pass
data.body verbatim.