Help us improve
Share bugs, ideas, or general feedback.
From azure-devops
This skill should be used when the user asks to "create a pipeline", "write pipeline YAML", "add a stage", "add a job", "add steps", "create a template", "debug a pipeline", "audit a pipeline", "manage variables", "configure triggers", "set up deployment", or any request involving writing, modifying, or understanding Azure DevOps pipeline YAML. Load this skill before generating or editing any Azure DevOps pipeline configuration.
npx claudepluginhub caleb-terry/caleb-plugins --plugin azure-devopsHow this skill is triggered — by the user, by Claude, or both
Slash command
/azure-devops:pipeline-authoringThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Always load the detailed references when performing pipeline authoring tasks:
Generates Azure DevOps pipeline YAML for CI/CD, including multi-stage workflows, Docker builds, Kubernetes deploys, language-specific setups, and reusable templates.
Provides Azure DevOps YAML pipeline best practices on multi-stage structures, triggers, scheduling, variables, caching, templates, and security for efficient CI/CD.
Designing composable Azure DevOps YAML pipelines. Templates, variable groups, multi-stage, triggers.
Share bugs, ideas, or general feedback.
Always load the detailed references when performing pipeline authoring tasks:
references/yaml-schema.md — complete YAML pipeline schema (Pipeline → Stages → Jobs → Steps)references/expressions-conditions.md — expression syntax, functions, and condition patternsreferences/variables-parameters.md — variable types, scopes, parameters, and syntaxreferences/triggers.md — CI, PR, scheduled, and pipeline triggersreferences/templates.md — template types, parameter syntax, and extends patternreferences/tasks-reference.md — common built-in task reference and usagereferences/deployment-strategies.md — deployment jobs, environments, and strategiesPipeline (azure-pipelines.yml)
├── trigger / pr / schedules
├── variables
├── parameters
├── resources
├── stages
│ ├── stage
│ │ ├── variables
│ │ ├── jobs
│ │ │ ├── job (or deployment)
│ │ │ │ ├── pool
│ │ │ │ ├── variables
│ │ │ │ ├── steps
│ │ │ │ │ ├── script / bash / powershell / pwsh
│ │ │ │ │ ├── task
│ │ │ │ │ ├── checkout
│ │ │ │ │ ├── download
│ │ │ │ │ └── publish
| Syntax | Expansion | Use Case |
|---|---|---|
${{ }} | Compile time (template) | Template parameters, conditional insertion |
$() | Runtime (macro) | Task inputs, script variables |
$[ ] | Runtime (expression) | Conditions evaluated at runtime |
displayName: on stages, jobs, and stepsTaskName@Version (e.g., DotNetCoreCLI@2)${{ variables.secret }} — it expands secrets into logs$(Build.ArtifactStagingDirectory) for artifact pathscondition: to control flow — default is succeeded()deployment job type with environment: and strategy:${{ }} cannot reference runtime variables| Image | OS | Use Case |
|---|---|---|
ubuntu-latest | Ubuntu 22.04 | Default for most workloads |
ubuntu-24.04 | Ubuntu 24.04 | Latest Ubuntu LTS |
windows-latest | Windows Server 2022 | .NET Framework, Windows builds |
macos-latest | macOS 14 (Sonnet) | iOS/macOS builds |
| Variable | Description |
|---|---|
$(Build.SourcesDirectory) | Root of the checked-out source |
$(Build.ArtifactStagingDirectory) | Staging directory for artifacts |
$(Build.BuildId) | Unique ID for the build |
$(Build.BuildNumber) | Build number (configurable format) |
$(Build.SourceBranch) | Full branch ref (e.g., refs/heads/main) |
$(Build.SourceBranchName) | Short branch name (e.g., main) |
$(Build.Repository.Name) | Repository name |
$(System.DefaultWorkingDirectory) | Default working directory |
$(Pipeline.Workspace) | Root workspace for the pipeline |
$(Agent.TempDirectory) | Temp directory on the agent |