Azure DevOps Boards:我的卡片
帮助用户通过 MCP 或 az 管理其在 Azure Boards 上的卡片。团队约定位于配置文件中;同一技能可适用于不同团队。
1. 前置操作
- 读取配置 —
~/.config/ado-boards/config.md(Windows:%USERPROFILE%\.config\ado-boards\config.md)。若文件缺失 → 先运行核心设置(workflows/setup.md);猜测组织/项目可能会导致写入错误的位置。标记为not set yet的值将在工作流首次需要时收集。 - 为本轮操作选择后端:
- MCP:当 Azure DevOps MCP 工具可用时(例如
wit_work_item):加载mcp-tools.md(以及仅当该映射文档记录了 MCP 缺口时才加载一个az/缺口文件)。 - az:否则:加载
az/README.md以及本工作流对应的单个章节文件。另外,仅当 HTML 描述/验收条件写入返回乱码,或 PowerShell 引号失败时,才加载az/windows.md。确认登录状态(az account show或AZURE_DEVOPS_EXT_PAT);若均无效,用户自行运行az login。 - 两者皆不可用 → 指向设置。
- MCP:当 Azure DevOps MCP 工具可用时(例如
- 打开匹配的工作流(见下表)并遵循其指引。工作流描述“做什么”;后端文件描述“怎么做”。第2节中的规则适用于两个后端。
完成条件:已获取配置,选定一个后端,并打开工作流文件。
用户自行登录(Entra / az login)。凭据不会留在聊天中。
2. 规则
读取操作无需权限。每次写入操作都需要预览和明确的是——即使工具本身不提示。看板是共享的;MCP 写入通常跳过提示,因此预览是关卡。
| 规则 | 准则 |
|---|---|
| 预览大小 | 用户自己的卡片一个更改 → 一行(#512:State Active -> Closed。确定?)。多个更改,或他人的卡片 → 表格(ID、字段、旧值、新值)。超过10个 → 说明数量并再次确认。 |
| 读回 | 每次写入后:报告 ID、更改内容、URL https://dev.azure.com/<org>/<project>/_workitems/edit/<id>。 |
| 父项 | 当配置说 Parent required:yes 时,仅在有父项的情况下创建(孤立项会从积压视图(backlog)中消失)。 |
| Bug | 当配置说 bug 存放在别处时:在现有 bug 下提供一个任务(第二个 Bug 会分割历史记录)。 |
| 外部卡片 | 配置中的标题前缀(例如 EXT):警告评论可能在评论或字段更改前同步给报告者;关闭时跳过影响。 |
| 单位 | 时间字段为纯数字;单位在配置中。当用户提到其他单位时进行转换,同时显示两者,并始终注明单位(Boards UI 无论何种情况都显示“h”)。 |
| 卡片保留 | 关闭或移动;将卡片保留在看板上。只有在完整显示评论并获得“是”后才能删除评论——两者均不可撤销。 |
| 自己的评论 | 仅编辑或删除用户自己的评论(ADO 拒绝其他操作)。 |
| 真实值 | 要求提供估算、负责人、日期、影响——或留空。编造的数字会在看板上显得真实。 |
| 安全引号 | 安全地引用值;标题可能包含引号。 |
| 写入页脚 | 写入后:你做了什么,你跳过了什么,一个下一步。纯读取:仅回答问题。 |
3. 工作流
| 触发条件 | 打开 |
|---|---|
| 配置 ado 技能;配置缺失;有变动 | workflows/setup.md |
| 我的任务是什么;显示我的卡片;移动;记录时间;关闭 | workflows/my-cards.md |
| 创建卡片;将故事拆解为任务 | workflows/create-card.md |
| 添加、列出、编辑或删除评论 | workflows/comments.md |
| 描述或验收条件 | workflows/write-description.md |
| 规划我的冲刺;我应该先做什么 | workflows/plan-my-sprint.md |
4. 敏捷参考(对照配置验证)
层级:Epic > Feature > User Story > Task。Bug 根据团队设置位于故事旁边或之下。
| 类型 | 状态 |
|---|---|
| Feature / User Story | New, Active, Resolved, Closed, Removed |
| Bug | New, Active, Resolved, Closed |
| Task | New, Active, Closed, Removed |
父项:Task 在 User Story(或 Bug)之下,User Story 在 Feature 之下。自定义状态和必填字段一旦收集后位于配置中。