Add Copilot agent and skills for AzValidation customer guidance#14
Add Copilot agent and skills for AzValidation customer guidance#14vinushree-git wants to merge 1 commit into
Conversation
Adds GitHub Copilot agent and skills to help customers onboard, run, monitor, and debug Microsoft.Validate Compute Validation via ARM APIs. Files added: - .github/agents/AzValidation.agent.md - @AzValidation agent: full workflow orchestrator - .github/skills/azvalidation-onboard/ - Onboarding skill (register RP → first run) - .github/skills/azvalidation-monitor/ - Monitoring skill (poll status, fetch results) - .github/skills/azvalidation-debug/ - Debug skill (failure triage, LISA fixes, quota) Customers with VS Code + GitHub Copilot can clone this repo and immediately use @AzValidation in chat to get guided ARM CLI commands for all validation lifecycle steps — no binary installation required. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| ``` | ||
|
|
||
| ### Supported Region | ||
| `southcentralus` — only supported region for public preview. |
There was a problem hiding this comment.
Preview-stage mislabeled. Repo + onboarding guide are Private Preview, but this says "only supported region for public preview" (PR body too). Make the preview stage consistent everywhere.
|
|
||
| --- | ||
|
|
||
| ## Mandatory Workflow Order |
There was a problem hiding this comment.
Agent workflow omits required steps. The "Mandatory Workflow Order" skips Grant RP Contributor and Enable Defender, which azvalidation-onboard lists as Steps 2–3. Agent-driven customers will hit failures. Align the orchestrator with the skill.
| ```bash | ||
| az rest --method GET \ | ||
| --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Validate/cloudValidations/{cloudValidationName}/validationExecutionPlans?api-version=2026-02-01-preview" \ | ||
| --query "value[].{name:name, state:properties.provisioningState, overall:properties.overallState}" \ |
There was a problem hiding this comment.
Property typo. Uses properties.overallState; every other query uses properties.overallStatus. Copy-paste yields a null column.
| --container-name {container} \ | ||
| --name {vhdBlob} \ | ||
| --permissions rl \ | ||
| --expiry $(date -u -d "+7 days" +%Y-%m-%dT%H:%MZ) \ |
There was a problem hiding this comment.
Bash/GNU-only. date -u -d "+7 days" fails on macOS/BSD; poll loop is bash. Add PowerShell equivalents or a portability note for Windows customers.
| --container-name {containerName} \ | ||
| --name {vhdBlobName} \ | ||
| --permissions rl \ | ||
| --expiry $(date -u -d "+7 days" +%Y-%m-%dT%H:%MZ) \ |
There was a problem hiding this comment.
Bash/GNU-only. date -u -d "+7 days" fails on macOS/BSD; poll loop is bash. Add PowerShell equivalents or a portability note for Windows customers.
| --output tsv | ||
| ``` | ||
|
|
||
| Requirements: **≥1 day expiry**, permissions **`rl` (read + list)**, publicly accessible storage endpoint. |
There was a problem hiding this comment.
SAS expiry inconsistent. Example uses +7 days; prose says "≥1 day". Align example with stated minimum.
Same in onboard L30, agent L180
| ### Supported Validations | ||
| - `MalwareValidation` — malware scan | ||
| - `BootValidation` — VM boot test (testNames: `VM-Boot-Test`, `Boot-Diagnostics-Available`) | ||
| - `VulnerabilityValidation` — Microsoft Defender scan (requires Defender for Cloud Plan 2) |
There was a problem hiding this comment.
Defender naming drift. Agent says "Defender for Cloud Plan 2"; skills use --tier Standard. Use one term.
| │ ├── MalwareValidation failed → Clean image of malware, re-run | ||
| │ ├── BootValidation failed → Check VHD SAS URI validity (≥1 day, read+list) | ||
| │ │ Check Azure Agent installed in image | ||
| │ ├── VulnerabilityValidation → Enable Defender for Cloud Plan 2 on subscription |
There was a problem hiding this comment.
Same, Defender naming drift. Agent says "Defender for Cloud Plan 2"; skills use --tier Standard. Use one term.
| Use when: "debug run", "why did it fail", "run failed", "test failed", | ||
| "quota exceeded", "vhd error", "orphaned resources", "deployment failed", | ||
| "provisioning failed", "how to fix". | ||
| triggers: |
There was a problem hiding this comment.
Duplicated trigger metadata. Triggers appear in description: "Use when…" and again in a triggers: block. Confirm the host even consumes triggers:; if not, it's dead metadata.
Same in monitor L7, onboard L8
Summary
Adds GitHub Copilot agent and skill files so customers can use *@AzValidation* in VS Code Copilot Chat to get guided ARM CLI commands for the full Microsoft.Validate Compute Validation lifecycle.
What's added
Customer experience
Customers clone this repo, open it in VS Code with GitHub Copilot, and can immediately type:
No binary installation required. Works with any Azure MCP or az CLI.
Motivation
Testing
Validated against the ARM paths and API version (\2026-02-01-preview) documented in the onboarding guide.