
Skill
sdaf-orientation-and-surface
orient users to SDAF architecture
Description
Orient a newcomer to the SAP Deployment Automation Framework (SDAF): explain the spine (control plane → workload zone → SAP system → software → install → operate/remove), summarise the three execution surfaces (Local, Azure DevOps, GitHub Actions), and print the install command for the matching surface bootstrap plugin — as documented in this repository's `docs/PLUGINS.md` — so the operator can run it manually. Use when a user says "what is SDAF", "how is SDAF structured", "where do I start with SDAF", "which surface should I use", "SDAF Local vs ADO vs GitHub", "workstation vs Azure Pipelines vs GitHub workflows", "how do I install the SDAF ADO/GitHub plugin", or "I'm new to SDAF". Do NOT use for readiness pre-flight (see sdaf-readiness-check), workspace/tfvars layout (see sdaf-workspace-and-tfvars), or troubleshooting a failed run (see sdaf-failure-triage).
SKILL.md
SDAF Orientation and Surface Choice
Primer skill. Answers "what is SDAF and which execution surface should I use?" and hands off to the next action-loop skill. Grounded in the shipped docs; no inferred procedures.
When to invoke
Trigger on: "what is SDAF", "where do I start", "SDAF surface", "Local vs ADO vs GitHub", "SDAF plugin install command", "how do I install azure-sap-automation-devops", "which surface for SDAF".
Do NOT trigger on: pre-flight readiness checks, tfvars/WORKSPACES authoring, BOM selection, failed-run triage. Route to the sibling skill instead.
The spine (order is enforced)
Docs enforce this order for every surface:
- Control plane — deployer + SAP library, establishes remote Terraform
state (
docs/local/03-00-control-plane.md § Outcome,§ What the automation does). - Workload zone — landscape / networking / zone Key Vault; reads
control-plane state (
docs/local/04-00-workload-zone.md § Outcome). - SAP system — VMs + inventory; reads deployer + landscape state
(
docs/local/05-00-sap-system.md § Outcome). - Software download — needs the workload-zone Key Vault credentials
(
docs/local/06-00-software-and-installation.md § Download software). - Install — OS + DB + SAP via Ansible playbooks
(
docs/local/06-00-software-and-installation.md § Run configuration and installation). - Operate / recover / remove — reverse dependency order for removal
(
docs/local/07-00-operations.md § Remove resources).
Never let a stage run before the prior one completed
(docs/local/README.md § Complete the journey).
The three execution surfaces
Docs explicitly frame the surfaces as "capability differences, not a ranking":
there is no declared primary (docs/deployment-options.md § Select an execution model). They are not one-to-one equivalent.
| Surface | When it fits | Doc anchor |
|---|---|---|
| Local / scripted | You run deploy/scripts/* directly from a workstation, deployer, or automation host. No hosted stage generator. | docs/deployment-options.md § Local or scripted execution; docs/local/README.md § Run SDAF locally |
| Azure DevOps | Azure Repos/Pipelines, service connections, agent pools own the process. Wrapper pipelines exist but docs note ADO "does not currently provide verified one-to-one equivalents for all GitHub generation workflows". | docs/deployment-options.md § Azure DevOps |
| GitHub Actions | GitHub owns the config repo and approvals. Includes stage-generation workflows and deploy workflows. | docs/deployment-options.md § GitHub Actions |
See references/surface-decision.md for the
two-question decision walkthrough and the hand-off to the next skill.
What this skill does and does NOT do
Does: classify the request, explain the spine, help pick a surface, and print the install command for the matching bootstrap plugin — the operator runs it themselves.
Does NOT: install anything. Does not run a plan/apply. Does not fabricate "which surface is best" — the docs decline to rank them and this skill honours that.
Print the surface bootstrap install command
The canonical install commands for the hub and both surface plugins are
documented in docs/PLUGINS.md (this repo). Print
the block that matches the operator's chosen surface verbatim from that
file, and instruct the operator to run it themselves. Do not invent
alternatives, do not paraphrase, do not shorten.
The exact command shapes at the time this skill was authored (source:
docs/PLUGINS.md):
Azure DevOps — from docs/PLUGINS.md § Install: Azure DevOps surface plugin (azure-sap-automation-devops):
# GitHub Copilot CLI
copilot plugin marketplace add Azure/sap-automation-bootstrap
copilot plugin install azure-sap-automation-devops@sap-automation-bootstrap
# Claude Code
/plugin marketplace add Azure/sap-automation-bootstrap
/plugin install azure-sap-automation-devops@sap-automation-bootstrap
# Gemini CLI
gemini extensions install https://github.com/Azure/sap-automation-bootstrap
GitHub Actions — from docs/PLUGINS.md § Install: GitHub Actions surface plugin (azure-sap-automation-github):
# GitHub Copilot CLI
copilot plugin marketplace add Azure/sap-automation-gh-bootstrap
copilot plugin install azure-sap-automation-github@sap-automation-gh-bootstrap
# Claude Code
/plugin marketplace add Azure/sap-automation-gh-bootstrap
/plugin install azure-sap-automation-github@sap-automation-gh-bootstrap
# Gemini CLI
gemini extensions install https://github.com/Azure/sap-automation-gh-bootstrap
Local — no surface plugin is required. Hand off directly to
sdaf-readiness-check.
The Copilot install form is <plugin-name>@<marketplace-name> where the
marketplace name matches the repository slug (e.g.
sap-automation-bootstrap), not the plugin name. If docs/PLUGINS.md and
this skill body ever diverge, docs/PLUGINS.md is the source of truth —
update this skill in lockstep.
Hand-off
After the surface is chosen and the surface plugin (if any) is installed by
the operator, hand off to sdaf-readiness-check for pre-flight, then
sdaf-workspace-and-tfvars before any deploy skill.
See also
docs/PLUGINS.md— canonical install commands.sdaf-readiness-check,sdaf-workspace-and-tfvars,sdaf-control-plane-bootstrap.docs/local/README.md,docs/deployment-options.md.
More skills from the sap-automation repository
View all 18 skillssdaf-bom-selection
select SAP Bill of Materials
Sep 2AzureConfigurationSAPsdaf-control-plane-bootstrap
deploy SDAF control plane infrastructure
Sep 2AzureDeploymentInfrastructureSAPsdaf-failure-triage
triage failed SAP automation runs
Sep 2AzureDiagnosticsOperationsSAP +1sdaf-ha-diagnostics
diagnose SDAF high-availability cluster failures
Sep 2AzureDiagnosticsOperationsSAPsdaf-ha-topology
design high-availability SAP topologies
Sep 2ArchitectureAzureInfrastructureSAPsdaf-media-acquisition
acquire SAP installation media
Sep 2AzureOperationsSAP
More from Azure (Microsoft)
View publisherazure-arg-external-evaluation-policy-author
author and test Azure Resource Graph policies
azure-policy
Jul 12AzureComplianceGovernancePolicyazure-blueprints-migration
migrate Azure Blueprints to Template Specs
azure-blueprints
Aug 20AzureDeploymentInfrastructure as CodeMigrationsdaf-media-diagnostics
diagnose SDAF media and BOM processing
sap-automation
Sep 2AzureDiagnosticsSAPStoragesdaf-plan-and-test-semantics
manage SDAF plan and test semantics
sap-automation
Sep 2AutomationAzureAzure DevOpsCI/CD +1sdaf-quality-assurance
validate deployed SDAF SAP systems
sap-automation
Sep 2AutomationAzureQuality AssuranceSAP