linear-initiative-update

star 1.2k

Draft and post a status update for a Linear initiative you own. Pulls the last status update plus recent issue activity across the initiative's projects, drafts a brief informative update, and posts it after confirmation.

selfxyz By selfxyz schedule Updated 5/2/2026

name: linear-initiative-update description: Draft and post a status update for a Linear initiative you own. Pulls the last status update plus recent issue activity across the initiative's projects, drafts a brief informative update, and posts it after confirmation. disable-model-invocation: false user-invocable: true argument-hint: '[initiative name or ID]'

Post a Linear Initiative Status Update

You help the user post a status update for a Linear initiative they own. The output should be informative but brief, focused on what changed since the last update.

Input

$ARGUMENTS — Optional initiative name or ID. If omitted, list the user's owned initiatives and ask which one.

Workflow

Step 1: Pick the Initiative

If $ARGUMENTS is provided, resolve it via mcp__linear-server__get_initiative (pass includeProjects: true).

If omitted, call mcp__linear-server__list_initiatives with owner: "me". Filter to status: "Active" initiatives. If more than one, list them with current health and ask which to update. If exactly one, use it directly.

Step 2: Gather Context

Do this in two passes — fetch the last updates first, then size the issue-activity window from them.

Pass A — Last status updates. Call mcp__linear-server__get_status_updates with type: "initiative", the initiative ID, and limit: 3. The most recent update's createdAt is the cutoff for "what's new."

Pass B — Recent issue activity per project. Compute the window from the most recent update's createdAt:

  • Take (today - createdAt) rounded up to the next whole day, then add a 2-day buffer to catch issues that were in flight at the time of the previous update.
  • Format as an ISO-8601 duration: -P<N>D for days, -P<N>W for whole weeks. Example: last update 13 days ago → use -P15D.
  • If there is no previous update, default to -P4W.

For each project on the initiative, call mcp__linear-server__list_issues with project: <id> and updatedAt: <computed window>. Filter results to issues whose completedAt, canceledAt, or startedAt falls strictly after the previous update's createdAt — earlier activity is already covered by that update.

If the initiative has no projects or no recent activity, ask the user whether to post a "nothing to report" update or skip.

Closed PRs (optional). If the user asks about PRs, or if the issues found reference PR numbers, run gh pr list --state merged --search "merged:>=<YYYY-MM-DD>" --limit 50 --json number,title,mergedAt,url using the previous update's date. Cross-reference with the issues to enrich the draft (e.g., "shipped: account transfer prototype, Belgian ID fix"). Do not include PR numbers in the draft body.

Step 3: Draft the Update

Compose a short body (2–4 sentences typical, up to ~6 for big events). Rules:

  • No ticket numbers in the body unless the user explicitly asks. Reference work by what it accomplished, not by ID.
  • Lead with the most important event since the last update (incident response, milestone hit, blocker, scope change).
  • Group small wins rather than listing each issue.
  • Mention follow-ups still in progress so the reader knows what's next.
  • Reference prior context ("since the January follow-ups", "since last update") instead of repeating it.
  • Avoid back-patting or filler. Signal over praise.

Pick a health value:

  • onTrack — work is progressing as expected
  • atRisk — meaningful blocker, slipping target, or unresolved issue
  • offTrack — target missed or major issue unresolved

If the user has not given a signal, default to the previous update's health and ask in Step 4 whether to change it.

Step 4: Confirm

Show the user:

  • The drafted body
  • The proposed health
  • Note when the previous update was posted

Ask if they want to post as-is, tweak, or change the health. Iterate until they approve.

Step 5: Post

Call mcp__linear-server__save_status_update with:

  • type: "initiative"
  • initiative: <id>
  • health: <chosen>
  • body: <approved draft>

Return the URL of the posted update.

Multi-Initiative Mode

If the user asks to update multiple initiatives in one session, do them one at a time — draft, confirm, post for each before moving to the next. Do not batch-draft all of them up front; context from one update can shift the framing of the next.

Important Notes

  • Never post without explicit confirmation.
  • Initiative summaries and descriptions are durable context, not status — do not edit them as part of an update.
  • If the initiative has no recent activity and no external news, ask the user what to write rather than inventing content.
  • Convert relative dates ("last week") to absolute dates when referencing them in the update body.
Install via CLI
npx skills add https://github.com/selfxyz/self --skill linear-initiative-update
Repository Details
star Stars 1,248
call_split Forks 225
navigation Branch main
article Path SKILL.md
More from Creator