n8n:linear-issue について
開発前に Linear の課題を調査し、議論、添付資料、関連作業、ノード情報を集めて工数を見積もるスキルです。n8n の開発者向けで、Linear MCP と GitHub CLI が必要です。
主な機能
- 01課題の詳細、関連項目、コメントの取得
- 02非公開課題に対するリモート設定の確認
- 03画像の確認と Loom の文字起こし取得
- 04関連課題、PR、Notion 文書の情報収集
- 05対象ノードと工数の評価
活用シーン
- 01n8n の Linear 課題に着手する前の情報収集
- 02セキュリティラベルとリポジトリ要件の確認
- 03課題の添付資料や関連作業の把握
MCP 対応
課題の詳細とコメント取得には Linear MCP への接続が必要です。課題に関連文書がある場合は、Notion MCP も任意で使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ n8n-io/ n8n --skill n8n:linear-issueインストール後、Claude Code で/n8n:linear-issueを入力して読み込まれたか確認します。
詳細
Linear 課題の分析
Linear の課題 $ARGUMENTS の作業を開始します
前提条件
このスキルは外部ツールに依存します。続行する前に、利用可能かどうかを確認してください。
必須:
- Linear MCP:接続されている必要があります。接続されていない場合、このスキルはまったく機能しません。
- GitHub CLI(
gh):インストールされ、認証済みである必要があります。gh auth statusを実行して確認してください。関連する PR と課題の取得に使用します。
任意(利用できない場合は機能を制限して続行):
- Notion MCP:課題に Notion ドキュメントへのリンクがある場合にのみ必要です。利用できない場合は、概要に Notion のリンクを記載し、ユーザーに手動で確認するよう伝えてください。
- Loom の文字起こしスキル:課題に Loom 動画が含まれる場合にのみ必要です。利用できない場合は、ユーザーが視聴できるよう概要に Loom のリンクを記載してください。
- curl:画像のダウンロードに使用します。ほとんどの場合利用できます。見つからない場合は、画像のダウンロードをスキップし、その旨を記載してください。
必須ツールが不足している場合は作業を中止し、続行する前に何をセットアップする必要があるかをユーザーに伝えてください。
手順
以下の手順に従って、課題に関する包括的な情報を収集してください。
1. Linear から課題とコメントを取得する
アクティブなハーネスで利用可能な Linear MCP ツールを使い、課題の詳細とコメントをまとめて取得してください。
- ID で課題を取得し、添付ファイルを含む詳細情報を取得する
- ブロックしている課題、関連する課題、重複する課題を確認できるよう、関連情報も取得する
- 直後に、その課題 ID のすべてのコメントを取得する
完全なコンテキストを最初に集めるため、この 2 つの呼び出しは同じ手順内で行ってください。
2. 非公開/セキュリティ課題を確認する(必須 — ほかの作業より先に実行)
課題を取得したら、直ちにラベルを確認してください。
-
課題に返されたラベルを確認します。
-
n8n-privateというラベルがある場合: a. Bash 経由でgit remote -vを実行し、設定済みのすべてのリモートを一覧表示します。 b. いずれかのリモート URL に、-privateが末尾に付かないn8n-io/n8n(つまりパブリックリポジトリに該当するもの)が含まれている場合は、ただちに中止し、次の内容をユーザーに伝えてください。この課題には
n8n-privateのラベルが付いています。プライベートリポジトリのクリーンなクローンで開発する必要があります。リモートの 1 つ以上が、パブリックな
n8n-io/n8nリポジトリを参照しています。パブリックリポジトリとプライベートリポジトリを混在させることはできません。パブリックリポジトリへの参照がないn8n-io/n8n-privateの別のローカルクローンで作業してください。 手順の詳細は、こちらを参照してください:https://www.notion.so/n8n/Processing-critical-high-security-bugs-vulnerabilities-in-private-2f45b6e0c94f803da806f472111fb1a5それ以降の手順は続けないでください。このメッセージを表示したら終了してください。
-
このラベルがない場合、またはすべてのリモートが
n8n-io/n8n-privateのみを参照している場合は、通常どおり続行してください。
3. 添付ファイルとメディアを分析する(必須)
重要: この手順は省略できません。課題の説明とすべてのコメントの両方から、すべての視覚コンテンツを必ず確認して取得してください。
スクリーンショット/画像(必ず取得):
- 課題の説明とすべてのコメントから、すべての画像 URL を確認します。
<img>タグ- Markdown 画像
 - URL のみのリンク(github.com/user-attachments、imgur.com など)
