mcpField
B
boards-team-active-work

boards-team-active-work

github.com/microsoft生産性5455 回インストール15 週間前に更新
リポジトリ

boards-team-active-work について

Azure DevOps から、現在のユーザーが担当する Active 状態の要件レベルの作業項目を取得し、親子関係、依存関係、イテレーション情報を補います。ブロック状況と優先度で整理し、バックログやスプリントの確認に使えます。

主な機能

  1. 01Active 状態の要件項目を抽出
  2. 02親子関係と依存関係を取得
  3. 03現在のスプリント情報を取得
  4. 04ブロック状況と優先度で分類
  5. 05イテレーションと項目の詳細を表示

活用シーン

  1. 01ユーザー担当のチームバックログを確認
  2. 02他の作業をブロックする項目を特定
  3. 03作業項目と現在のスプリントを照合

MCP 対応

Azure DevOps MCP Server のツールで、プロジェクト、チーム、バックログ項目、イテレーション、作業項目の関係を照会します。

インストール

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

$npx skills add https://github.com/microsoft/azure-devops-skills --skill boards-team-active-work

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

詳細

依存関係を含むチームのアクティブな作業項目を取得する

このスキルは、チームの Requirements レベルのバックログを取得し、アクティブで現在のユーザーに割り当てられている項目に絞り込み、親/子の詳細と依存関係の情報を追加したうえで、ブロック状況と優先度で並べ替え、スプリント情報とともに表示します。

プロジェクトの選択

  • ユーザーがリクエストでプロジェクト名を指定した場合(例:「Contoso の場合」)、そのプロジェクトを直接使用し、core_list_projects は呼び出さないでください。
  • プロジェクト名が指定されていない場合は、ユーザーに一度だけプロジェクト名を尋ねてください。
  • 一度尋ねた後もプロジェクト名が指定されない場合は、core_list_projects を呼び出して、ユーザーが選択できるプロジェクトの一覧を返してください。
  • プロジェクトが指定または選択されていない場合は、続行しないでください。

チームの選択

  • ユーザーがチーム名を指定した場合は、そのチームを直接使用し、core_list_project_teams は呼び出さないでください。
  • チーム名が指定されていない場合は、ユーザーに一度だけチーム名を尋ねてください。
  • 一度尋ねた後もチーム名が指定されない場合は、選択したプロジェクトについて core_list_project_teams を呼び出し、ユーザーがチームを選択できるようにしてください。
  • チームが指定または選択されていない場合は、続行しないでください。

ツール

Azure DevOps とのすべてのやり取りには、Azure DevOps MCP Server のツールを使用してください。

  • core_list_projects:ユーザーが選択できるプロジェクトの一覧を取得します。
  • core_list_project_teams:プロジェクトのチーム一覧を取得します。
  • wit_backlog(action: list_work_items):特定のバックログレベルにあるチームのバックログ作業項目を取得します。
  • work(action: list_team_iterations):現在のスプリント情報を含む、チームのイテレーション一覧を取得します。
  • wit_work_item(action: get_batch):ID を指定して作業項目の詳細をまとめて取得します。バックログ項目、その親、子、依存関係のフィールドとリレーションを、できるだけ少ない呼び出し回数で取得するために使用してください。

