agentleFS
SkillMedevSkillMedev/project-management/skills/linear-workflow/SKILL.md

linear-workflow

Skill0 starsChanged 38 days agoMITView on GitHub

Configures a Linear team end to end - team structure, minimal workflow states, cycles, a small label taxonomy, a daily triage rotation, and priority SLAs with breach views. Use when someone asks "set up Linear for my team", "how should we structure teams and labels in Linear", "our Linear backlog is a mess", or "how do we handle inbound bugs in Linear". Do NOT use for writing the tickets themselves - acceptance criteria, story points, Definition of Ready - use jira-ticket-writer instead (its ticket anatomy applies to Linear issues too). For deciding sprint scope and capacity, use sprint-planning.

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. Giamme/linear-spanks★ 1same name
    2. Diligence-AI/org-skills★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository2 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. About 0 are common, 12 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do the steps in order: states before cycles (cycles report on states), labels before triage (triage applies labels), triage before SLAs …

    line 22
  2. Distinctive:

    Create one team per delivery unit - a squad that ships together - not per function.

    line 26
  3. Very specific:

    Keep team identifiers short (ENG, WEB) - they prefix every issue ID.

    line 27
  4. Distinctive:

    Avoid sub-teams early; split only when a single team's backlog is genuinely unmanageable, which rarely happens under ~10 people.

    line 28
  5. Distinctive:

    Keep states minimal and meaningful.

    line 32
  6. Distinctive:

    Every state beyond these needs a written answer to "what decision happens here?" - a state without a decision is a place issues go to die.

    line 46
  7. Distinctive:

    Use cycle velocity (completed issues/points) to forecast, never to punish.

    line 52
  8. Distinctive:

    Do not add workflow states to model every nuance - each extra state is a place issues stall, because no one owns moving things out of it.

    line 122
  9. Distinctive:

    Do not skip triage because volume is low today - the backlog fills with unvalidated noise precisely because no one notices it happening.

    line 123
  10. Distinctive:

    Do not treat velocity as a target - it becomes gamed and meaningless within two cycles.

    line 124
  11. Distinctive:

    Do not duplicate priority as labels - two sources of truth for urgency guarantees they disagree.

    line 125
  12. Distinctive:

    Do not create teams per function - cross-team dependencies on every feature is the predictable result.

    line 126
  13. Distinctive:

    Every label appears in at least one filter or saved view.

    line 131

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Linear Workflow

Linear rewards lightweight, opinionated process; teams that port over a heavyweight Jira scheme get the worst of both worlds - ceremony without clarity. This skill sets up a team so issues flow predictably from idea to done, and inbound noise never silts up the backlog.

Inputs to collect

  1. Delivery units: which groups actually ship together? (Squads, not departments.)
  2. Team size and count - decides whether sub-teams are justified yet.
  3. Inbound volume: roughly how many bugs/requests arrive per week, and from where.
  4. Current cadence, if any (1- or 2-week sprints, or none). If unknown, default to 2-week cycles and label it a default.
  5. The 3-5 product areas people already use in conversation ("auth", "billing") - these become area labels.

Operating procedure

Do the steps in order: states before cycles (cycles report on states), labels before triage (triage applies labels), triage before SLAs (SLAs are measured from triage decisions).

Step 1: Team structure

  • Create one team per delivery unit - a squad that ships together - not per function. A "Frontend team" and "Backend team" split guarantees every feature spans two boards.
  • Keep team identifiers short (ENG, WEB) - they prefix every issue ID.
  • Avoid sub-teams early; split only when a single team's backlog is genuinely unmanageable, which rarely happens under ~10 people.

Step 2: Workflow states

Keep states minimal and meaningful. Five working states plus one terminal branch:

Backlog -> Todo -> In Progress -> In Review -> Done
                                        |
                                    Canceled
  • Backlog: real but not committed.
  • Todo: committed to the current cycle.
  • In Progress: actively worked. Limit WIP to one or two per person - a third concurrent issue is a queue wearing a disguise.
  • In Review: PR open, awaiting review.
  • Done / Canceled: terminal. Canceled is a decision, not a failure; use it freely.

Every state beyond these needs a written answer to "what decision happens here?" - a state without a decision is a place issues go to die.

