Automate Linear tasks via Rube MCP (Composio): issues, projects, cycles, teams, labels. Always search tools first for current schemas.
Add this skill
npx mdskills install sickn33/linear-automationComprehensive Linear automation guide with clear workflows, ID resolution, and pitfall warnings
1---2name: linear-automation3description: "Automate Linear tasks via Rube MCP (Composio): issues, projects, cycles, teams, labels. Always search tools first for current schemas."4requires:5 mcp: [rube]6---78# Linear Automation via Rube MCP910Automate Linear operations through Composio's Linear toolkit via Rube MCP.1112## Prerequisites1314- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)15- Active Linear connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `linear`16- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1718## Setup1920**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.2122231. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds242. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `linear`253. If connection is not ACTIVE, follow the returned auth link to complete Linear OAuth264. Confirm connection status shows ACTIVE before running any workflows2728## Core Workflows2930### 1. Manage Issues3132**When to use**: User wants to create, search, update, or list Linear issues3334**Tool sequence**:351. `LINEAR_GET_ALL_LINEAR_TEAMS` - Get team IDs [Prerequisite]362. `LINEAR_LIST_LINEAR_STATES` - Get workflow states for a team [Prerequisite]373. `LINEAR_CREATE_LINEAR_ISSUE` - Create a new issue [Optional]384. `LINEAR_SEARCH_ISSUES` / `LINEAR_LIST_LINEAR_ISSUES` - Find issues [Optional]395. `LINEAR_GET_LINEAR_ISSUE` - Get issue details [Optional]406. `LINEAR_UPDATE_ISSUE` - Update issue properties [Optional]4142**Key parameters**:43- `team_id`: Team ID (required for creation)44- `title`: Issue title45- `description`: Issue description (Markdown supported)46- `state_id`: Workflow state ID47- `assignee_id`: Assignee user ID48- `priority`: 0 (none), 1 (urgent), 2 (high), 3 (medium), 4 (low)49- `label_ids`: Array of label IDs5051**Pitfalls**:52- Team ID is required when creating issues; use GET_ALL_LINEAR_TEAMS first53- State IDs are team-specific; use LIST_LINEAR_STATES with the correct team54- Priority uses integer values 0-4, not string names5556### 2. Manage Projects5758**When to use**: User wants to create or update Linear projects5960**Tool sequence**:611. `LINEAR_LIST_LINEAR_PROJECTS` - List existing projects [Optional]622. `LINEAR_CREATE_LINEAR_PROJECT` - Create a new project [Optional]633. `LINEAR_UPDATE_LINEAR_PROJECT` - Update project details [Optional]6465**Key parameters**:66- `name`: Project name67- `description`: Project description68- `team_ids`: Array of team IDs associated with the project69- `state`: Project state (e.g., 'planned', 'started', 'completed')7071**Pitfalls**:72- Projects span teams; they can be associated with multiple teams7374### 3. Manage Cycles7576**When to use**: User wants to work with Linear cycles (sprints)7778**Tool sequence**:791. `LINEAR_GET_ALL_LINEAR_TEAMS` - Get team ID [Prerequisite]802. `LINEAR_GET_CYCLES_BY_TEAM_ID` / `LINEAR_LIST_LINEAR_CYCLES` - List cycles [Required]8182**Key parameters**:83- `team_id`: Team ID for cycle operations84- `number`: Cycle number8586**Pitfalls**:87- Cycles are team-specific; always scope by team_id8889### 4. Manage Labels and Comments9091**When to use**: User wants to create labels or comment on issues9293**Tool sequence**:941. `LINEAR_CREATE_LINEAR_LABEL` - Create a new label [Optional]952. `LINEAR_CREATE_LINEAR_COMMENT` - Comment on an issue [Optional]963. `LINEAR_UPDATE_LINEAR_COMMENT` - Edit a comment [Optional]9798**Key parameters**:99- `name`: Label name100- `color`: Label color (hex)101- `issue_id`: Issue ID for comments102- `body`: Comment body (Markdown)103104**Pitfalls**:105- Labels can be team-scoped or workspace-scoped106- Comment body supports Markdown formatting107108### 5. Custom GraphQL Queries109110**When to use**: User needs advanced queries not covered by standard tools111112**Tool sequence**:1131. `LINEAR_RUN_QUERY_OR_MUTATION` - Execute custom GraphQL [Required]114115**Key parameters**:116- `query`: GraphQL query or mutation string117- `variables`: Variables for the query118119**Pitfalls**:120- Requires knowledge of Linear's GraphQL schema121- Rate limits apply to GraphQL queries122123## Common Patterns124125### ID Resolution126127**Team name -> Team ID**:128```1291. Call LINEAR_GET_ALL_LINEAR_TEAMS1302. Find team by name in response1313. Extract id field132```133134**State name -> State ID**:135```1361. Call LINEAR_LIST_LINEAR_STATES with team_id1372. Find state by name1383. Extract id field139```140141### Pagination142143- Linear tools return paginated results144- Check for pagination cursors in responses145- Pass cursor to next request for additional pages146147## Known Pitfalls148149**Team Scoping**:150- Issues, states, and cycles are team-specific151- Always resolve team_id before creating issues152153**Priority Values**:154- 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low155- Use integer values, not string names156157## Quick Reference158159| Task | Tool Slug | Key Params |160|------|-----------|------------|161| List teams | LINEAR_GET_ALL_LINEAR_TEAMS | (none) |162| Create issue | LINEAR_CREATE_LINEAR_ISSUE | team_id, title, description |163| Search issues | LINEAR_SEARCH_ISSUES | query |164| List issues | LINEAR_LIST_LINEAR_ISSUES | team_id, filters |165| Get issue | LINEAR_GET_LINEAR_ISSUE | issue_id |166| Update issue | LINEAR_UPDATE_ISSUE | issue_id, fields |167| List states | LINEAR_LIST_LINEAR_STATES | team_id |168| List projects | LINEAR_LIST_LINEAR_PROJECTS | (none) |169| Create project | LINEAR_CREATE_LINEAR_PROJECT | name, team_ids |170| Update project | LINEAR_UPDATE_LINEAR_PROJECT | project_id, fields |171| List cycles | LINEAR_LIST_LINEAR_CYCLES | team_id |172| Get cycles | LINEAR_GET_CYCLES_BY_TEAM_ID | team_id |173| Create label | LINEAR_CREATE_LINEAR_LABEL | name, color |174| Create comment | LINEAR_CREATE_LINEAR_COMMENT | issue_id, body |175| Update comment | LINEAR_UPDATE_LINEAR_COMMENT | comment_id, body |176| List users | LINEAR_LIST_LINEAR_USERS | (none) |177| Current user | LINEAR_GET_CURRENT_USER | (none) |178| Run GraphQL | LINEAR_RUN_QUERY_OR_MUTATION | query, variables |179
Full transparency — inspect the skill content before installing.