No description
Find a file
Rense Bakker 6b4155354e docs(readme): fill in real repo URL in install steps
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 14:02:48 +02:00
.claude-plugin feat: Azure DevOps skill for Claude Code 2026-07-25 07:24:07 +02:00
skills/ado feat: Azure DevOps skill for Claude Code 2026-07-25 07:24:07 +02:00
.gitignore feat: Azure DevOps skill for Claude Code 2026-07-25 07:24:07 +02:00
LICENSE feat: Azure DevOps skill for Claude Code 2026-07-25 07:24:07 +02:00
README.md docs(readme): fill in real repo URL in install steps 2026-07-25 14:02:48 +02:00

ado-skill

Azure DevOps skill for Claude Code: lets your agent work with ADO work items (WIQL, discussion comments, create, assign, taskboard, markdown descriptions), pull requests (create, review threads, anchored comments, votes, autocomplete), builds (diagnose failures, logs, artifacts, stage retry) and git repos — through small guarded python CLIs that encode years of ADO API landmines (silently dropped writes, one-way markdown flips, comments invisible to az, expired-forever CI validations, ...).

Nothing org-specific ships in this repo: every installer configures their own organization, project and PAT.

Prerequisites

  • python3 (stdlib only — no pip installs)
  • Azure CLI + the devops extension: az extension add --name azure-devops
  • An ADO Personal Access Token with scopes: Work Items (Read & Write), Code (Read & Write), Build (Read & Execute) — create under ADO → User settings → Personal access tokens.

Install

/plugin marketplace add https://git.rensebakker.nl/BROWS/ado-skill.git
/plugin install ado@ado-skill

Option B — direct clone

git clone https://git.rensebakker.nl/BROWS/ado-skill.git ~/develop/ado-skill
mkdir -p ~/.claude/skills
ln -s ~/develop/ado-skill/skills/ado ~/.claude/skills/ado

Both give you the same ado skill; git pull (or plugin update) picks up new versions.

Configure (once)

python3 skills/ado/scripts/ado_setup.py init
# paste your PAT into ~/.config/ado/pat.env, then verify:
python3 skills/ado/scripts/ado_setup.py doctor

init writes ~/.config/ado/config.json (chmod 600):

key meaning
org https://dev.azure.com/<yourorg>
project default project
repo default repository (optional)
team team name — needed for sprints/taskboard (optional)
user_email your ADO email — used by the never-vote-on-your-own-PR guard
board_project / code_project only if boards and code live in different projects
area_path recommended: mutations hard-refuse work items outside this area (IDs are org-wide — this guard protects other teams from your typos)
pat_env PAT file path (default ~/.config/ado/pat.env)

The PAT never leaves the Authorization header, is only sent to dev.azure.com / *.visualstudio.com, and is never printed.

Claude Code sandbox users

If you run Claude Code with bash sandboxing enabled, outbound network access is blocked by default and approving a prompt only lasts for the current session. Allow the ADO hosts permanently in your settings.json (user or project scope):

{
  "sandbox": {
    "network": {
      "allowedDomains": ["dev.azure.com", "*.visualstudio.com"]
    }
  }
}

Use

Just ask your agent things like:

  • "show ADO work item 123456 and its discussion"
  • "query my open items in the current sprint"
  • "create a PR for this branch and set autocomplete"
  • "why is the validation build on PR 4321 stuck?"
  • "diagnose build 987654"

The skill triggers on ADO/Azure DevOps/work item/PR/pipeline mentions and dev.azure.com URLs. See skills/ado/SKILL.md for the full command surface and skills/ado/references/gotchas.md for the API landmines this package protects you from.