Skip to content
Agentmart
Submit a tool

linear-resume

Resume in-flight work tracked in Linear by reading the latest handoff and surfacing where things stand + the reasoned next step.

Skill by thrawn01

IndexedMIT★ 11
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/thrawn01-linear-resume

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Resume in-flight work tracked in Linear by reading the latest handoff and surfacing where things stand + the reasoned next step. READ-ONLY: it reads, it does not branch, set up a worktree, change ticket status, or post anything. Use when the user says 'resume <project>', 'where did we leave off', 'pick up the git-server build', 'what's next on this ticket', '/linear-resume', or hands a Linear project/epic/ticket link and wants to continue. Two modes: (1) hand it a PROJECT or EPIC to learn which ticket is next, then move it to In Progress for dispatch; (2) hand it a single TICKET to re-hydrate a long-running, multi-session effort on that one ticket. Do NOT use to start work on a fresh ticket (dispatch launches /dispatch:build for that) or to write a handoff (that's /linear-handoff).

Use cases: backend, writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/linear-resume

What's inside

Skill name
linear-resume
Description
Resume in-flight work tracked in Linear by reading the latest handoff and surfacing where things stand + the reasoned next step. READ-ONLY: it reads, it does not branch, set up a worktree, change ticket status, or post anything. Use when the user says 'resume <project>', 'where did we leave off', 'pick up the git-server build', 'what's next on this ticket', '/linear-resume', or hands a Linear project/epic/ticket link and wants to continue. Two modes: (1) hand it a PROJECT or EPIC to learn which ticket is next, then move it to In Progress for dispatch; (2) hand it a single TICKET to re-hydrate a long-running, multi-session effort on that one ticket. Do NOT use to start work on a fresh ticket (dispatch launches /dispatch:build for that) or to write a handoff (that's /linear-handoff).
License
MIT
Instructions
116 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • allowed-tools: must be a space-separated string

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Resume Linear-tracked work

Read the **latest handoff** for whatever the user is resuming and turn it into a resume-from-here
brief: where the build/ticket is, the open loose ends, and the reasoned next step. This skill is the
**read** counterpart to `/linear-handoff` (which writes the handoff). It is strictly **read-only** — it never
branches, creates a worktree, advances a ticket's status, or posts a comment/update.

## Prerequisites

- Linear MCP connected (the `mcp__claude_ai_Linear__*` tools). If absent, stop and tell the user
  this skill needs Linear.

## The container model (project vs. issue)

Linear stores a handoff in one of two places, and that is the only distinction this skill makes:

| Resuming… | Handoff lives as | Read with |
|---|---|---|
| a **project** (a coordinated multi-ticket build) | the newest **status update** | `get_status_updates` `type:"project"` |
| an **issue** — an **epic/parent** *or* a **standalone ticket** | the newest **handoff comment** | `list_comments` |

Epic-vs-standalone makes no difference to the mechanism — both are issues, both store handoffs as
comments. The only question is *project or issue?*

A **handoff comment** is identified by convention: its body begins with a `## Handoff` heading
(see `/linear-handoff`). When scanning an issue's comments, treat only those as handoffs; ignore
ordinary discussion.

## 1. Resolve what to resume

Resolve in order; stop at the first hit:

1. **Supplied** — the user named a project, or gave a ticket/epic id or Linear URL → use it. If it
   is an id/URL, `get_issue` it to learn its title, its `project`, and its `parent`.
2. **Current branch** — `git rev-parse --abbrev-ref HEAD` matches Linear's branch shape
   (`<user>/<team>-<num>-<slug>` or `ticket/<team>-<num>-<slug>`) → extract `<TEAM>-<NUM>`,
   `get_issue` it.

If neither yields anything, ask the user which project/epic/ticket to resume. Never guess.

**Decide project vs. issue:**

- The user named a **project** (or you only have a project) → §2a.
- The user handed an **issue** → §2b. (This is the same-ticket / epic-level case.)

## 2a. Read the latest project status update

`get_status_updates` with `type:"project"`, the project name, `orderBy:"createdAt"`, `limit:1` (pull
a few if you want the recent trail). The newest update is the resume point.

If the project has **no** status updates, say so and fall back to listing the project's in-progress
/ recently-updated issues so the user can choose — there is no recorded handoff yet.

## 2b. Read the latest handoff comment on the issue

`list_comments` for the issue, newest first. Find the first whose body begins with a `## Handoff`
heading — that is the latest handoff.

- **Found** → that comment is the resume point.
- **None, but the issue has a `project`** → there is no per-ticket handoff; the coordinated build's
  state lives at the project level. Tell the user and offer to resume the **project** instead
  (re-run §2a against `issue.project`).
- **None and no project** → there is no recorded handoff. Fall back to the issue's own description +
  most recent comments and say plainly that you are reconstructing from the ticket itself, not from
  a handoff.

## 3. Surface the resume brief

Render what you read as a short, factual brief — do not dump the raw update/comment verbatim, distil
it:

- **Where it stands** — what last merged / what state the ticket is in (with ids/SHAs as written).
- **In flight** — any open PR + its CI/review state, as recorded.
- **Open loose ends** — deferred/skipped items, unresolved decisions, anything left red on purpose.
- **The reasoned next step** — the next task and *why* it was chosen, copied from the handoff. If the
  handoff is stale or self-contradictory, say so rather than papering over it.

If you read a project update naming the next **ticket**, name that ticket explicitly. If you read a
single ticket's handoff, frame the next step as continuing *that* ticket.

**Do not assert state the handoff did not claim.** If the handoff says "CI unverified," carry that
caveat forward — do not upgrade it to "green."

## 4. Hand off to the next action (suggest, never execute)

End by pointing at the next command — but **do not run it**; the user
drives:

- **Cross-ticket** (you resumed a project/epic and the next step is a *different* ticket) → give
  the ticket's id and suggest moving it to In Progress, so dispatch launches a
  `/dispatch:build <TEAM>-<NUM>` worker for it.
- **Same-ticket** (you resumed one ticket to continue it) → if a worktree/branch for it already
  exists, give the user its path or branch to reopen (e.g. via `claude-workspace <branch>`); if not,
  suggest creating it the same way. Either way, this skill does not touch git.

## Boundaries

- **READ-ONLY.** Never `git worktree add` / branch / checkout, never `save_issue` (no status or
  assignee change), never `save_comment` / `save_status_update`. Resume informs the next action; it
  is not the next action.
- Do not move tickets or invoke `/linear-handoff` for the user — suggest the command and let them
  decide.
- Do not re-derive sequencing the handoff already reasoned out — carry its "next" forward; only flag
  it if it's stale or wrong.

## Early exits

| Condition | Action |
|---|---|
| No Linear MCP available | Stop — this skill requires Linear |
| Nothing resolvable to resume | Ask the user which project/epic/ticket |
| Project has no status updates | Say so; list in-progress issues to choose from |
| Issue has no handoff comment but has a project | Offer to resume the project instead |
| Issue has no handoff comment and no project | Reconstruct from the ticket; say you're doing so |

From thrawn01/claude-dotfiles, MIT.

More from thrawn01/claude-dotfiles

Signals

Stars
11
Forks
0
Open issues
0
Last commit (this folder)
Oct 20, 2026 (8 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from thrawn01

Cite this page

linear-resume skill. Agent Mart. https://agentmart.dev/skills/thrawn01-linear-resume (last updated 2026-10-24)