Skip to content

Commit b543cb8

Browse files
jongioCopilot
andcommitted
Trim PR #1092 to AVM-focused changes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 4f3f630 commit b543cb8

File tree

5 files changed

+215
-167
lines changed

5 files changed

+215
-167
lines changed

plugin/skills/azure-deploy/SKILL.md

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: azure-deploy
3-
description: "Deploy validated applications to Azure via azd, Bicep, or Terraform execution steps. WHEN: \"run azd up\", \"run azd deploy\", \"deploy to Azure\", \"bicep deploy\", \"terraform apply\", \"publish to Azure\", \"go live\"."
3+
description: "Deploy already-prepared applications to Azure by running azd up, azd deploy, or infrastructure provisioning commands. Supports Bicep and Terraform projects. WHEN: \"run azd up\", \"run azd deploy\", \"execute deployment\", \"provision infrastructure\", \"push to production\", \"push to cloud\", \"go live\", \"ship it\", \"bicep deploy\", \"terraform apply\", \"publish to Azure\", \"launch on Azure\"."
44
---
55

66
# Azure Deploy
@@ -9,7 +9,7 @@ description: "Deploy validated applications to Azure via azd, Bicep, or Terrafor
99
>
1010
> **PREREQUISITE**: The **azure-validate** skill **MUST** be invoked and completed with status `Validated` BEFORE executing this skill.
1111
12-
> **⚠️ STOP — PREREQUISITE CHECK REQUIRED**
12+
> ** STOP — PREREQUISITE CHECK REQUIRED**
1313
> Before proceeding, verify BOTH prerequisites are met:
1414
>
1515
> 1. **azure-prepare** was invoked and completed → `.azure/plan.md` exists
@@ -19,7 +19,7 @@ description: "Deploy validated applications to Azure via azd, Bicep, or Terrafor
1919
> - No plan? → Invoke **azure-prepare** skill first
2020
> - Status not `Validated`? → Invoke **azure-validate** skill first
2121
>
22-
> **⚠️ DO NOT MANUALLY UPDATE THE PLAN STATUS**
22+
> ** DO NOT MANUALLY UPDATE THE PLAN STATUS**
2323
>
2424
> You are **FORBIDDEN** from changing the plan status to `Validated` yourself. Only the **azure-validate** skill is authorized to set this status after running actual validation checks. If you update the status without running validation, deployments will fail.
2525
>
@@ -35,7 +35,7 @@ Activate this skill when user wants to:
3535
- Push updates to existing deployment
3636
- Run `azd up` or `az deployment`
3737
- Ship code to production
38-
- Deploy Azure serverless apps to the cloud
38+
- Deploy Azure Functions to the cloud
3939
- Deploy an application that already includes API Management (APIM) gateway infrastructure
4040

