MR
Mayur Rathi
@mayurrathi
⭐ 5 GitHub stars

Linear Automation

Automate Linear tasks via Rube MCP (Composio): issues, projects, cycles, teams, labels. Always search tools first for current schemas.

mkdir -p ./skills/linear-automation && curl -sfL https://raw.githubusercontent.com/mayurrathi/awesome-agent-skills/main/skills/linear-automation/SKILL.md -o ./skills/linear-automation/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Linear Automation via Rube MCP


Automate Linear operations through Composio's Linear toolkit via Rube MCP.


Prerequisites


- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)

- Active Linear connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `linear`

- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas


Setup


**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.



1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds

2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `linear`

3. If connection is not ACTIVE, follow the returned auth link to complete Linear OAuth

4. Confirm connection status shows ACTIVE before running any workflows


Core Workflows


1. Manage Issues


**When to use**: User wants to create, search, update, or list Linear issues


**Tool sequence**:

1. `LINEAR_GET_ALL_LINEAR_TEAMS` - Get team IDs [Prerequisite]

2. `LINEAR_LIST_LINEAR_STATES` - Get workflow states for a team [Prerequisite]

3. `LINEAR_CREATE_LINEAR_ISSUE` - Create a new issue [Optional]

4. `LINEAR_SEARCH_ISSUES` / `LINEAR_LIST_LINEAR_ISSUES` - Find issues [Optional]

5. `LINEAR_GET_LINEAR_ISSUE` - Get issue details [Optional]

6. `LINEAR_UPDATE_ISSUE` - Update issue properties [Optional]


**Key parameters**:

- `team_id`: Team ID (required for creation)

- `title`: Issue title

- `description`: Issue description (Markdown supported)

- `state_id`: Workflow state ID

- `assignee_id`: Assignee user ID

- `priority`: 0 (none), 1 (urgent), 2 (high), 3 (medium), 4 (low)

- `label_ids`: Array of label IDs


**Pitfalls**:

- Team ID is required when creating issues; use GET_ALL_LINEAR_TEAMS first

- State IDs are team-specific; use LIST_LINEAR_STATES with the correct team

- Priority uses integer values 0-4, not string names


2. Manage Projects


**When to use**: User wants to create or update Linear projects


**Tool sequence**:

1. `LINEAR_LIST_LINEAR_PROJECTS` - List existing projects [Optional]

2. `LINEAR_CREATE_LINEAR_PROJECT` - Create a new project [Optional]

3. `LINEAR_UPDATE_LINEAR_PROJECT` - Update project details [Optional]


**Key parameters**:

- `name`: Project name

- `description`: Project description

- `team_ids`: Array of team IDs associated with the project

- `state`: Project state (e.g., 'planned', 'started', 'completed')


**Pitfalls**:

- Projects span teams; they can be associated with multiple teams


3. Manage Cycles


**When to use**: User wants to work with Linear cycles (sprints)


**Tool sequence**:

1. `LINEAR_GET_ALL_LINEAR_TEAMS` - Get team ID [Prerequisite]

2. `LINEAR_GET_CYCLES_BY_TEAM_ID` / `LINEAR_LIST_LINEAR_CYCLES` - List cycles [Required]


**Key parameters**:

- `team_id`: Team ID for cycle operations

- `number`: Cycle number


**Pitfalls**:

- Cycles are team-specific; always scope by team_id


4. Manage Labels and Comments


**When to use**: User wants to create labels or comment on issues


**Tool sequence**:

1. `LINEAR_CREATE_LINEAR_LABEL` - Create a new label [Optional]

2. `LINEAR_CREATE_LINEAR_COMMENT` - Comment on an issue [Optional]

3. `LINEAR_UPDATE_LINEAR_COMMENT` - Edit a comment [Optional]


**Key parameters**:

- `name`: Label name

- `color`: Label color (hex)

- `issue_id`: Issue ID for comments

- `body`: Comment body (Markdown)


**Pitfalls**:

- Labels can be team-scoped or workspace-scoped

- Comment body supports Markdown formatting


5. Custom GraphQL Queries


**When to use**: User needs advanced queries not covered by standard tools


**Tool sequence**:

1. `LINEAR_RUN_QUERY_OR_MUTATION` - Execute custom GraphQL [Required]


**Key parameters**:

- `query`: GraphQL query or mutation string

- `variables`: Variables for the query


**Pitfalls**:

- Requires knowledge of Linear's GraphQL schema

- Rate limits apply to GraphQL queries


Common Patterns


ID Resolution


**Team name -> Team ID**:

```

1. Call LINEAR_GET_ALL_LINEAR_TEAMS

2. Find team by name in response

3. Extract id

🎯 Best For

  • Claude users
  • Knowledge workers
  • Remote teams
  • Professionals

💡 Use Cases

  • Using Linear Automation in daily workflow
  • Automating repetitive productivity tasks

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Linear Automation to Your Work

    Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.

  4. 4

    Review and Refine

    Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.

❓ Frequently Asked Questions

How do I install Linear Automation?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/linear-automation/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Not reading the full skill

Skills contain important context and edge cases beyond the quick start.

🔗 Related Skills