Query azure devops
Skill justinmchoi/ai-toolkit/skills/engineering/query-azure-devops
Reusable agent skills and baselines for Claude Code, Codex, and Copilot, with deterministic install/verify tooling
npx -y skills add justinmchoi/ai-toolkit --skill query-azure-devopsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Query work items and pull requests from an Azure DevOps organization. Use when asked to pull tickets, stories, support requests, PRs, or activity summaries from Azure DevOps. Encodes the correct tech-path discovery sequence so you do not waste turns on dead ends.
SKILL.md
3.9 KB, as published. Nobody here has run it
Query Azure DevOps
Azure DevOps is not reachable via WebFetch or generic MCP servers.
The correct path is the Azure CLI with the azure-devops extension.
Tech-Path Discovery (run in order, stop at the first success)
1. WebFetch dev.azure.com/* -> ALWAYS FAILS (redirects to MSFT login)
2. ToolSearch "azure devops mcp" -> MISS - azure MCP covers infrastructure
(Storage, Key Vault, Cosmos DB), not DevOps
3. Atlassian MCP -> MISS - surfaces Confluence only, no ADO
4. az account show -> PASS if Azure CLI is authenticated
5. az extension list | grep azure-devops -> PASS if the extension is installed
If step 4 or 5 fails, tell the user to run:
az login
az extension add --name azure-devops
Query Work Items (WIQL)
az boards query \
--wiql "SELECT [System.Id], [System.Title], [System.WorkItemType], [System.State], \
[System.AssignedTo], [System.CreatedDate], [System.ChangedDate] \
FROM WorkItems \
WHERE [System.AssignedTo] = '<email>' \
AND [System.ChangedDate] >= '<YYYY-MM-DD>' \
AND [System.ChangedDate] <= '<YYYY-MM-DD>' \
ORDER BY [System.ChangedDate] DESC" \
--organization https://dev.azure.com/<org> \
--project <project> \
--output json
Useful WIQL fields: [System.WorkItemType], [System.State], [System.Tags], [System.IterationPath], [Microsoft.VSTS.Common.ClosedDate].
Post-processing — remove false positives: System.ChangedDate fires on any field edit, including bulk admin operations, iteration moves, and comments. This can pull in old items that were merely touched rather than actively worked on. After fetching, discard any item where all three of these are true:
System.CreatedDateis more than ~1 year before the period start- State is terminal (
Closed,Resolved,Removed,Pending Approval,Pending Prod Deployment) - The title or context doesn't suggest it was genuinely completed this period
Use --output json (not --output table) so System.CreatedDate is visible for this check.
Query Pull Requests
# PRs authored by a user
az repos pr list \
--creator "<email>" \
--organization https://dev.azure.com/<org> \
--project <project> \
--status all \
--top 50 \
--output table
# PRs where a user was added as reviewer
az repos pr list \
--reviewer "<email>" \
--organization https://dev.azure.com/<org> \
--project <project> \
--status all \
--top 50 \
--output table
Note: --reviewer matches both individual reviewers and team reviewers whose membership
includes the user. Filter by Created date after the fact to scope a date range.
Rules
- Verify
az account showbefore running anyaz boardsoraz reposcall. - The
azureMCP server (@azure/mcp) is for Azure infrastructure — do not search for Azure DevOps tools there; they do not exist in that server. - GitHub PRs (repos hosted on github.com, not dev.azure.com) require a separate tool
(
ghCLI or GitHub MCP). If neither is available, search Slack for PR links. - When a project is unknown, run
az devops project list --organization <org>to enumerate.