- 見つかった各画像について(説明またはコメント内のもの):
curl -sL "url" -o /path/to/image.pngを使ってダウンロードします(GitHub の URL はリダイレクトをたどる必要があります)。または Linear MCP を使用します。- ダウンロードしたファイルを
Readツールで開いて確認します。 - 画像の内容を詳しく説明します。
- 画像を省略しないでください。エラーメッセージ、UI の状態、設定など、重要な情報が含まれていることがよくあります。
Loom 動画(文字起こしを必ず取得):
- 課題の説明とすべてのコメントから、Loom の URL(loom.com/share/...)を確認します。
- 見つかった各 Loom 動画について(説明またはコメント内のもの):
- Loom の文字起こしスキルを使って、全文の文字起こしを取得します。
- 重要なポイント、タイムスタンプ、実演された問題を要約します。
- Loom 動画には、テキストだけでは伝えきれない重要な再現手順や背景情報が含まれていることがよくあります。
4. 関連するコンテキストを取得する
関連する Linear の課題:
- 関連(ブロック中、ブロックされている、関連、重複)で言及されている課題については、Linear MCP の課題取得ツールを使用します。
- それらの課題とメインの課題との関連を要約します。
GitHub の PR と課題:
- GitHub のリンクが記載されている場合は、
ghCLI を使用して PR/課題の詳細を取得します。- プルリクエストの場合は
gh pr view <number> - 課題の場合は
gh issue view <number>
- プルリクエストの場合は
- 課題に添付された画像をダウンロードします:
curl -H "Authorization: token $(gh auth token)" -L <image-url> -o image.png
Notion ドキュメント:
- Notion のリンクがある場合は、Notion MCP 取得ツールで Notion の URL またはページ ID を指定し、ドキュメントの内容を取得します。
- 関連するドキュメントを要約します。
5. コメントを確認する
コメントはステップ 1 ですでに取得しています。以下を確認します:
- 追加のコンテキストや議論の履歴
- コメント内でリンクされている添付ファイルやメディア(ステップ 3 で処理)
- 元の課題の説明に対する補足や更新
6. 影響を受けるノードを特定する(該当する場合)
この課題が特定の n8n ノード(トリガー、アクション、ツールノードなど)に固有のものかどうかを判断します。以下の手がかりを確認します:
- 課題のタイトル(例:「Linear trigger」「Slack node」「HTTP Request」)
- ノード名に言及している課題の説明やコメント
- 課題のラベルやタグ(例:
node:linear、node:slack) - 特定のノードの設定やエラーを示すスクリーンショット
課題が特定のノードに固有のものである場合:
-
ノードのタイプ ID を確認します。
Grepを使用して、ノードの表示名(または関連キーワード)をpackages/frontend/editor-ui/data/node-popularity.jsonで検索し、正確なノードタイプ ID を確認します。一般的な ID のパターンは以下のとおりです:- コアノード:
n8n-nodes-base.<camelCaseName>(例:「HTTP Request」→n8n-nodes-base.httpRequest) - トリガーのバリアント:
n8n-nodes-base.<name>Trigger(例:「Gmail Trigger」→n8n-nodes-base.gmailTrigger) - ツールのバリアント:
n8n-nodes-base.<name>Tool(例:「Google Sheets Tool」→n8n-nodes-base.googleSheetsTool) - LangChain/AI ノード:
@n8n/n8n-nodes-langchain.<camelCaseName>(例:「OpenAI Chat Model」→@n8n/n8n-nodes-langchain.lmChatOpenAi)
- コアノード:
-
ノードの人気度スコアを確認します。まず Flaky の評価を確認し(以下を参照)、それがなければ人気度ファイルを使用します。
優先:Linear のコメントで Flaky の評価を確認します。 Flaky は課題の分析をコメントとして投稿する自動トリアージエージェントです。ステップ 1 ですでに取得したコメントから、「Flaky」という名前のユーザー(または投稿者名に「Flaky」を含むユーザー)によるコメントを検索します。コメントを再取得しないでください。見つかった場合は、Flaky の分析から人気度スコアとレベルを直接抽出し、その値を使用します。
代替手段(Flaky のコメントがない場合):
packages/frontend/editor-ui/data/node-popularity.jsonからノードの人気度スコアを確認します。Grepを使用して、そのファイル内でノード ID を検索します。人気度スコアは 0〜1 の対数スケール値です。以下の基準で分類します:スコア レベル 説明 例 ≥ 0.8 高 コア/広く使われているノード、上位約 5% HTTP Request (0.98)、Google Sheets (0.95)、Postgres (0.83)、Gmail Trigger (0.80) 0.4–0.8 中 定期的に使われる連携機能 Slack (0.78)、GitHub (0.64)、Jira (0.65)、MongoDB (0.63) < 0.4 低 ニッチ、または使用頻度の低いノード Amqp (0.34)、Wise (0.36)、CraftMyPdf (0.33) 概要には生のスコアとレベル(高/中/低)を含め、Flaky と人気度ファイルのどちらに基づく値かを記載します。
-
ノードが人気度ファイルに見つからない場合(かつ Flaky のコメントもない場合)は、コミュニティノード、または非常に新しい/ニッチなノードである可能性があることを記載します。
7. 工数/複雑さの評価
優先事項:Linear のコメントで Flaky の工数見積もりを確認します。 ステップ 1 ですでに取得したコメントを検索して Flaky のコメントを探してください。再取得はしないでください。見つかった場合は、そこから工数/複雑さの見積もりを直接抽出し、評価として使用してください。
フォールバック(Flaky のコメントがない場合): すべてのコンテキストを集めた後、問題の修正/実装に必要な工数を評価してください。以下の T シャツサイズを使用します。
| サイズ | おおよその工数 |
|---|---|
| XS | ≤ 1 時間 |
| S | ≤ 1 日 |
| M | 2-3 日 |
| L | 3-5 日 |
| XL | ≥ 6 日 |
評価する際は、以下を考慮してください。
- 変更範囲:変更が必要なファイル/パッケージの数はいくつですか? 単一ノードの修正ですか、それとも複数領域にまたがる変更ですか?
- 複雑さ:単純なパラメーター変更ですか、新しい API 統合、新しい認証情報タイプ、またはアーキテクチャの変更ですか?
- テスト:どの程度のテストカバレッジが必要ですか? E2E テストは必要ですか?
- リスク:既存の機能に影響を及ぼす可能性はありますか? 後方互換性は必要ですか?
- 依存関係:外部 API の変更、新しいパッケージ、またはチーム間の調整が必要ですか?
- ドキュメント:ドキュメントの更新、移行ガイド、または変更履歴の記載が必要ですか?
T シャツサイズとともに、見積もりを左右した主な要因を説明する簡潔な根拠を提示してください。Flaky による見積もりか、独自の評価かも明記してください。
8. 概要の提示
提示する前に、以下を完了したことを確認してください。
- 説明とコメントに含まれるすべての画像をダウンロードして確認した
- 説明とコメントに含まれるすべての Loom 動画の文字起こしを取得した
-
ghCLI を使用して、リンクされているすべての GitHub issue/PR を取得した - issue のすべてのコメントを一覧表示した
- issue がノード固有のものか確認し、該当する場合は人気度を調べた
- T シャツサイズで工数/複雑さを評価した
すべてのコンテキストを集めた後、以下を含む包括的な概要を提示してください。
- Issue の概要:タイトル、ステータス、優先度、担当者、ラベル
- 説明:コメントによる補足を含む、issue の説明全文
- 視覚的なコンテキスト:スクリーンショット/動画の概要(それぞれで確認した内容)
- 対象ノード(該当する場合):ノード名、ノードタイプ ID(
n8n-nodes-base.xxx)、レベル付きの人気度スコア(例:0.64 — 中程度の人気度) - 関連する issue:他の作業との関連性
- 技術的なコンテキスト:PR、コード参照、ドキュメント
- 工数見積もり:根拠を添えた T シャツサイズ(XS/S/M/L/XL)
- 次のステップ:収集したすべてのコンテキストに基づく推奨アプローチ
注意事項
- issue ID は
AI-1975、node-1975、または1975のような形式で指定できます(検索します) - issue ID が指定されていない場合は、ユーザーに確認してください