Microsoft FTE-only completion workflow for PowerToys UI-test implementation: automatically continue after successful local VM suites, commit and push scoped changes, queue CI, wait synchronously, and stabilize through Azure CLI and Azure DevOps REST APIs. No separate push/run-CI request is needed for create, migrate, or stabilize tasks unless the user limited scope. Also use for explicit UITests CI, setup preflight, 401/403 diagnosis, build reuse, recordings/artifacts, and the three-run limit. Keywords: FTE, az, Azure CLI, Azure DevOps, pipeline, UI Test Automation, UITests CI, commit, push, local-to-CI handoff, buildNow, specificBuildId, uiTestModules, CI flake.
Queue and stabilize the internal UI Test Automation Azure DevOps pipeline only after the target
UITest suite is proven locally. Use the existing Azure CLI sign-in plus Azure DevOps REST APIs for
discovery, preview, queueing, status, timelines, logs, tests, artifacts, and result attachments.
[!IMPORTANT] Microsoft FTE only. This workflow requires authorized access to the
microsoftAzure DevOps organization and theDartproject. External contributors stop after local validation and report CI as unavailable. Never store credentials, PATs, tokens, or internal artifact contents in the repository.
Invoke this skill automatically when an authorized Microsoft FTE's create, migrate, or stabilize UI tests task passes its full local VM matrix. That task includes scoped commit/push and CI validation; do not wait for an additional "run CI" request.
Also use it when an authorized Microsoft FTE asks to:
UI Test Automation pipeline.401/403 response.Do not use this skill for local execution. Complete ui-tests-local-vm first. Use ui-tests-migration for test implementation and stabilization.
The three skills form one delivery workflow, not three independently complete tasks. Local success means ready for publication and CI, not done. Follow references/agentic-loop.md to review the diff, commit only task-owned files, push a feature branch without force, and record the exact remote SHA before queueing. Never include unrelated work or secrets.
Honor explicit local-only/no-push/no-CI instructions. A status question, read-only investigation, VM setup, or local execution of an existing suite does not authorize publishing changes. External contributors or failed access/push preflights stop at the exact blocker; do not bypass sign-in, permissions, protected branches, or local gates. For an end-to-end task, keep CI pending until verified terminal success or a documented blocker/three-run escalation.
Ready=true with
every required check PASS. It performs reads and a non-mutating pipeline preview only. Re-run it
after account changes or any 401/403 response.Constrained profiles for Windows 10 and Windows 11, plus the applicable
architecture builds/guests required by ui-tests-local-vm.sourceVersion matches it. Creating and pushing that scoped commit is part of the
implementation workflow, not an optional user follow-up.UI Test Automation. Wait for
or cancel a relevant superseded run on the target branch; runs on other branches may continue in
parallel. Never cancel another branch's unrelated run.uiTestModules must be non-empty and contain the exact current UITest
project stem, for example [FancyZonesEditor.UITests.Next].task_complete while the waiter runs.| Setting | Value |
|---|---|
| Azure DevOps organization | microsoft |
| Project | Dart |
| Pipeline name | UI Test Automation |
| Current known definition ID | 161438 (discover by name each session; do not blindly hardcode) |
| Azure DevOps token resource | 499b84ac-1321-427f-aa17-267ca6975798 |
| Required setup check | scripts/Test-AzureDevOpsSetup.ps1 |
| Required completion waiter | scripts/Wait-AzureDevOpsBuild.ps1 |
| Platforms | arm64, x64 |
| Default booleans | enableMsBuildCaching=false, useVSPreview=false, useLatestWebView2=false |
Read and execute references/agentic-loop.md from top to bottom. It contains:
buildNow versus specificBuildId decision rules.A task is complete only when one of these is true:
Succeeded, all selected tests executed, and there are no failed, aborted,
timed-out, error, or not-executed results.4326404
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.