This guide maps the platform-agnostic workflow in docs/workflow/README.md to Azure DevOps conventions and az CLI commands.
When in doubt, follow the agnostic workflow first, then apply the matching Azure DevOps tool examples below.
| Workflow area | Azure DevOps tool | Skill(s) |
|---|---|---|
| Work item discipline | az boards work-item create/show/update |
azure-devops, azure-devops-work-items |
| Duplicate check | WIQL via az boards query |
azure-devops-work-items |
| Metadata | Area Path, Iteration, Tags, Assignee | azure-devops-work-items |
| Bulk creation | az boards work-item create in a loop |
azure-devops-work-items |
| Branching | git checkout -b feature/NNN-... + branch policies |
plan-branch-strategy, azure-devops-repos |
| Commit linking | AB#NNN in commit message |
git (auto-links in Azure DevOps) |
| PR creation | az repos pr create |
azure-devops-repos |
| PR merge | az repos pr update --status completed |
azure-devops-repos |
| Code review | Required reviewers, vote on PR | code-review, azure-devops-repos |
| Quality gate | pre-commit + build validation policy | quality-gate |
| CI/CD | azure-pipelines.yml (stages, environments) |
azure-devops-pipelines, deployment |
| Cleanup | az pipelines runs delete, branch prune |
maintenance-cleanup |
| Monitoring | Azure Monitor, Application Insights, pipeline logs | operations-monitoring |
az extension add --name azure-devops
az devops login --organization https://dev.azure.com/{org}
az devops configure --defaults organization=https://dev.azure.com/{org} project={project}az boards work-item create \
--title "[FEAT]: verb + object" \
--type "Product Backlog Item" \
--description "## Goal\n...\n\n## Acceptance Criteria\n- [ ] ..."az boards query --wiql "SELECT [System.Id], [System.Title] FROM WorkItems \
WHERE [System.TeamProject] = @project AND [System.Title] CONTAINS 'search terms'"az boards work-item update --id 12345 \
--fields "System.AssignedTo=user@example.com System.IterationPath=Project\\Sprint 1"Use the same branch prefixes as the agnostic workflow (feature/NNN-description, etc.).
Link commits to work items:
AB#12345: feat: add hybrid retrieval
az repos pr create \
--source-branch feature/123-short-description \
--target-branch main \
--title "feat: ..." \
--description "## Summary\n...\n\nRelated work: AB#123"az repos pr update --id 42 --status completed --delete-source-branch trueRun lint, format, and tests locally before push (same sequence as the agnostic workflow). See quality-gate.
Configure a build validation branch policy so the PR pipeline must pass before merge. Example pipeline skeleton:
pr:
branches:
include:
- main
stages:
- stage: Validate
jobs:
- job: QualityGate
pool:
vmImage: ubuntu-latest
steps:
- checkout: self
- script: uv run pytest
displayName: Run testsFull patterns: azure-devops-pipelines.
Use pipeline environments with approval checks for production promotion after staging smoke tests pass.
- Delete merged source branches (
az repos pr update --delete-source-branch trueon complete, or manual git prune) - Remove stale pipeline runs:
az pipelines runs delete --id <run-id>
See maintenance-cleanup for hygiene patterns.
From skills/COOPERATION.md:
After work item refinement and planning, a maintainer may review before coding. Invoke implementation only when the work item has execution:ai-ok and an explicit go-ahead.
- Agnostic source of truth:
README.md - GitHub mapping:
github.md - Skill orchestrator:
azure-devops