.agent/skills/dotnet-ado-patterns/SKILL.md
Composes Azure DevOps YAML pipelines. Templates, variable groups, multi-stage, triggers.
npx skillsauth add rudironsoni/dotnet-harness-plugin dotnet-ado-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Composable Azure DevOps YAML pipeline patterns for .NET projects: template references with extends, stages, jobs,
and steps keywords for hierarchical pipeline composition, variable groups and variable templates for centralized
configuration, pipeline decorators for organization-wide policy injection, conditional insertion with ${{ if }} and
${{ each }} expressions, multi-stage pipelines (build, test, deploy), and pipeline triggers for CI, PR, and scheduled
runs.
Version assumptions: Azure Pipelines YAML schema. DotNetCoreCLI@2 task for .NET 8/9/10 builds. Template
expressions syntax v2.
Cross-references: [skill:dotnet-add-ci] for starter templates that these patterns extend, [skill:dotnet-cli-release-pipeline] for CLI-specific release automation.
For detailed YAML examples (stage/job/step templates, extends, variable groups, conditional insertion, multi-stage
pipelines, triggers), see examples.md in this skill directory.
type: boolean is expected
causes a validation error before the pipeline runs; always match types exactly.extends templates cannot be overridden -- callers cannot inject steps before or after the mandatory stages;
this is by design for policy enforcement.${{ variables.mySecret }} resolves at
compile time when secrets are not yet available; use $(mySecret) runtime syntax instead.${{ each }} iterates at compile time -- the loop generates YAML before the pipeline runs; runtime variables
cannot be used as the iteration source.trigger: none and pr: none -- omitting both trigger and pr
sections enables default CI triggering on all branches; explicitly set trigger: none to disable./ or ./; use src/**
not ./src/**.branches.include filter applies after the
schedule fires; the schedule itself is only evaluated from the default branch YAML.azure-pipelines.yml file path.tools
Rulesync CLI tool documentation - unified AI rule file management for various AI coding tools
tools
Authors xUnit v3 tests -- Facts, Theories, fixtures, parallelism, IAsyncLifetime.
documentation
Writes XML doc comments. Tags, inheritdoc, GenerateDocumentationFile, warning suppression.
tools
Builds WPF on .NET 8+. Host builder, MVVM Toolkit, Fluent theme, performance, modern C# patterns.