手順

  1. 上記のルールに従って、プロジェクトとチームを特定します。

  2. 特定したプロジェクトとチームについて、timeframe=current を指定して work を action list_team_iterations で呼び出し、現在のスプリント情報を取得します。フィルタリングと表示に使用するため、現在のイテレーションパスと終了日を保存します。

  3. 特定したプロジェクトとチームについて、バックログレベル Microsoft.RequirementCategory(Requirements/Product Backlog Items レベル)を指定して、wit_backlog を action list_work_items で呼び出します。

  4. 返された作業項目から、次の条件をすべて満たす項目に絞り込みます。

    • System.State = Active
  5. フィルターに一致する項目がない場合、このチームにアクティブなバックログ項目がないことを示すメッセージを表示し、終了します。

  6. 絞り込んだすべての項目 ID について、次のフィールドを指定して wit_work_item を action get_batch、expand=relations で呼び出します。

    • System.Id
    • System.Title
    • System.State
    • System.AssignedTo
    • System.WorkItemType
    • System.ChangedDate
    • System.IterationPath
    • Microsoft.VSTS.Common.Priority
    • System.Parent
  7. 各項目の relations から、次の ID を収集します。

    • 親 ID(System.LinkTypes.Hierarchy-Reverse)
    • 子 ID(System.LinkTypes.Hierarchy-Forward)
    • 依存関係 ID:この作業項目が依存する項目(System.LinkTypes.Dependency-Forward)と、この作業項目に依存する項目(System.LinkTypes.Dependency-Reverse)の両方
    • 関連 ID(System.LinkTypes.Related)
  8. すべての関連 ID をまとめた集合(すでに取得済みの ID は除く)について、wit_work_item を action get_batch で一度呼び出し、次の項目を取得します。

    • System.Id
    • System.Title
    • System.State
    • System.IterationPath
  9. 各作業項目について、次の項目を判断します。

    • ブロック中か:System.LinkTypes.Dependency-Reverse のリレーションがあるかどうか(他の項目がこの項目に依存している)
    • 現在のスプリントに含まれているか:System.IterationPath が手順 2 で取得した現在のイテレーションと一致するかどうか
    • 優先度:Microsoft.VSTS.Common.Priority の値
  10. 以下の結果の表示セクションの説明に従って、結果を表示します。

結果を表示

まず、現在のスプリント情報を表示します:

現在のスプリント: {Iteration Name}(終了日:{Iteration Finish Date formatted as MM/DD/YYYY})


次に、作業項目を以下の順序で並べ替えてグループ化します:

  1. 他の項目をブロックしている項目(System.LinkTypes.Dependency-Reverse の関連がある項目) — 優先度の昇順(優先度 1 が最初)
  2. 優先度の高い項目(優先度 1 または 2)で、ブロックしていない項目 — 優先度の昇順
  3. 今スプリントが期限の項目(現在のイテレーションパスに一致する項目) — 優先度の昇順
  4. その他すべての項目 — 優先度の昇順

各項目について、以下を表示します:


{ID} — {Title}

{ブロックしている場合は、次を表示:⚠️ 他の作業項目をブロックしています}

フィールド値
状態{System.State}
優先度{Microsoft.VSTS.Common.Priority}
変更日{System.ChangedDate formatted as MM/DD/YYYY}
イテレーション{System.IterationPath の最後のセグメント}
イテレーション終了日{現在のスプリント内の場合はステップ 2 のイテレーション終了日。それ以外の場合はチームのイテレーションから検索}
作業項目の種類{System.WorkItemType}

親項目:

  • 親項目がある場合:{ParentID} {Parent Title}
  • 親項目がない場合:(なし)

子項目:

子項目がある場合は、テーブルに表示します:

IDタイトル状態
{ChildID}{Child Title}{Child State}

子項目がない場合は、次を表示します:(なし)

依存関係:

この項目が他の項目をブロックしている場合(System.LinkTypes.Dependency-Reverse の関連がある場合)は、次を表示します:

⚠️ ブロック対象:

この項目が他の項目に依存している場合(System.LinkTypes.Dependency-Forward の関連がある場合)は、次を表示します:

依存先:

依存関係がない場合は、次を表示します:(なし)


すべての項目を表示した後、概要を表示します:

概要:

  • チームのアクティブな項目の合計: {N}
  • 他の項目をブロックしている項目: {M}
  • 優先度の高い項目(1~2): {P}
  • 今スプリントが期限の項目: {Q}

チーム:{team name} | プロジェクト:{project name}

コメント