azsdk-common-pipeline-fixer
Azure/azure-sdk-for-net/.github/skills/azsdk-common-pipeline-fixer/SKILL.md
Automatically fix Azure SDK CI/CD pipeline failures by applying code changes and verifying locally. USE FOR: "fix pipeline failure", "fix CI", "fix failing tests", "auto-fix and commit the fix", "fix build error", "fix mypy/pylint/type-check/lint errors", "auto-fix pipeline", "resolve pipeline failure". DO NOT USE FOR: pipeline analysis (instead use azsdk-common-pipeline-analysis), API design review, SDK publishing. INVOKES: azure-sdk-mcp:azsdk_package_build_code, azure-sdk-mcp:azsdk_package_run_check, azure-sdk-mcp:azsdk_package_run_tests, azure-sdk-mcp:azsdk_verify_setup.
---
name: azsdk-common-pipeline-fixer
license: MIT
metadata:
version: "1.0.0"
distribution: shared
description: 'Automatically fix Azure SDK CI/CD pipeline failures by applying code changes and verifying locally. USE FOR: "fix pipeline failure", "fix CI", "fix failing tests", "auto-fix and commit the fix", "fix build error", "fix mypy/pylint/type-check/lint errors", "auto-fix pipeline", "resolve pipeline failure". DO NOT USE FOR: pipeline analysis (instead use azsdk-common-pipeline-analysis), API design review, SDK publishing. INVOKES: azure-sdk-mcp:azsdk_package_build_code, azure-sdk-mcp:azsdk_package_run_check, azure-sdk-mcp:azsdk_package_run_tests, azure-sdk-mcp:azsdk_verify_setup.'
compatibility: "azure-sdk-mcp server, local azure-sdk-for-{language} clone, language build tools"
---
# Pipeline Fixer
This skill automatically fixes Azure SDK CI/CD pipeline failures. It analyzes the failure, identifies the root cause, applies code changes, and verifies the fix locally using build, check, and test tools before committing.
## Rules
- Requires the `azure-sdk-mcp` server and a local clone of the SDK language repo.
- Work on the PR branch — the failing code is there, not main.
- Analyze first, then apply the minimal code change for the root cause.
- Verify ONLY via the azsdk MCP package tools (build → check → tests); never raw shell build/test commands.
- Never fix infrastructure failures (timeouts, crashes, throttling) — recommend retry. Iterate up to 3 times, then report.
## MCP Tools
| Tool | Purpose |
| ---------------------------------------- | ------------------------------------- |
| `azure-sdk-mcp:azsdk_verify_setup` | Verify local environment is ready |
| `azure-sdk-mcp:azsdk_package_build_code` | Build the package locally |
| `azure-sdk-mcp:azsdk_package_run_check` | Run validation/lint/typecheck locally |
| `azure-sdk-mcp:azsdk_package_run_tests` | Run tests locally |
**Prerequisites:** azure-sdk-mcp server required. Local clone of the affected SDK language repo. Language build tools installed.
## Steps
1. **Find analysis** - Reuse an existing analysis from the PR comments; if none, view the `azsdk-common-pipeline-analysis` skill.
2. **Classify** - Fixable (test, type, lint, import, assertion errors) vs retry (infrastructure) vs escalate (breaking API, credentials).
3. **Locate** - Identify the affected package, its path, and the files/lines to change.
4. **Fix** - Read the failing code at the cited lines and apply the minimal fix.
5. **Verify** - Run `azsdk_package_build_code` → `azsdk_package_run_check` → `azsdk_package_run_tests` on the package; all must pass. If the environment isn't ready, run `azsdk_verify_setup`. Never substitute raw shell build/test commands.
6. **Iterate & commit** - On failure, revise and re-verify (max 3 attempts). Once all pass, commit with a descriptive message.
## Examples
- "Fix the pipeline failure for build 6447834"
- "My Python SDK CI is failing with a type error, fix it"
- "Auto-fix the failing tests in my PR"
## Troubleshooting
- If the verify tools fail because the environment isn't ready, run `azsdk_verify_setup`, report its error, and stop — don't fall back to raw shell build/test commands.
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
No one has posted yet. Be the first.

