Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Linear tasks via Rube MCP (Composio): issues, projects, cycles, teams, labels. Always search tools first for current schemas.
.claude/skills/linear-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-21 | ✗→✓ | ▲ Improved | — | — |
| case-22 | ✗→✓ | ▲ Improved | — | — |
| case-20 | ✗→✓ | ▲ Improved | — | — |
| case-17 | ✗→✗ | = Same ✗ | — | — |
| case-12 | ✗→✗ | = Same ✗ | — | — |
Automate Linear operations through Composio's Linear toolkit via Rube MCP.
RUBE_MANAGE_CONNECTIONS with toolkit linearRUBE_SEARCH_TOOLS first to get current tool schemasGet 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.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit linearWhen to use: User wants to create, search, update, or list Linear issues
Tool sequence:
LINEAR_GET_ALL_LINEAR_TEAMS - Get team IDs Prerequisite]LINEAR_LIST_LINEAR_STATES - Get workflow states for a team Prerequisite]LINEAR_CREATE_LINEAR_ISSUE - Create a new issue Optional]LINEAR_SEARCH_ISSUES / LINEAR_LIST_LINEAR_ISSUES - Find issues Optional]LINEAR_GET_LINEAR_ISSUE - Get issue details Optional]LINEAR_UPDATE_ISSUE - Update issue properties Optional]Key parameters:
team_id: Team ID (required for creation)title: Issue titledescription: Issue description (Markdown supported)state_id: Workflow state IDassignee_id: Assignee user IDpriority: 0 (none), 1 (urgent), 2 (high), 3 (medium), 4 (low)label_ids: Array of label IDsPitfalls:
When to use: User wants to create or update Linear projects
Tool sequence:
LINEAR_LIST_LINEAR_PROJECTS - List existing projects Optional]LINEAR_CREATE_LINEAR_PROJECT - Create a new project Optional]LINEAR_UPDATE_LINEAR_PROJECT - Update project details Optional]Key parameters:
name: Project namedescription: Project descriptionteam_ids: Array of team IDs associated with the projectstate: Project state (e.g., 'planned', 'started', 'completed')Pitfalls:
When to use: User wants to work with Linear cycles (sprints)
Tool sequence:
LINEAR_GET_ALL_LINEAR_TEAMS - Get team ID Prerequisite]LINEAR_GET_CYCLES_BY_TEAM_ID / LINEAR_LIST_LINEAR_CYCLES - List cycles Required]Key parameters:
team_id: Team ID for cycle operationsnumber: Cycle numberPitfalls:
When to use: User wants to create labels or comment on issues
Tool sequence:
LINEAR_CREATE_LINEAR_LABEL - Create a new label Optional]LINEAR_CREATE_LINEAR_COMMENT - Comment on an issue Optional]LINEAR_UPDATE_LINEAR_COMMENT - Edit a comment Optional]Key parameters:
name: Label namecolor: Label color (hex)issue_id: Issue ID for commentsbody: Comment body (Markdown)Pitfalls:
When to use: User needs advanced queries not covered by standard tools
Tool sequence:
LINEAR_RUN_QUERY_OR_MUTATION - Execute custom GraphQL Required]Key parameters:
query: GraphQL query or mutation stringvariables: Variables for the queryPitfalls:
Team name -> Team ID:
1. Call LINEAR_GET_ALL_LINEAR_TEAMS
2. Find team by name in response
3. Extract id fieldState name -> State ID:
1. Call LINEAR_LIST_LINEAR_STATES with team_id
2. Find state by name
3. Extract id fieldTeam Scoping:
Priority Values:
| Task | Tool Slug | Key Params | |------|-----------|------------| | List teams | LINEAR_GET_ALL_LINEAR_TEAMS | (none) | | Create issue | LINEAR_CREATE_LINEAR_ISSUE | team_id, title, description | | Search issues | LINEAR_SEARCH_ISSUES | query | | List issues | LINEAR_LIST_LINEAR_ISSUES | team_id, filters | | Get issue | LINEAR_GET_LINEAR_ISSUE | issue_id | | Update issue | LINEAR_UPDATE_ISSUE | issue_id, fields | | List states | LINEAR_LIST_LINEAR_STATES | team_id | | List projects | LINEAR_LIST_LINEAR_PROJECTS | (none) | | Create project | LINEAR_CREATE_LINEAR_PROJECT | name, team_ids | | Update project | LINEAR_UPDATE_LINEAR_PROJECT | project_id, fields | | List cycles | LINEAR_LIST_LINEAR_CYCLES | team_id | | Get cycles | LINEAR_GET_CYCLES_BY_TEAM_ID | team_id | | Create label | LINEAR_CREATE_LINEAR_LABEL | name, color | | Create comment | LINEAR_CREATE_LINEAR_COMMENT | issue_id, body | | Update comment | LINEAR_UPDATE_LINEAR_COMMENT | comment_id, body | | List users | LINEAR_LIST_LINEAR_USERS | (none) | | Current user | LINEAR_GET_CURRENT_USER | (none) | | Run GraphQL | LINEAR_RUN_QUERY_OR_MUTATION | query, variables |
This skill is applicable to execute the workflow or actions described in the overview.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-24 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-25 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-23 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted, and 5 counted toward the lift figure. The other 20 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +12 percentage points is the difference between those two pass rates over the 5 comparable cases. 5 cases got worse with the skill loaded, and they are included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.