mcpField
L
linear-automation

linear-automation

github.com/davepoon生産性3.7k118 回インストール2 日前に更新
リポジトリ

linear-automation について

Rube MCP と Composio の Linear ツールキットで Linear の操作を自動化するスキルです。プロジェクトや課題を管理するチーム向けで、サイクル、ラベル、コメント、カスタム GraphQL クエリにも対応します。

主な機能

  1. 01課題の作成・検索・更新
  2. 02プロジェクトとサイクルの管理
  3. 03ラベルの作成とコメント追加
  4. 04カスタム GraphQL クエリの実行

活用シーン

  1. 01チーム課題の作成と担当者設定
  2. 02プロジェクトの状態とサイクルの更新
  3. 03標準ツールにないデータのクエリ

MCP 対応

Rube MCP 経由で Composio の Linear ツールキットを呼び出します。Rube MCP の接続と Linear の OAuth 認証が必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davepoon/buildwithclaude --skill linear-automation

インストール後、Claude Code で/linear-automationを入力して読み込まれたか確認します。

詳細

Rube MCP による Linear の自動化

Rube MCP 経由で Composio の Linear ツールキットを使用し、Linear の操作を自動化します。

ツールキットのドキュメント:composio.dev/toolkits/linear

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS を利用可能)
  • RUBE_MANAGE_CONNECTIONS でツールキット linear を指定して、Linear へのアクティブな接続を確立していること
  • 現在のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出すこと

セットアップ

Rube MCP の取得:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確認します
  2. ツールキット linear を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って Linear OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. イシューの管理

使用する場面:ユーザーが Linear のイシューの作成、検索、更新、一覧表示を希望する場合

ツールの呼び出し順序:

  1. LINEAR_GET_ALL_LINEAR_TEAMS - チーム ID を取得 [前提条件]
  2. LINEAR_LIST_LINEAR_STATES - チームのワークフロー状態を取得 [前提条件]
  3. LINEAR_CREATE_LINEAR_ISSUE - 新しいイシューを作成 [任意]
  4. LINEAR_SEARCH_ISSUES / LINEAR_LIST_LINEAR_ISSUES - イシューを検索 [任意]
  5. LINEAR_GET_LINEAR_ISSUE - イシューの詳細を取得 [任意]
  6. LINEAR_UPDATE_ISSUE - イシューのプロパティを更新 [任意]

主なパラメーター:

  • team_id:チーム ID(作成時に必須)
  • title:イシューのタイトル
  • description:イシューの説明(Markdown に対応)
  • state_id:ワークフロー状態 ID
  • assignee_id:担当者のユーザー ID
  • priority:0(なし)、1(緊急)、2(高)、3(中)、4(低)
  • label_ids:ラベル ID の配列

注意点:

  • イシューの作成時にはチーム ID が必須です。最初に GET_ALL_LINEAR_TEAMS を使用してください
  • 状態 ID はチームごとに異なります。正しいチームを指定して LIST_LINEAR_STATES を使用してください
  • 優先度には文字列名ではなく、0~4 の整数値を使用します
2. プロジェクトの管理

使用する場面:ユーザーが Linear プロジェクトの作成または更新を希望する場合

ツールの呼び出し順序:

  1. LINEAR_LIST_LINEAR_PROJECTS - 既存のプロジェクトを一覧表示 [任意]
  2. LINEAR_CREATE_LINEAR_PROJECT - 新しいプロジェクトを作成 [任意]
  3. LINEAR_UPDATE_LINEAR_PROJECT - プロジェクトの詳細を更新 [任意]

主なパラメーター:

  • name:プロジェクト名
  • description:プロジェクトの説明
  • team_ids:プロジェクトに関連付けられたチーム ID の配列
  • state:プロジェクトの状態(例:'planned'、'started'、'completed')

注意点:

  • プロジェクトは複数のチームにまたがるため、複数のチームに関連付けることができます
3. サイクルの管理

使用する場面:ユーザーが Linear のサイクル(スプリント)を操作したい場合

ツールの呼び出し順序:

  1. LINEAR_GET_ALL_LINEAR_TEAMS - チーム ID を取得 [前提条件]
  2. LINEAR_GET_CYCLES_BY_TEAM_ID / LINEAR_LIST_LINEAR_CYCLES - サイクルを一覧表示 [必須]

