Prepare Azure apps for deployment (infra Bicep/Terraform, azure.yaml, Dockerfiles). Use for create/modernize or create+deploy; not cross-cloud migration (use azure-cloud-migrate). WHEN: "create app", "build web app", "create API", "create serverless HTTP API", "create frontend", "create back end", "build a service", "modernize application", "update application", "add authentication", "add caching", "host on Azure", "create and deploy", "deploy to Azure", "deploy to Azure using Terraform", "deploy to Azure App Service", "deploy to Azure App Service using Terraform", "deploy to Azure Container Apps", "deploy to Azure Container Apps using Terraform", "generate Terraform", "generate Bicep", "function app", "timer trigger", "service bus trigger", "event-driven function", "containerized Node.js app", "social media app", "static portfolio website", "todo list with frontend and API", "prepare my Azure application to use Key Vault", "managed identity".
79
73%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugin/skills/azure-prepare/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that excels across all dimensions. It provides specific capabilities, an extensive list of natural trigger terms, clear what/when guidance, and explicit boundary-setting with the cross-cloud migration exclusion. The only minor concern is that the sheer volume of trigger terms could be slightly overwhelming, but each term is relevant and natural.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: prepare Azure apps for deployment, infrastructure via Bicep/Terraform, azure.yaml, Dockerfiles, create/modernize apps. Also explicitly excludes cross-cloud migration, which adds clarity. | 3 / 3 |
Completeness | Clearly answers both 'what' (prepare Azure apps for deployment with infra Bicep/Terraform, azure.yaml, Dockerfiles) and 'when' (explicit WHEN clause with extensive trigger phrases). Also specifies when NOT to use it (cross-cloud migration), adding further completeness. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural trigger terms users would say, including 'create app', 'build web app', 'deploy to Azure', 'generate Terraform', 'generate Bicep', 'function app', 'containerized Node.js app', 'static portfolio website', 'todo list with frontend and API', and many more variations. | 3 / 3 |
Distinctiveness Conflict Risk | Clearly scoped to Azure app creation/modernization and deployment preparation, explicitly distinguishing itself from the azure-cloud-migrate skill. The Azure-specific triggers and exclusion clause make it unlikely to conflict with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
47%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill has excellent workflow clarity with well-defined phases, blocking gates, and validation checkpoints, making the multi-step Azure deployment preparation process unambiguous. However, it suffers significantly from extreme verbosity — critical instructions are repeated 3-5 times each, and the document is padded with redundant warnings that waste tokens. Actionability is moderate since all concrete implementation details are deferred to reference files with no inline examples.
Suggestions
Consolidate repeated instructions: the plan-first requirement, the azure-validate hand-off mandate, and the file naming requirement are each stated 3+ times. State each once in a definitive location and remove duplicates to cut token usage by ~30-40%.
Add a concrete example of what `.azure/deployment-plan.md` skeleton content looks like (even a 10-line sample) so the skill is actionable without requiring the plan-template.md reference.
Remove explanatory text like 'Skipping validation leads to deployment failures. Be patient and follow the complete workflow for the highest success outcome.' — Claude doesn't need motivational coaching, just clear instructions.
Add at least one minimal executable example (e.g., a sample Bicep snippet or azure.yaml) to make the skill self-contained for simple cases without requiring all reference files.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose and repetitive. The same instructions are stated multiple times — the plan-first requirement is repeated at least 4-5 times with nearly identical wording (Rules #1, the PLAN-FIRST WORKFLOW box, Phase 1 intro, Phase 1 Step 6). The mandatory hand-off to azure-validate is repeated 3+ times. The file is heavily padded with warnings, bold text, and ⛔/❌ markers that add visual noise without new information. Much of this content (e.g., explaining that skipping steps causes failures) could be stated once. | 1 / 3 |
Actionability | The skill provides a structured workflow with specific file paths, tool references, and clear step sequences, which is good. However, it contains no executable code examples, no concrete Bicep/Terraform snippets, and no sample deployment-plan.md content. Nearly all concrete guidance is deferred to reference files (analyze.md, requirements.md, etc.) which are not provided. The skill itself is more of a routing/orchestration document than an actionable guide. | 2 / 3 |
Workflow Clarity | The multi-phase workflow is clearly sequenced with explicit blocking points (STOP before Phase 2), mandatory validation checkpoints (validate before deploy, update plan status before hand-off), feedback loops (specialized routing checks), and a clear linear progression. Destructive action safeguards and error prevention are well-defined. The Phase 1 → approval gate → Phase 2 → validate → deploy chain is unambiguous. | 3 / 3 |
Progressive Disclosure | The skill references many external files (references/analyze.md, references/requirements.md, references/architecture.md, etc.) which is good progressive disclosure structure. However, no bundle files were provided, so we cannot verify these references exist. The main file itself is quite long (~180+ lines) and contains significant repetition that could be consolidated. The SDK Quick References section and routing tables are well-organized, but the repeated mandatory warnings bloat the top-level document. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
771a666
Table of Contents
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.