mcpField
L
linear-pm

linear-pm

github.com/oimiragieo生産性4442 回インストール17 週間前に更新
リポジトリ

linear-pm について

エージェント向けのプロンプト駆動型Linearプロジェクト管理スキルです。LINEAR_API_KEYとインターネット接続が必要で、課題、プロジェクト、サイクル、チーム、ラベル、状態を扱い、データ変更には確認を求めます。

主な機能

  1. 01課題とコメントの管理
  2. 02プロジェクトと関連課題の追跡
  3. 03サイクルの計画と進捗確認
  4. 04チームとメンバーの確認
  5. 05ラベルとワークフロー状態の管理
  6. 06変更操作時の確認

活用シーン

  1. 01バックログ課題の整理と優先順位付け
  2. 02スプリント計画での課題割り当て
  3. 03プロジェクト課題とサイクル進捗の確認

インストール

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

$npx skills add https://github.com/oimiragieo/agent-studio --skill linear-pm

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

commands/
linear-pm.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
linear-pm.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

詳細

モード:認知/プロンプト駆動型 - 単独のユーティリティスクリプトはありません。エージェントのコンテキストを通じて使用します。

Linear PM スキル

概要

このスキルでは、コンテキストの使用を最適化するために段階的開示を採用し、Linear の包括的なプロジェクト管理機能を提供します。

コンテキストの節約:約92%削減

  • 直接 API モード:API ドキュメント全体で約15,000トークン
  • スキルモード:メタデータ約300トークン+必要に応じた読み込み

要件

  • LINEAR_API_KEY 環境変数が設定されていること
  • Linear API にアクセスできるインターネット接続

ツールセット

ツールセット説明
issues課題の作成、更新、コメント、状態変更
projectsプロジェクト管理と課題の関連付け
cyclesスプリント/サイクルの管理と計画
teamsチーム構成とメンバーの管理
labelsラベルとワークフロー状態の管理

カテゴリ別ツール

課題操作(変更には確認が必要)
ツール説明確認
list-issuesフィルター(状態、担当者、ラベル)を使って課題を一覧表示しますいいえ
get-issue課題の詳細情報を取得しますいいえ
create-issueタイトル、説明、チームを指定して新しい課題を作成しますはい
update-issue課題のフィールド(状態、担当者、優先度)を更新しますはい
add-comment課題にコメントを追加しますはい
search-issuesテキストクエリで課題を検索しますいいえ
assign-issue課題をチームメンバーに割り当てますはい
set-priority課題の優先度(緊急、高、中、低)を設定しますはい
add-label課題にラベルを追加しますはい
プロジェクト操作
ツール説明確認
list-projectsチームのすべてのプロジェクトを一覧表示しますいいえ
get-projectプロジェクトの詳細とメタデータを取得しますいいえ
project-issuesプロジェクト内のすべての課題を取得しますいいえ
create-project新しいプロジェクトを作成しますはい
update-projectプロジェクトの詳細を更新しますはい
サイクル操作(スプリント)
ツール説明確認
list-cyclesチームのサイクルを一覧表示しますいいえ
current-cycle現在進行中のサイクルを取得しますいいえ
cycle-issues特定のサイクル内の課題を取得しますいいえ
cycle-progressサイクルの完了状況を示す指標を取得しますいいえ
チーム操作
ツール説明確認
list-teamsワークスペース内のすべてのチームを一覧表示しますいいえ
get-teamチームの詳細を取得しますいいえ
team-membersチームメンバーを一覧表示しますいいえ
ラベルと状態の操作
ツール説明確認
list-labelsチームのすべてのラベルを一覧表示しますいいえ
list-statesワークフローの状態(バックログ、未着手、進行中、完了)を一覧表示しますいいえ
create-label新しいラベルを作成しますはい

セキュリティ

  • LINEAR_API_KEY をログや出力に決して表示しないでください
  • API キーには必要最小限の権限を付与してください
  • データを変更するすべてのツールで確認が必要です