主なパラメーター:

  • team_id:サイクル操作の対象となるチーム ID
  • number:サイクル番号

注意点:

  • サイクルはチームごとに異なります。必ず team_id で対象を絞り込んでください
4. ラベルとコメントの管理

使用する場面:ユーザーがラベルの作成やイシューへのコメントを希望する場合

ツールの呼び出し順序:

  1. LINEAR_CREATE_LINEAR_LABEL - 新しいラベルを作成 [任意]
  2. LINEAR_CREATE_LINEAR_COMMENT - イシューにコメント [任意]
  3. LINEAR_UPDATE_LINEAR_COMMENT - コメントを編集 [任意]

主なパラメーター:

  • name:ラベル名
  • color:ラベルの色(16 進数)
  • issue_id:コメント対象のイシュー ID
  • body:コメント本文(Markdown)

注意点:

  • ラベルはチーム単位またはワークスペース単位で設定できます
  • コメント本文は Markdown 形式に対応しています
5. カスタム GraphQL クエリ

使用する場面:標準ツールでは対応できない高度なクエリが必要な場合

ツールの呼び出し順序:

  1. LINEAR_RUN_QUERY_OR_MUTATION - カスタム GraphQL を実行 [必須]

主なパラメーター:

  • query:GraphQL のクエリまたはミューテーション文字列
  • variables:クエリの変数

注意点:

  • Linear の GraphQL スキーマに関する知識が必要です
  • GraphQL クエリにはレート制限が適用されます

よくあるパターン

ID の解決

チーム名 -> チーム ID:

1. Call LINEAR_GET_ALL_LINEAR_TEAMS
2. Find team by name in response
3. Extract id field

状態名 -> 状態 ID:

1. Call LINEAR_LIST_LINEAR_STATES with team_id
2. Find state by name
3. Extract id field
ページネーション
  • Linear ツールはページネーションされた結果を返します
  • レスポンスにページネーションカーソルがあるか確認します
  • 追加のページを取得するには、次のリクエストにカーソルを渡します

既知の注意点

チームのスコープ:

  • イシュー、状態、サイクルはチームごとに異なります
  • イシューを作成する前に、必ず team_id を解決してください

優先度の値:

  • 0 = 優先度なし、1 = 緊急、2 = 高、3 = 中、4 = 低
  • 文字列名ではなく、整数値を使用してください

クイックリファレンス

タスクツールのスラッグ主なパラメーター
チームを一覧表示LINEAR_GET_ALL_LINEAR_TEAMS(none)
イシューを作成LINEAR_CREATE_LINEAR_ISSUEteam_id, title, description
イシューを検索LINEAR_SEARCH_ISSUESquery
イシューを一覧表示LINEAR_LIST_LINEAR_ISSUESteam_id, filters
イシューを取得LINEAR_GET_LINEAR_ISSUEissue_id
イシューを更新LINEAR_UPDATE_ISSUEissue_id, fields
状態を一覧表示LINEAR_LIST_LINEAR_STATESteam_id
プロジェクトを一覧表示LINEAR_LIST_LINEAR_PROJECTS(none)
プロジェクトを作成LINEAR_CREATE_LINEAR_PROJECTname, team_ids
プロジェクトを更新LINEAR_UPDATE_LINEAR_PROJECTproject_id, fields
サイクルを一覧表示LINEAR_LIST_LINEAR_CYCLESteam_id
サイクルを取得LINEAR_GET_CYCLES_BY_TEAM_IDteam_id
ラベルを作成LINEAR_CREATE_LINEAR_LABELname, color
コメントを作成LINEAR_CREATE_LINEAR_COMMENTissue_id, body
コメントを更新LINEAR_UPDATE_LINEAR_COMMENTcomment_id, body
ユーザーを一覧表示LINEAR_LIST_LINEAR_USERS(none)
現在のユーザーLINEAR_GET_CURRENT_USER(none)
GraphQL を実行LINEAR_RUN_QUERY_OR_MUTATIONquery, variables

Composio によって提供されています

コメント