agentsclimarketplace

Prepare

Skill microsoft/skills/.github/plugins/azure-skills/skills/azure-app-onboard/prepare

Skills, MCP servers, Custom Agents, Agents.md for SDKs to ground Coding AgentsFrom the repository description

Install
npx -y skills add microsoft/skills --skill prepare

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

6.2 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

Prepare — Architecture Planning & Cost Estimation

Quick Reference

PropertyValue
Best forMapping app components to Azure services with cost estimation and quota validation
Inputsprereq-output.json + context.json from .copilot-azure/sessions/{id}/
Outputsprepare-plan.json written to session directory
Parentazure-app-onboard

When to Use This Skill

Invoked by the azure-app-onboard orchestrator at Phase 2 when prereq-output.json exists. Not directly user-routable.

Return to orchestrator: When complete, return control to azure-app-onboard. Do NOT directly invoke scaffold or deploy.

When NOT to Use

ScenarioUse Instead
Code readiness or prereq scanningazure-app-onboard Step 3 (prereq)
IaC generation from a completed planazure-app-onboard Step 7 (scaffold)
Deploying resources to Azureazure-app-onboard Step 9 (deploy)
Optimizing existing Azure spendazure-cost
Estimating VM-specific costsazure-compute
Enterprise landing zone architectureazure-enterprise-infra-planner

MCP Tools

ToolPurpose
mcp_azure_mcp_pricing / azure-pricing (router → command: pricing_get)Cost estimation (inline — see Step 6). Fallback: dispatch subagent-pricing.md
mcp_azure_mcp_policySubscription policy constraints
az restQuota validation (via sub-agent — see Step 5)
mcp_azure_mcp_cloudarchitectcloudarchitect_designWAF-aligned architecture design
mcp_azure_mcp_wellarchitectedframeworkPer-service WAF guidance
mcp_azure_mcp_advisoradvisor_recommendation_listOptimization recommendations

Workflow

#StepActionReference
1Read session stateLoad prereq-output.json + context.json. Resolve subscriptionCross-ref subscription-resolution.md if needed
2Query policy constraintsInline MCP: fetch policy + advisor recommendationsmcp_azure_mcp_policy + mcp_azure_mcp_advisor
3Map components to servicesPer-component Azure service selection, Dockerfile routing, deploy-as-isYou MUST read service-mapping.md and deploy-strategy.md
4Select SKUs + WAF analysisBudget-aware SKU selection, inline WAF service guidanceYou MUST read sku-matrix.md
5Validate quotas + region capacity⛔ Read subagent-quota.md → dispatch as task (NEXT action MUST be task, ⛔ agent_type: "task" — NEVER "general-purpose"). Copy the COMPLETE and UNMODIFIED template text into the task prompt between <<<TEMPLATE_START>>> / <<<TEMPLATE_END>>> delimiters — do NOT summarize. Append the caller-provided inputs listed in subagent-quota.md's Input table AFTER the template block. ⛔ After dispatching, proceed to Step 6 (cost estimation) while the subagent runs. Do NOT run quota checks yourself — the subagent handles it. Collect subagent results before Step 9 (write plan).You MUST read subagent-quota.md
6Estimate costsYou MUST read pricing-guide.md for methodology, then pricing-guide-services.md for per-service filters. Call the pricing router (mcp_azure_mcp_pricing/azure-pricing) with command: "pricing_get" + a parameters{} object inline per paid service. If MCP unavailable or fails → ⛔ Read subagent-pricing.md → dispatch as task (NEXT action MUST be task, ⛔ agent_type: "task" — NEVER "general-purpose"). Copy the COMPLETE and UNMODIFIED template text into the task prompt between <<<TEMPLATE_START>>> / <<<TEMPLATE_END>>> delimiters — do NOT summarize. Append data (services[], region, budget tier) AFTER the template block. Write results to prepare-plan.json.costEstimate.pricing-guide.md
7Generate namingCentralized naming: suffix, prefix, all resource namesYou MUST read naming-patterns.md
8Determine IaC formatExisting non-Azure .tfask_user Bicep vs TF, write to overrides[].iacFormat. No .tf → default Bicep.(inline)
9Write prepare-plan.jsonPer PreparePlan schema. Include postDeployRecommendations, deploymentVariablesYou MUST read prepare-schemas.ts for PreparePlan schema
10Return summaryStructured summary for orchestrator approval gate(inline — 1 line)
11Validate plan4-dimension check: Goal Alignment, WAF Alignment, Dependency Completeness, Deployment Viability. Fix inline on failure, document tradeoffs in assumptions[].All must pass before writing

Step 5 — Post-Quota Validation

NEVER present a region without checking quota first. Skipping quota validation causes cascading deploy failures and extended healing loops. ⛔ If plan includes PostgreSQL/MySQL, verify offerRestrictionsVerified: true — if false/missing, region is blocked. Do NOT proceed to scaffold with unchecked DB services. ⛔ Free ≠ unlimited. Every compute SKU — including F1, Consumption, and Serverless tiers — has a per-subscription, per-region quota. Do NOT skip quota checks because a SKU is free. ⛔ After region fallback, update ALL services[].region in prepare-plan.json. Do not leave stale values.

Error Handling

ErrorRemediation
Pricing API 400Verify --sku included. Free tiers: skip API
MCP pricing unavailableDispatch subagent-pricing.md as task fallback (uses direct HTTP to prices.azure.com)
Prereq output missingTrigger prereq backfill
Quota check failsFall back to best-effort estimate + disclaimer
Override conflictsRe-run from Step 3 with new constraints

What ships with it: 12 files

64.9 KB alongside SKILL.md, 1 of them executable

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.