4141
> **APIM / AI Gateway**: Use this skill to deploy applications whose APIM/AI gateway infrastructure was already created during **azure-prepare**. For creating or changing APIM resources, see [APIM deployment guide](https://learn.microsoft.com/azure/api-management/get-started-create-service-instance). For AI governance policies, invoke **azure-aigateway** skill.
@@ -45,7 +45,7 @@ Activate this skill when user wants to:
4545
1. Run after azure-prepare and azure-validate
4646
2. `.azure/plan.md` must exist with status `Validated`
4747
3. **Pre-deploy checklist required**[Pre-Deploy Checklist](references/pre-deploy-checklist.md)
48-
4. ⚠️ **Destructive actions require `ask_user`**[global-rules](references/global-rules.md)
48+
4. **Destructive actions require `ask_user`**[global-rules](references/global-rules.md)
4949

5050
---
5151

@@ -57,11 +57,10 @@ Activate this skill when user wants to:
5757
| 2 | **Pre-Deploy Checklist** — MUST complete ALL steps | [Pre-Deploy Checklist](references/pre-deploy-checklist.md) |
5858
| 3 | **Load Recipe** — Based on `recipe.type` in `.azure/plan.md` | [recipes/README.md](references/recipes/README.md) |
5959
| 4 | **Execute Deploy** — Follow recipe steps | Recipe README |
60-
| 5 | **Post-Deploy** — Configure SQL managed identity and apply EF migrations if applicable | [Post-Deployment](references/recipes/azd/post-deployment.md) |
61-
| 6 | **Handle Errors** — See recipe's `errors.md` ||
62-
| 7 | **Verify Success** — Confirm deployment completed and endpoints are accessible | [Verify](references/recipes/azd/verify.md) |
60+
| 5 | **Handle Errors** — See recipe's `errors.md` ||
61+
| 6 | **Verify Success** — Confirm deployment completed and endpoints are accessible ||
6362

64-
> **⚠️ VALIDATION PROOF CHECK**
63+
> ** VALIDATION PROOF CHECK**
6564
>
6665
> When checking the plan, verify the **Validation Proof** section (Section 7) contains actual validation results with commands run and timestamps. If this section is empty, validation was bypassed — invoke **azure-validate** skill first.
6766
@@ -80,5 +79,4 @@ Activate this skill when user wants to:
8079

8180
## References
8281

83-
- [Troubleshooting](references/troubleshooting.md) - Common issues and solutions
84-
- [Post-Deployment Steps](references/recipes/azd/post-deployment.md) - SQL + EF Core setup
82+
- [Troubleshooting](references/troubleshooting.md) - Common issues and solutions

plugin/skills/azure-prepare/SKILL.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: azure-prepare
3-
description: "Prepare applications for Azure deployment, except cross-cloud scenarios (use azure-cloud-migrate). Generates or updates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles. WHEN: \"prepare app for Azure\", \"build web app and host on Azure\", \"move on-premises application to Azure\", \"configure Azure hosting\", \"create Azure app\", \"add Azure service\", \"modernize app for Azure\", \"generate azure.yaml\", \"generate Bicep\", \"generate Terraform\", \"create Azure Functions app\"."
3+
description: "Default entry point for Azure application development EXCEPT cross-cloud migration — use azure-cloud-migrate instead. Analyzes your project and prepares it for Azure deployment by generating infrastructure code (Bicep/Terraform), azure.yaml, and Dockerfiles. WHEN: \"create an app\", \"build a web app\", \"create API\", \"create frontend\", \"create backend\", \"add a feature\", \"build a service\", \"develop a project\", \"modernize my code\", \"update my application\", \"add database\", \"add authentication\", \"add caching\", \"deploy to Azure\", \"host on Azure\", \"Azure with terraform\", \"Azure with azd\", \"generate azure.yaml\", \"generate Bicep\", \"generate Terraform\", \"create Azure Functions app\", \"create serverless HTTP API\", \"create function app\", \"create event-driven function\", \"create and deploy to Azure\", \"create Azure Functions and deploy\", \"create function app and deploy\"."
44
---
55

66
# Azure Prepare
@@ -29,11 +29,11 @@ Activate this skill when user wants to:
2929
4. **Update plan progressively** — Mark steps complete as you go
3030
5. **Validate before deploy** — Invoke azure-validate before azure-deploy
3131
6. **Confirm Azure context** — Use `ask_user` for subscription and location per [Azure Context](references/azure-context.md)
32-
7. ⚠️ **Destructive actions require `ask_user`**[Global Rules](references/global-rules.md)
32+
7. **Destructive actions require `ask_user`**[Global Rules](references/global-rules.md)
3333

3434
---
3535

36-
## ⚠️ PLAN-FIRST WORKFLOW — MANDATORY
36+
## PLAN-FIRST WORKFLOW — MANDATORY
3737

3838
> **YOU MUST CREATE A PLAN BEFORE DOING ANY WORK**
3939
>
@@ -46,7 +46,7 @@ Activate this skill when user wants to:
4646
4747
---
4848

49-
## ⚠️ STEP 0: Specialized Technology Check — MANDATORY FIRST ACTION
49+
## STEP 0: Specialized Technology Check — MANDATORY FIRST ACTION
5050

5151
**BEFORE starting Phase 1**, check if the user's prompt mentions a specialized technology that has a dedicated skill with tested templates. If matched, **invoke that skill FIRST** — then resume azure-prepare for validation and deployment.
5252

@@ -69,7 +69,7 @@ Create `.azure/plan.md` by completing these steps. Do NOT generate any artifacts
6969

7070
| # | Action | Reference |
7171
|---|--------|-----------|
72-
| 0 | **⚠️ Check Prompt for Specialized Tech** — If user mentions copilot SDK, Azure Functions, etc., invoke that skill first | [specialized-routing.md](references/specialized-routing.md) |
72+
| 0 | ** Check Prompt for Specialized Tech** — If user mentions copilot SDK, Azure Functions, etc., invoke that skill first | [specialized-routing.md](references/specialized-routing.md) |
7373
| 1 | **Analyze Workspace** — Determine mode: NEW, MODIFY, or MODERNIZE | [analyze.md](references/analyze.md) |
7474
| 2 | **Gather Requirements** — Classification, scale, budget | [requirements.md](references/requirements.md) |
7575
| 3 | **Scan Codebase** — Identify components, technologies, dependencies | [scan.md](references/scan.md) |
@@ -81,7 +81,7 @@ Create `.azure/plan.md` by completing these steps. Do NOT generate any artifacts
8181

8282
---
8383

84-
> **⚠️ STOP HERE** — Do NOT proceed to Phase 2 until the user approves the plan.
84+
> ** STOP HERE** — Do NOT proceed to Phase 2 until the user approves the plan.
8585
8686
---
8787

tests/azure-deploy/__snapshots__/triggers.test.ts.snap

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,35 @@
22

33
exports[`azure-deploy - Trigger Tests Trigger Keywords Snapshot skill description triggers match snapshot 1`] = `
44
{
5-
"description": "Deploy validated applications to Azure via azd, Bicep, or Terraform execution steps. WHEN: "run azd up", "run azd deploy", "deploy to Azure", "bicep deploy", "terraform apply", "publish to Azure", "go live".",
5+
"description": "Deploy already-prepared applications to Azure by running azd up, azd deploy, or infrastructure provisioning commands. Supports Bicep and Terraform projects. WHEN: "run azd up", "run azd deploy", "execute deployment", "provision infrastructure", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure".",
66
"extractedKeywords": [
7+
"already-prepared",
78
"applications",
89
"apply",
910
"azure",
1011
"bicep",
1112
"cli",
13+
"cloud",
14+
"commands",
1215
"deploy",
13-
"execution",
16+
"deployment",
17+
"execute",
18+
"function",
1419
"identity",
20+
"infrastructure",
21+
"launch",
1522
"live",
1623
"mcp",
24+
"production",
25+
"projects",
26+
"provision",
27+
"provisioning",
1728
"publish",
18-
"sql",
19-
"steps",
29+
"push",
30+
"running",
31+
"ship",
32+
"supports",
2033
"terraform",
21-
"validated",
2234
"validation",
2335
"when",
2436
],
@@ -28,21 +40,33 @@ exports[`azure-deploy - Trigger Tests Trigger Keywords Snapshot skill descriptio
2840

2941
exports[`azure-deploy - Trigger Tests Trigger Keywords Snapshot skill keywords match snapshot 1`] = `
3042
[
43+
"already-prepared",
3144
"applications",
3245
"apply",
3346
"azure",
3447
"bicep",
3548
"cli",
49+
"cloud",
50+
"commands",
3651
"deploy",
37-
"execution",
52+
"deployment",
53+
"execute",
54+
"function",
3855
"identity",
56+
"infrastructure",
57+
"launch",
3958
"live",
4059
"mcp",
60+
"production",
61+
"projects",
62+
"provision",
63+
"provisioning",
4164
"publish",
42-
"sql",
43-
"steps",
65+
"push",
66+
"running",
67+
"ship",
68+
"supports",
4469
"terraform",
45-
"validated",
4670
"validation",
4771
"when",
4872
]

tests/azure-prepare/__snapshots__/triggers.test.ts.snap

Lines changed: 49 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,82 +2,114 @@
22

33
exports[`azure-prepare - Trigger Tests Trigger Keywords Snapshot skill description triggers match snapshot 1`] = `
44
{
5-
"description": "Prepare applications for Azure deployment, except cross-cloud scenarios (use azure-cloud-migrate). Generates or updates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles. WHEN: "prepare app for Azure", "build web app and host on Azure", "move on-premises application to Azure", "configure Azure hosting", "create Azure app", "add Azure service", "modernize app for Azure", "generate azure.yaml", "generate Bicep", "generate Terraform", "create Azure Functions app".",
5+
"description": "Default entry point for Azure application development EXCEPT cross-cloud migration — use azure-cloud-migrate instead. Analyzes your project and prepares it for Azure deployment by generating infrastructure code (Bicep/Terraform), azure.yaml, and Dockerfiles. WHEN: "create an app", "build a web app", "create API", "create frontend", "create backend", "add a feature", "build a service", "develop a project", "modernize my code", "update my application", "add database", "add authentication", "add caching", "deploy to Azure", "host on Azure", "Azure with terraform", "Azure with azd", "generate azure.yaml", "generate Bicep", "generate Terraform", "create Azure Functions app", "create serverless HTTP API", "create function app", "create event-driven function", "create and deploy to Azure", "create Azure Functions and deploy", "create function app and deploy".",
66
"extractedKeywords": [
7+
"analyzes",
78
"application",
8-
"applications",
9+
"authentication",
910
"azure",
1011
"azure-cloud-migrate",
12+
"backend",
1113
"bicep",
1214
"build",
15+
"caching",
1316
"cli",
14-
"configure",
17+
"code",
1518
"create",
1619
"cross-cloud",
20+
"database",
21+
"default",
1722
"deploy",
1823
"deployment",
24+
"develop",
25+
"development",
1926
"dockerfiles",
27+
"entry",
28+
"event-driven",
2029
"except",
30+
"feature",
31+
"frontend",
2132
"function",
2233
"functions",
2334
"generate",
24-
"generates",
35+
"generating",
2536
"host",
26-
"hosting",
37+
"http",
2738
"identity",
2839
"infrastructure",
40+
"instead",
41+
"migration",
2942
"modernize",
30-
"move",
31-
"on-premises",
43+
"point",
3244
"prepare",
33-
"scenarios",
45+
"prepares",
46+
"project",
3447
"security",
48+
"serverless",
3549
"service",
3650
"terraform",
37-
"updates",
51+
"update",
3852
"validation",
3953
"when",
54+
"with",
4055
"yaml",
56+
"your",
4157
],
4258
"name": "azure-prepare",
4359
}
4460
`;
4561

4662
exports[`azure-prepare - Trigger Tests Trigger Keywords Snapshot skill keywords match snapshot 1`] = `
4763
[
64+
"analyzes",
4865
"application",
49-
"applications",
66+
"authentication",
5067
"azure",
5168
"azure-cloud-migrate",
69+
"backend",
5270
"bicep",
5371
"build",
72+
"caching",
5473
"cli",
55-
"configure",
74+
"code",
5675
"create",
5776
"cross-cloud",
77+
"database",
78+
"default",
5879
"deploy",
5980
"deployment",
81+
"develop",
82+
"development",
6083
"dockerfiles",
84+
"entry",
85+
"event-driven",
6186
"except",
87+
"feature",
88+
"frontend",
6289
"function",
6390
"functions",
6491
"generate",
65-
"generates",
92+
"generating",
6693
"host",
67-
"hosting",
94+
"http",
6895
"identity",
6996
"infrastructure",
97+
"instead",
98+
"migration",
7099
"modernize",
71-
"move",
72-
"on-premises",
100+
"point",
73101
"prepare",
74-
"scenarios",
102+
"prepares",
103+
"project",
75104
"security",
105+
"serverless",
76106
"service",
77107
"terraform",
78-
"updates",
108+
"update",
79109
"validation",
80110
"when",
111+
"with",
81112
"yaml",
113+
"your",
82114
]
83115
`;

0 commit comments

Comments
 (0)