.claude/skills/ado-review/SKILL.md
Use when reviewing code changes for an Azure DevOps ticket. Fetches ticket context, finds the linked PR, and performs a code review. Triggers on "review ticket", "check ticket", or ticket number mentions with review intent.
npx skillsauth add Vvanlaar/orch ado-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Fetch ADO ticket for context → find linked PR → review the code changes against ticket requirements.
Read
~/.claude/skills/_ado-shared.mdfor auth, env vars, and Windows/MSYS2 patterns.
$expand=all to get description, acceptance criteria, test notes, and relationsMicrosoft.VSTS.Common.Resolution field (HTML — parse <a href="..."> links) or from relations (ArtifactLink with vstfs:///Git/PullRequestId/...)bluebillywig/ovp6/pull/6183 → repo=bluebillywig/ovp6, PR=6183)gh pr diff <number> --repo <owner/repo>gh pr view <number> --repo <owner/repo> --json filespr-review-toolkit:review-pr skill or manual review, considering:
source ~/.env && B64=$(printf ':%s' "$ADO_PAT" | base64 -w0)
curl -s -H "Authorization: Basic $B64" \
"https://dev.azure.com/bluebillywig/BBNew/_apis/wit/workitems/<ID>?api-version=7.0&\$expand=all"
The PR link is typically in Microsoft.VSTS.Common.Resolution as an <a href="..."> tag. Parse it:
node -e "const html='RESOLUTION_HTML'; const m=html.match(/href=\"(https:\/\/github\.com\/[^\"]+)\"/); console.log(m?m[1]:'NO_PR_FOUND')"
Also check relations array for ArtifactLink entries containing vstfs:///Git/PullRequestId/.
If no PR found, ask the user for the PR URL or number.
# PR diff
gh pr diff <NUMBER> --repo <OWNER/REPO>
# PR metadata + files
gh pr view <NUMBER> --repo <OWNER/REPO> --json title,body,files,additions,deletions,changedFiles
# PR review comments (existing reviews)
gh pr view <NUMBER> --repo <OWNER/REPO> --json reviews
When reviewing, evaluate against the ticket context:
## Review: ADO #<ID> — <Title>
**PR**: <PR_URL>
**Status**: <ticket state>
### Ticket Context
<brief description of what the ticket asks for>
### Code Changes Summary
<list of files changed and what each change does>
### Findings
- ✅ <what looks good>
- ⚠️ <concerns or suggestions>
- ❌ <issues that should be fixed>
### Verdict
<LGTM / Needs changes / Questions>
| Mistake | Fix | |---------|-----| | Reviewing without ticket context | Always fetch ticket first — context drives the review | | Missing PR link | Check both Resolution field and relations array | | Reviewing only the diff | Also check PR description, test notes, and acceptance criteria | | Not checking test coverage | Compare test notes against actual code changes |
tools
Sync GitHub repos from bluebillywig org to an ADO "Repository" picklist field on all work item types
development
Build a new desktop app release (Electron). Triggers on "build desktop", "new release", "desktop release", "build the app"
development
Generic Azure DevOps operations — edit tickets, query work items, add comments, change fields, move sprints, assign users, link items, and more. Triggers on "ado", "edit ticket", "update ticket", "move ticket", "assign ticket", "link ticket", "query ado", "search ado", "add comment to ticket", or ticket number mentions with edit/update intent.
testing
Use when testing and verifying a bug fix or feature for an ADO ticket. Triggers on /ado-test, "test ticket", or requests to test a ticket number.