Files
gh-linus-mcmanamey-unify-2-…/skills/azure-devops.md
2025-11-30 08:37:55 +08:00

5.5 KiB

name, description
name description
azure-devops On-demand Azure DevOps operations (PRs, work items, pipelines, repos) using context-efficient patterns. Loaded only when needed to avoid polluting Claude context with 50+ MCP tools. (project, gitignored)

Azure DevOps (On-Demand)

Context-efficient Azure DevOps operations without loading all MCP tools into context.

When to Use This Skill

Load this skill when you need to:

  • Query pull request details, conflicts, or discussion threads
  • Check merge status or retrieve PR commits
  • Add comments to Azure DevOps work items
  • Query work item details or WIQL searches
  • Trigger or monitor pipeline runs
  • Manage repository branches or commits
  • Avoid loading 50+ MCP tools into Claude's context

Core Concept

Use REST API helpers and Python scripts to interact with Azure DevOps only when needed. Results are filtered before returning to context.

Context Efficiency:

  • Without this approach: Loading ADO MCP server → 50+ tools → 10,000-25,000 tokens
  • With this approach: Load specific helper when needed → 500-2,000 tokens

Prerequisites

Environment variables must be set:

export AZURE_DEVOPS_PAT="your-personal-access-token"
export AZURE_DEVOPS_ORGANIZATION="emstas"
export AZURE_DEVOPS_PROJECT="Program Unify"

Quick Reference

Pull Request Operations

from scripts.ado_pr_helper import ADOHelper

ado = ADOHelper()

# Get PR details
pr = ado.get_pr(5860)
print(pr["title"])
print(pr["mergeStatus"])

# Check for merge conflicts
conflicts = ado.get_pr_conflicts(5860)
if conflicts.get("value"):
    print(f"Found {len(conflicts['value'])} conflicts")

# Get PR discussion threads
threads = ado.get_pr_threads(5860)

# Get PR commits
commits = ado.get_pr_commits(5860)

CLI Usage

# Get PR details and check conflicts
python3 /workspaces/unify_2_1_dm_synapse_env_d10/.claude/skills/mcp-code-execution/scripts/ado_pr_helper.py 5860

Common Workflows

Review and Fix PR Conflicts

# 1. Get PR details and conflicts
ado = ADOHelper()
pr = ado.get_pr(pr_id)
conflicts = ado.get_pr_conflicts(pr_id)

# 2. Filter to only conflict info (don't load full PR data)
conflict_files = [c["conflictPath"] for c in conflicts.get("value", [])]

# 3. Return summary to context
print(f"PR {pr_id}: {pr['mergeStatus']}")
print(f"Conflicts in: {', '.join(conflict_files)}")

Integration with Git Commands

This skill complements the git-manager agent and slash commands:

  • /pr-feature-to-staging - Uses ADO API to create PR and comment on work items
  • /pr-fix-pr-review [PR_ID] - Retrieves review comments via ADO API
  • /pr-deploy-workflow - Queries PR status during deployment
  • /branch-cleanup - Checks remote branch merge status

Repository Configuration

Organization: emstas Project: Program Unify Repository: unify_2_1_dm_synapse_env_d10 Repository ID: e030ea00-2f85-4b19-88c3-05a864d7298d

Extending Functionality

To add more ADO operations:

  1. Add methods to ado_pr_helper.py or create new helper files
  2. Follow the pattern: fetch → filter → return summary
  3. Use REST API directly for maximum efficiency
  4. Document new operations in the skill directory

REST API Reference

Base URL: https://dev.azure.com/{organization}/{project}/_apis/ API Version: 7.1 Authentication: Basic auth with PAT Documentation: https://learn.microsoft.com/en-us/rest/api/azure/devops/

Skill Directory Structure

For detailed documentation, see:

  • azure-devops/skill.md - Complete skill documentation
  • azure-devops/scripts/ - Helper scripts (ado_pr_helper.py)
  • azure-devops/README.md - Quick start guide (future)
  • azure-devops/INDEX.md - Navigation guide (future)

Best Practices

DO

  • Use this skill to avoid loading MCP server tools
  • Filter results before returning to context
  • Return summaries instead of full data structures
  • Use helper scripts for common operations
  • Cache results when making multiple calls

DON'T

  • Load MCP server if only querying 1-2 PRs
  • Return full JSON responses to context
  • Make redundant API calls
  • Expose PAT tokens in logs or responses

Integration Points

With Git Manager Agent

  • PR creation and status checking
  • Review comment retrieval
  • Work item commenting
  • Branch merge status

With Deployment Workflows

  • Pipeline trigger and monitoring
  • PR validation before merge
  • Work item state updates
  • Commit linking

With Documentation

  • Wiki page management (future)
  • Markdown documentation sync (future)
  • Work item documentation links

Performance

API Call Timing:

  • Single PR query: ~200-500ms
  • PR with conflicts: ~300-700ms
  • PR threads retrieval: ~400-1000ms
  • Work item query: ~100-300ms

Rate Limits:

  • Azure DevOps API: 200 requests per minute per PAT
  • Best practice: Batch operations when possible

Troubleshooting

Issue: Authentication Failed

# Verify PAT is set
echo $AZURE_DEVOPS_PAT

# Test connection
python3 scripts/ado_pr_helper.py [PR_ID]

Issue: PR Not Found

  • Verify PR ID is correct
  • Check repository configuration
  • Ensure PAT has read permissions

Issue: Context Overflow

  • Use helper scripts instead of MCP tools
  • Filter results to essentials only
  • Return summaries not raw JSON

Future Enhancements

Planned additions:

  • Work item helper functions
  • Pipeline operation helpers
  • Repository statistics
  • Build validation queries
  • Wiki management

Created: 2025-11-09 Version: 1.0 Maintainer: AI Agent Team Status: Production Ready