mcpField
I
issue-management

issue-management

github.com/remotion-dev開発68.6k708 回インストール今日更新
リポジトリ

issue-management について

サポートされる `gh issue` コマンドで、GitHub issue の親子関係やブロック関係を管理するスキルです。タスクの階層や依存関係を扱うコントリビューター向けに、変更の確認手順も示します。

主な機能

  1. 01親 issue の設定と変更
  2. 02サブ issue 関係の管理
  3. 03ブロック関係の追加と解除
  4. 04関係メタデータの確認
  5. 05JSON 出力による変更確認

活用シーン

  1. 01作業を親 issue の下に整理
  2. 02他の作業に依存する issue の記録
  3. 03編集前の issue 依存関係の確認

インストール

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

$npx skills add https://github.com/remotion-dev/remotion --skill issue-management

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

詳細

GitHub イシュー間の関係を作成、編集、確認、削除するときに、このスキルを使用してください。

これらのコマンドは、GitHub CLI PR cli/cli#13057 で追加された Issues 2.0 の gh issue サポートを使用します。この機能は新しいため、まずインストール済みの gh が対応していることを確認してください。

gh issue create --help | grep -E -- '--parent|--blocked-by|--blocking'
gh issue edit --help | grep -E -- '--parent|--add-sub-issue|--add-blocked-by|--add-blocking'

これらのフラグが見つからない場合は、イシュー間の関係を管理する前に gh を更新してください。古いコマンドをでっち上げてはいけません。

イシュー参照形式

関係を指定するフラグには、イシュー番号またはイシュー URL を指定できます。

現在のリポジトリのイシューには、番号を使用します。

gh issue edit 123 --parent 100

リポジトリをまたぐ関係には、完全なイシュー URL を使用します。

gh issue edit 123 --blocked-by https://github.com/remotion-dev/remotion/issues/456

関連する複数のイシューは、カンマ区切りのリストとして指定できます。

gh issue edit 123 --add-blocked-by 200,201

親イシューとサブイシューの関係

サブイシューが持てる親イシューは、必ず1つです。

親イシューの直下に新しいイシューを作成するには、次のようにします。

gh issue create \
  --title 'Docs: Add issue management skill' \
  --body-file /tmp/remotion-issue-body.md \
  --parent 100

既存の子イシューの親を設定または変更するには、次のようにします。

gh issue edit <child-number> --parent <parent-number-or-url>

子イシューから親を削除するには、次のようにします。

gh issue edit <child-number> --remove-parent

親イシューから子イシューを管理するには、次のようにします。

gh issue edit <parent-number> --add-sub-issue <child-number-or-url>
gh issue edit <parent-number> --remove-sub-issue <child-number-or-url>

--add-sub-issue は、子イシューにすでに別の親イシューがある場合、その子イシューを新しい親イシューに移動します。1つの子イシューを複数の親イシューに曖昧な形で追加することはできないため、1つのコマンドで複数の親イシューを編集するときに --add-sub-issue を使用しないでください。

ブロックされる関係とブロックする関係

編集中のイシューが別のイシューの対応待ちの場合は、blocked-by を使用します。

# Issue 123 is blocked by issue 200.
gh issue edit 123 --add-blocked-by 200

# Remove that relationship.
gh issue edit 123 --remove-blocked-by 200

編集中のイシューが別のイシューをブロックする場合は、blocking を使用します。

# Issue 123 is blocking issues 300 and 301.
gh issue edit 123 --add-blocking 300,301

# Remove one blocking relationship.
gh issue edit 123 --remove-blocking 300

同じ関係を別の視点で表すと、次のようになります。

gh issue edit A --add-blocking B

これは、次の関係と同じです。

gh issue edit B --add-blocked-by A

現在編集しているイシューに応じて、コマンドを選んでください。

イシューを作成するときに、関係をすぐに設定します。

gh issue create \
  --title 'Studio: Add timeline validation' \
  --body-file /tmp/remotion-issue-body.md \
  --blocked-by 200,201 \
  --blocking 300

関係の確認

人が読みやすい形式の表示では、親イシュー、サブイシュー、blocked-by、blocking のメタデータがある場合に表示されます。

gh issue view <number>

TTY 以外への生の出力には、安定した関係の行が含まれます。

gh issue view <number> | grep -E '^(parent|sub-issues|sub-issues-completed|blocked-by|blocking):'

スクリプトでは、JSON フィールドを明示的に指定します。

gh issue view <number> \
  --json parent,subIssues,subIssuesSummary,blockedBy,blocking

subIssues、blockedBy、blocking は、nodes と totalCount を含むコネクションオブジェクトです。subIssuesSummary には完了数が含まれます。

安全なワークフロー

  1. 新しいイシュー本文は、インラインの複数行シェル文字列ではなく、--body-file を使って作成します。
  2. 適切な gh issue create または gh issue edit フラグを使って、関係を設定します。
  3. gh issue view <number> または gh issue view <number> --json parent,subIssues,subIssuesSummary,blockedBy,blocking で確認します。
  4. その後、PR または親イシューの本文を編集する場合は、曖昧なチェックリストの文言を具体的なイシュー番号に置き換えます。

コメント