mcpField
B
boards-team-active-work

boards-team-active-work

github.com/microsoft生产力5455 次安装15 周前更新
代码仓库

关于 boards-team-active-work

用于从 Azure DevOps 获取团队当前用户负责的 Active 需求级工作项,并补充父子项、依赖和迭代信息。按阻塞关系与优先级整理结果,适合团队积压和冲刺状态检查。

主要功能

  1. 01筛选 Active 需求项
  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确认已加载。

详细介绍

获取团队当前活动工作项及其依赖关系

此技能会获取团队需求级待办项,筛选出状态为「活动」且分配给当前用户的项,补充其父项、子项详情及依赖关系,并按阻塞状态和优先级排序,同时显示冲刺信息。

项目选择

  • 如果用户在请求中提供了项目名称(例如「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(操作:list_work_items):获取团队在指定待办级别上的工作项。
  • work(操作:list_team_iterations):获取团队的迭代列表,包括当前冲刺信息。
  • wit_work_item(操作:get_batch):按 ID 批量获取工作项详情。尽可能用最少的调用次数获取待办项、其父项、子项和依赖项的字段及关系。

步骤

  1. 按照上述规则确定项目和团队。

  2. 对已确定的项目和团队调用 work,操作为 list_team_iterations,并设置 timeframe=current,以获取当前冲刺信息。保存当前迭代路径和结束日期,用于筛选和显示。

  3. 对已确定的项目和团队调用 wit_backlog,操作为 list_work_items,并使用待办级别 Microsoft.RequirementCategory(需求/产品待办项级别)。

  4. 在返回的工作项中,筛选出满足以下条件的项:

    • System.State = Active
  5. 如果没有符合筛选条件的项,显示一条消息,说明该团队没有活动待办项,然后停止。

  6. 对所有筛选出的项 ID 调用 wit_work_item,操作为 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(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,操作为 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 关系)——按 Priority 升序排序(Priority 1 优先)
  2. 高优先级工作项(Priority 为 1 或 2)且不阻塞其他工作项——按 Priority 升序排序
  3. 本迭代到期的工作项(匹配当前迭代路径)——按 Priority 升序排序
  4. 所有其他工作项——按 Priority 升序排序

对每个工作项,显示:


{ID} — {Title}

{如果该项会阻塞其他工作项,则显示:⚠️ 阻塞其他工作项}

字段值
状态{System.State}
优先级{Microsoft.VSTS.Common.Priority}
更改日期{System.ChangedDate formatted as MM/DD/YYYY}
迭代{System.IterationPath 的最后一段}
迭代结束日期{如果属于当前迭代,则使用步骤 2 中的 Iteration Finish Date;否则查找团队迭代的结束日期}
工作项类型{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}

评论

支持 Markdown