Azure Pipelines Validation Assistant
Validate VS Code Azure DevOps pipeline changes without waiting for full CI feedback.
The script includes input validation, uses shell:false, cleans temporary files, and offers a cancel dry-run, reducing command-injection and path risks. However, it authenticates to Azure DevOps and can queue, cancel, publish, or trigger release builds; publishing defaults to true, while explicit per-action confirmation, permission scoping, sensitive-token handling, and complete rollback guidance are missing, so 12 points are deducted.
The document covers queueing, status checks, polling, cancellation, and troubleshooting, while the script provides validation and some error messages. However, several status-query failures are silently converted to empty results, documentation constraints conflict with examples such as CI Build/Product Build, and no skill-specific tests or reproducible static evidence are supplied; the static ceiling requires a deduction.
The intended scenario and primary commands are reasonably clear, with support for branches, parameters, status, logs, and artifacts. Non-fit boundaries, trigger semantics, output contracts, and Chinese-language guidance are not defined, and the core workflow depends on Azure CLI, Azure DevOps authentication, and services that may have mainland-China network reachability constraints, so 8 points are deducted.
The SKILL.md has clear sections for prerequisites, commands, options, workflows, parameter tables, and troubleshooting. Repository context supplies MIT licensing and Microsoft attribution, but the skill lacks versioning, changelog, explicit maintenance ownership, and an update path; documentation also conflicts with examples, so 8 points are deducted.
The skill covers the core tasks of queueing builds, checking status, downloading logs and artifacts, and cancelling builds with copyable commands. However, defaults can create significant external side effects, results depend on external Azure state, and there is no verified output, explicit success criterion, or comparison with alternatives; under static calibration this supports only a moderate score and requires an 8-point deduction.
The supplied files expose auditable commands, constants, validation logic, and Azure API calls, providing limited traceability. There are no committed tests covering the skill's key paths, real CI execution records, or cross-source corroboration, so the score is capped at 5 under static review.
- The queue workflow may enable publishing by default; verify VSCODE_PUBLISH, VSCODE_RELEASE, and all build parameters before execution.
- The parameter table conflicts with examples, especially for VSCODE_BUILD_TYPE, so example values should not be assumed valid.
- Status-query failures may appear as no builds or empty results; Azure CLI, authentication, and Azure DevOps network reachability are hard dependencies.
What it does & when to use it
This skill is for developers changing VS Code Azure DevOps pipeline YAML. It uses the repository’s Node.js script to queue builds, inspect and watch their status, download logs and artifacts, and cancel obsolete runs. Its purpose is to shorten the feedback loop compared with pushing changes and waiting for full CI. It targets the Monaco project’s pipeline definition 111 rather than serving as a general Azure Pipelines configuration generator.
Checks for Azure CLI and the Azure DevOps extension, then guides authentication and default organization/project configuration. Runs .github/skills/azure-pipelines/azure-pipeline.ts to queue a build for the current or a named branch, pass repeatable KEY=value parameters, or perform a dry run. Retrieves recent or specified build status, filters by branch, reason, or definition, watches until completion, and downloads selected logs or artifacts to /tmp. Cancels a running build by build ID.
- A developer changes YAML under `build/azure-pipelines/` and wants to queue a validation build before committing.
- A developer is iterating on pipeline changes and needs to cancel an obsolete build before starting a replacement.
- A developer needs to monitor a running build every 30 seconds or at a custom interval.
- A developer is investigating a build and needs its overview, a specific log, or a named artifact.
- A developer wants a quicker validation by disabling Web, publishing, release flow, or selected platform builds.
Pros & cons
- Covers the full validation loop: queueing, monitoring, log and artifact retrieval, and cancellation.
- Supports filtering by branch, definition, reason, and build ID, including raw JSON output.
- Build parameters can reduce the validation matrix for faster iteration.
- Dry-run support and configurable polling intervals help avoid unnecessary actions and API requests.
- It is specifically configured for the VS Code Monaco project and pipeline definition 111, not arbitrary Azure Pipelines projects.
- It requires Node.js, Azure CLI, the Azure DevOps extension, Git, network access, and suitable Azure DevOps permissions.
- The source provides no standalone installation method, automated test suite, or evidence for other Azure DevOps projects.
- Builds can still take time; the skill provides queueing and monitoring workflows but does not guarantee a successful build.
How to install
The skill is bundled with the 61 skills in the microsoft/vscode repository at .github/skills/azure-pipelines/SKILL.md. The source does not document a standalone installer or package; use it from that repository with its azure-pipeline.ts file present. Before running it, have Node.js, Azure CLI, and the Azure DevOps CLI extension available, then follow the documented setup with az login and az devops configure --defaults organization=https://dev.azure.com/monacotools project=Monaco.
How to use
From the repository root, run node .github/skills/azure-pipelines/azure-pipeline.ts queue. Use queue --branch my-feature-branch for a specific branch, add parameters such as --parameter "VSCODE_PUBLISH=false", or use --dry-run to print the command only. Find a build with node .github/skills/azure-pipelines/azure-pipeline.ts status, watch it with status --build-id 123456 --watch, or cancel it with cancel --build-id 123456. A suitable agent request is “Test my Azure Pipelines YAML changes, queue a build, and poll it until completion”; the source does not define a more specific trigger syntax.
Compared to similar skills
Compared with pushing a change and waiting for full CI feedback, this skill provides a faster manual workflow for queueing parameterized validation builds, polling their status, and cancelling obsolete runs. The source names no other specific competing tools, so no further comparison is made.