CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-prepare

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Failed to scan

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

73%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong orchestration skill body: crisp phased workflow with explicit approval and validation gates, concrete file/tool specifics, and well-signaled references to a large, verified bundle. Its main weaknesses are token-inefficient repetition of the plan-file mandate (stated ~5 times in slightly varying forms) and a deeply nested reference chain that requires several hops to reach executable templates.

Suggestions

Consolidate the plan-file mandate: state it once in the PLAN-FIRST WORKFLOW section and have Rule 1, Phase 1 Step 6, Phase 2 Step 6, and the Next section reference it in one short phrase instead of restating full warning blocks — this would cut ~30-40 lines.

Add one inline example (or a minimal skeleton snippet) of '.azure/deployment-plan.md' content or link placement for Phase 2 Step 2's 'check the resource provisioning limit' so steps are actionable without opening references.

Flatten discovery of service templates: surface the services/<svc>/README.md → templates/selection.md → recipes chain in a single top-level index or routing table so readers can reach recipe files in fewer hops.

DimensionReasoningScore

Conciseness

The routing tables and reference maps are lean, but the plan-file mandate is restated at least five times (Rule 1, the entire PLAN-FIRST WORKFLOW callout, Phase 1 Step 6, Phase 2 Step 6, and the Next section) with repeated ⛔/❌ warning blocks — 'You MUST create this file — do not proceed without it' appears in nearly identical wording multiple times. Mostly efficient but could be tightened by consolidating to one authoritative statement plus brief step cross-references; not 2 because there is no padding that explains concepts Claude already knows.

3 / 5

Actionability

Highly concrete for an orchestration skill: exact artifact path '.azure/deployment-plan.md', exact status string 'Ready for Validation', exact tool instruction ('use the edit tool'), and specific prohibitions with alternatives ('NEVER generate administratorLogin... Always use Entra-only authentication (azureADOnlyAuthentication: true)', 'do NOT run azd init -t in an existing workspace'). Not 5 because several steps defer execution detail wholly to references (e.g., 'check the resource provisioning limit', 'Research Components') without any inline specifics.

4 / 5

Workflow Clarity

The multi-phase workflow is clearly sequenced with explicit validation checkpoints: a blocking Phase 1 gate ('STOP HERE — Do NOT proceed to Phase 2 until the user approves the plan'), a mandatory status-update prerequisite before hand-off, the enforced chain 'azure-prepare → azure-validate → azure-deploy', and ask_user gates for destructive actions. Numbered step tables with per-step references give an explicit checklist — matches the 5 anchor.

5 / 5

Progressive Disclosure

The body is a well-organized overview (~155 lines) whose direct links (verified to exist on disk) are clearly signaled via per-step reference tables (Phase 1/Phase 2 'Reference' columns, SDK Quick References). However, the bundle's reference chain runs 3+ levels deep (SKILL.md → services/<svc>/README.md → templates/selection.md → recipes/<recipe>/README.md → eval/*.md), so navigation to actual templates requires multiple hops — good structure with minor organization gaps, the 4 anchor rather than the 5 anchor's 'one-level-deep references'.

4 / 5

Total

16

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary skill description: it states concrete capabilities with named artifacts, provides an explicit dual trigger structure (USE ONLY + WHEN with ~13 natural phrases), and actively disambiguates against sibling skills with a DO NOT USE FOR clause. Voice is third-person imperative throughout, consistent with the rubric's guidelines.

DimensionReasoningScore

Specificity

Names multiple concrete artifacts and actions — 'generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow' — comprehensively covering the azd preparation scope (project config, IaC, containerization). This matches the 5 anchor ('multiple specific concrete actions; comprehensive coverage'); it is not 4 because no material azd-prep capability is missing.

5 / 5

Completeness

Explicitly answers both questions: what ('Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles') and when ('USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file' plus a concrete WHEN trigger list). Clear 'what' AND explicit 'when' with concrete trigger phrases — the 5 anchor.

5 / 5

Trigger Term Quality

The WHEN clause lists ~13 natural phrases users would actually say — 'prepare app for azd, create azure.yaml, set up azd infrastructure, ... function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure' — including synonyms and the azure.yaml file name. Matches the 5 anchor for comprehensive natural-term coverage.

5 / 5

Distinctiveness Conflict Risk

Clear niche (azd-based Azure preparation) with explicit negative boundaries naming sibling skills: 'DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate)'. The USE ONLY/DO NOT USE FOR clauses actively disambiguate the broad WHEN terms ('function app', 'create and deploy to Azure'), keeping conflict risk minimal — the 5 anchor.

5 / 5

Total

20

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 14 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 15 deeper-than-1-level

Warning

Total

14

/

16

Passed

Repository

microsoft/azure-skills

Path

.github/plugins/azure-skills/skills/azure-prepare/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.