Claude-skill-registry azure-boards
Work with Azure DevOps Product Backlog Items using az boards CLI
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/azure-boards" ~/.claude/skills/majiayu000-claude-skill-registry-azure-boards && rm -rf "$T"
manifest:
skills/data/azure-boards/SKILL.mdsource content
Azure Boards Skill
Use the Azure CLI (
az boards) to interact with Azure DevOps work items.
Prerequisites
Ensure Azure CLI is authenticated:
az login az devops configure --defaults organization=https://dev.azure.com/{org} project={project}
Fetching Work Items
Single Work Item
az boards work-item show --id {id} --output yaml
Field Mapping
| Azure DevOps Field | YAML Path | Notes |
|---|---|---|
| Title | | Plain text |
| Description | | HTML-formatted, strip tags |
| Acceptance Criteria | | HTML-formatted |
| State | | New, Active, Resolved, Closed |
| Assigned To | | User object |
| Iteration Path | | Sprint path |
| Priority | | 1-4 |
HTML Parsing Notes
- Description and Acceptance Criteria are HTML-formatted
- Strip
,<div>
,<p>
,<ul>
,<li>
tags before processing<code> - Look for embedded sections as
or<h3>
headers:<b>- "Files to modify" -> extract file paths
- "Scope" or "Architecture" -> extract context
- Numbered/bulleted lists -> extract changes
Updating Work Items
Update Fields
az boards work-item update --id {id} \ --fields \ "System.Description={description_html}" \ "Microsoft.VSTS.Common.AcceptanceCriteria={criteria_markdown}"
Field Formats
: HTML withSystem.Description
,<h3>
,<p>
,<ul>
,<ol>
,<li>
tags<code>
: Markdown bullet list (no checkboxes)Microsoft.VSTS.Common.AcceptanceCriteria
Example Update
az boards work-item update --id 12345 \ --fields \ "System.Description=<h3>Context</h3><p>Switch to internal ingress.</p><h3>Files</h3><ul><li><code>container-app.bicep</code></li></ul>" \ "Microsoft.VSTS.Common.AcceptanceCriteria=- Direct URL returns 403\n- Front Door URL returns 200"
WIQL Queries
My Active Work Items
SELECT [System.Id], [System.Title], [System.State], [System.WorkItemType], [Microsoft.VSTS.Common.Priority] FROM WorkItems WHERE [System.AssignedTo] = @Me AND [System.WorkItemType] IN ('Product Backlog Item', 'Bug') AND [System.State] NOT IN ('Closed', 'Removed', 'Resolved') ORDER BY [Microsoft.VSTS.Common.Priority] ASC, [System.WorkItemType] ASC
Sprint Work Items
SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.AssignedTo] = @Me AND [System.IterationPath] = '{iteration_path}' AND [System.State] NOT IN ('Closed', 'Removed')
Execute WIQL
az boards query --wiql "SELECT [System.Id], [System.Title] FROM WorkItems WHERE [System.AssignedTo] = @Me" --output table
Creating Tasks Under a PBI
az boards work-item create \ --type Task \ --title "Task title" \ --description "Task description" \ --fields "System.Parent={pbi_id}"
Common Operations
List Work Item Types
az boards work-item type list --output table
Show Work Item Relations
az boards work-item show --id {id} --expand relations
Add Comment
az boards work-item update --id {id} --discussion "Comment text"