Step 3: Cycles

  • Enable cycles with a fixed cadence - 1 or 2 weeks. Pick one and keep it; switching cadence resets every velocity trend.
  • Let unfinished issues auto-roll to the next cycle so nothing is silently lost.
  • Use cycle velocity (completed issues/points) to forecast, never to punish. The moment velocity becomes a target, it gets gamed and stops meaning anything.
  • Review the cycle graph at each cycle's end for two smells: scope creep (line rising mid-cycle) and chronic carryover (same issues rolling 3+ cycles - cancel or split them).

Step 4: Labels

Small, structured taxonomy in label groups:

  • Type: bug, feature, chore, tech-debt - exactly one per issue.
  • Area: area/auth, area/billing, … - the 3-5 surfaces from your inputs.
  • Priority is a built-in field (Urgent/High/Medium/Low) - use it; never duplicate it as labels.

Rule of thumb: if a label is not used in at least one filter or saved view, delete it. Ten labels that drive views beat forty that decorate.

Step 5: Triage

Turn on Triage for all inbound (bugs, requests, integrations):

  1. New issues land in Triage, unassigned.
  2. A rotating triage owner (rotate weekly with on-call if you have one) reviews daily. For each issue: validate it is real and non-duplicate, apply Type + Area labels, set priority, then assign / move to Backlog or Todo / close as won't-fix.
  3. Nothing sits in Triage longer than one business day. Triage is a decision point, not a holding pen.

Step 6: SLAs

Encode response targets by priority:

  • Urgent: acknowledged < 1 hour, In Progress the same day.
  • High: triaged < 1 business day, scheduled into a cycle within the week.
  • Medium/Low: triaged < 3 business days, scheduled when capacity allows.

Build saved views that surface breaches so nobody has to remember to check - e.g. "Urgent + not started".

Step 7: Saved views

Create at minimum:

  • My active issues - assignee = me, state In Progress / In Review.
  • Needs triage - state = Triage (the triage owner's homepage).
  • Cycle at risk - current cycle + priority High/Urgent + not Done.
  • SLA breach - Urgent older than 1h unacknowledged, High untriaged past 1 day.

Worked artifact: team setup spec

Copy, fill, and execute in Linear settings top to bottom:

LINEAR TEAM SETUP - [FILL: team name] ([FILL: 3-letter identifier])

States: Backlog / Todo / In Progress / In Review / Done / Canceled
WIP limit (social contract): [FILL: 1 or 2] per person in In Progress

Cycles: [FILL: 1 or 2] weeks, auto-roll unfinished ON, start day [FILL]

Label groups:
  type/     bug, feature, chore, tech-debt
  area/     [FILL: 3-5 areas, e.g. auth, billing, api]

Triage: ON. Owner rotation: [FILL: names, weekly]. Max dwell: 1 business day.

SLAs: Urgent ack <1h, in progress same day
      High triaged <1d, in cycle within week
      Med/Low triaged <3d
Views: My active issues / Needs triage / Cycle at risk / SLA breach

Deliverable

Produce a filled team setup spec (above) plus the list of saved views with their exact filters - everything an admin needs to configure the team in one sitting, and the two social contracts (WIP limit, triage dwell time) written where the team will see them.

Do NOT

  • Do not add workflow states to model every nuance - each extra state is a place issues stall, because no one owns moving things out of it.
  • Do not skip triage because volume is low today - the backlog fills with unvalidated noise precisely because no one notices it happening.
  • Do not treat velocity as a target - it becomes gamed and meaningless within two cycles.
  • Do not duplicate priority as labels - two sources of truth for urgency guarantees they disagree.
  • Do not create teams per function - cross-team dependencies on every feature is the predictable result.

Quality bar

  • Five working states, and every additional state has a written decision it represents.
  • Every label appears in at least one filter or saved view.
  • Triage has a named rotation and nothing older than one business day sitting in it.
  • The four core saved views exist and open to non-empty, correct results.
  • SLA breaches are visible in a view, not dependent on memory.

Related skills

The issues flowing through this workflow still need to be well written - user story, testable acceptance criteria, sane sizing. That anatomy lives in jira-ticket-writer and applies verbatim to Linear issues. Sprint scoping and capacity questions go to sprint-planning; if inbound is dominated by incidents rather than requests, pair triage with sev-triage.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.