エラー処理

  1. API キーを確認する:LINEAR_API_KEY が正しく設定されていることを確認します
  2. API のレート制限を確認する:GraphQL は 1 時間あたり 1500 リクエスト、REST は 1 時間あたり 500 リクエストです
  3. クエリ構文を検証する:GraphQL クエリが正しい形式であることを確認します
  4. チーム/Issue ID を確認する:ID が存在し、アクセス可能であることを確認します

エージェントとの連携

  • planner:プロジェクト管理とバックログの優先順位付け
  • developer:開発中の Issue 追跡

一般的なワークフロー

スプリント計画
  1. current-cycle - 現在のスプリントを取得
  2. list-issues --state Backlog - バックログ項目を取得
  3. update-issue --cycle-id ... - Issue をスプリントに割り当てる
Issue のトリアージ
  1. list-issues --state Backlog - 未計画の Issue を取得
  2. set-priority --issue-id ... --priority 2 - 優先度を設定
  3. add-label --issue-id ... --label bug - 分類する
プロジェクトの追跡
  1. list-projects --team-id ... - すべてのプロジェクトを取得
  2. project-issues --project-id ... - プロジェクトの Issue を取得
  3. cycle-progress --cycle-id ... - スプリントの進捗を確認

関連情報

鉄則

  1. 必ず API を呼び出す前に LINEAR_API_KEY が設定されていることを確認してください。キーが未設定または期限切れの場合、Linear の API は一般的なエラーメッセージとともに 401 を返します。事前に検証すれば、明確で対処可能なエラーが得られます。
  2. タイトルで検索してから Issue を作成してください。Linear は Issue を自動的に重複排除しません。検索せずにスキルを複数回実行すると、作業項目が重複し、チームの進捗追跡が混乱します。
  3. Issue の状態を遷移させる際は、状態名ではなく必ず状態 ID を使用してください。 状態名は大文字と小文字を区別し、ロケールに依存するうえ、チームが状態名を変更すると変わります。ID は安定しています。
  4. フィルターなしでチームの全 Issue を取得しないでください。 上限のないチームクエリは数千件の Issue を返し、API のレート制限を使い果たして、利用できないコンテキストの塊を生成します。
  5. セッション中はチームとプロジェクトのメタデータを必ずキャッシュしてください。 セッション中にチーム ID やプロジェクトキーが変わることはありません。操作のたびに再取得すると、API の割り当てを無駄に消費し、ワークフローが遅くなります。

アンチパターン

アンチパターン失敗する理由正しい方法
重複チェックをせずに Issue を作成するIssue が重複すると追跡が分散し、チームのベロシティ指標が歪みます作成前にタイトルフィルター(filter.title.eq フィールドを使う issues クエリ)で検索します
遷移に状態名を使う大文字と小文字を区別します。チームが状態名を変更すると壊れ、ロケールの問題も発生しますworkflowState { id } クエリで安定した ID を取得し、ID で遷移します
フィルターなしでチームの全 Issue を取得する数千件の結果が返り、レート制限に達して、利用できない出力になりますGraphQL クエリで state、assignee、cycle、または label によるフィルターを指定します
操作ごとにチーム/プロジェクトのメタデータを再取得する同一の API 呼び出しが繰り返され、レート制限を無駄に消費し、実行が遅くなりますセッション開始時にチームとプロジェクトの ID を一度取得し、その後のすべての呼び出しで再利用します
ページネーションカーソルを無視する最初のページしか返されず、Issue が漏れてレポートが不完全になりますpageInfo { hasNextPage, endCursor } を使い、hasNextPage: false になるまでページネーションします

メモリプロトコル(必須)

開始前: .claude/context/memory/learnings.md を読みます

完了後:

  • 新しいパターン -> .claude/context/memory/learnings.md
  • 見つかった問題 -> .claude/context/memory/issues.md
  • 決定事項 -> .claude/context/memory/decisions.md

中断されたことを前提としてください:メモリに記録されていなければ、実行されていないものとします。

コメント