Update Help Placeholders
PSBicep/PSBicep
Update placeholders in PSBicep help markdown files. An agent skill from PSBicep/PSBicep.
Reverse-engineer a live Azure scope (resource group or filtered subscription) into deployment-ready, modular Bicep templates with parameter files.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add Azure/AZVerify --skill azv-azure-to-bicep -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Azure/AZVerify azv-azure-to-bicep --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/azv-azure-to-bicep .claude/skills/azv-azure-to-bicep && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "azv-azure-to-bicep" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-azure-to-bicep into .claude/skills/azv-azure-to-bicep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-azure-to-bicep", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-azure-to-bicepType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Azure/AZVerify --skill azv-azure-to-bicep -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Azure/AZVerify azv-azure-to-bicep --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/azv-azure-to-bicep .agents/skills/azv-azure-to-bicep && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "azv-azure-to-bicep" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-azure-to-bicep into .agents/skills/azv-azure-to-bicep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-azure-to-bicep", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Azure/AZVerify --skill azv-azure-to-bicep -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Azure/AZVerify azv-azure-to-bicep --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/azv-azure-to-bicep .cursor/skills/azv-azure-to-bicep && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "azv-azure-to-bicep" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-azure-to-bicep into .cursor/skills/azv-azure-to-bicep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-azure-to-bicep", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Azure/AZVerify.git --path .github/skills/azv-azure-to-bicep--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Azure/AZVerify --skill azv-azure-to-bicep -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Azure/AZVerify azv-azure-to-bicep --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/azv-azure-to-bicep .gemini/skills/azv-azure-to-bicep && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "azv-azure-to-bicep" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-azure-to-bicep into .gemini/skills/azv-azure-to-bicep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-azure-to-bicep", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Azure/AZVerify azv-azure-to-bicepInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Azure/AZVerify --skill azv-azure-to-bicep -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/azv-azure-to-bicep .github/skills/azv-azure-to-bicep && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "azv-azure-to-bicep" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-azure-to-bicep into .github/skills/azv-azure-to-bicep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-azure-to-bicep", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Azure/AZVerify --skill azv-azure-to-bicep -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Azure/AZVerify azv-azure-to-bicep --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/AZVerify.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/azv-azure-to-bicep .opencode/skills/azv-azure-to-bicep && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "azv-azure-to-bicep" agent skill from https://github.com/Azure/AZVerify/tree/main/.github/skills/azv-azure-to-bicep into .opencode/skills/azv-azure-to-bicep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azv-azure-to-bicep", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
azv-azure-to-bicepReverse-engineer a live Azure scope (resource group or filtered subscription) into deployment-ready, modular Bicep templates with parameter files.
Azv Azure To Bicep is an agent skill from Azure/AZVerify, published by the product's own GitHub organization. Reverse-engineer a live Azure scope (resource group or filtered subscription) into deployment-ready, modular Bicep templates with parameter files. Use when the user wants to bring existing Azure infrastructure under Bicep/IaC management.
Its SKILL.md is about 5.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires an authenticated Azure session (CLI, Az PowerShell, or Azure MCP).
It sits in DevOps & Cloud, covering Infrastructure as code. It works with Microsoft Azure, Bicep, PowerShell and Model Context Protocol. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d6a2b92. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pwshazFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use az, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires an authenticated Azure session (CLI, Az PowerShell, or Azure MCP).
From compatibility in the SKILL.md frontmatter.
Azv Azure To Bicep loads about 5.4k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 2,435 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
will be split into modules by category. Do not pause for user confirmation.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Azure/AZVerify at commit d6a2b92, republished under its MIT licence (© Azure). 2,435 words, ~5,440 tokens.
.claude/skills/azv-azure-to-bicep/SKILL.md (or your agent's skills folder).Discover resources in a live Azure scope, extract their full configuration, and generate deployment-ready Bicep templates with modular structure, user-editable parameter files, and dependency documentation for external resources.
Input: An Azure scope — a resource group name (primary) or a subscription ID with optional resource type filter. Optionally, a target environment hint (dev/prod) to influence default sizing in the parameter file.
Tools used: File system tools (read/write files), Terminal (for running az CLI commands and PowerShell 7 / pwsh shared scripts), Azure Best Practices MCP (azure-get_azure_bestpractices), Bicep Schema MCP (azure-bicepschema), and Azure Documentation MCP (azure-documentation).
Before discovery, verify the capabilities used by this workflow:
azure-get_azure_bestpractices with get_azure_bestpractices_get for general code generation guidance.azure-bicepschema with bicepschema_get for every resource type whose API version or deployable schema is uncertain.azure-documentation search and fetch for current service guidance when a schema call does not answer the question.If a capability is unavailable, continue only when the matching shared reference plus Bicep CLI validation can provide the same check; report the fallback in the verification summary.
Follow .github/skills/shared/procedures/output-budget.md strictly — this skill frequently handles 20-40+ resources and can hit the LLM response length limit. In addition to the shared rules:
extract-*.json, resource-list-raw.json, and the temporary resource model JSON file) are never deliverables. Keep them available until Step 11 has written the README (it needs the resource counts and extraction stats), then delete them all in Step 12. Never leave the resource model JSON behind after the skill completes.If pwsh/powershell.exe or a shared script cannot be executed, use the fallback that matches the step you are on, then continue the workflow normally:
| Step | Fallback source |
|---|---|
| 1 — Auth check | MCP auth probe fallback in .github/skills/shared/procedures/azure-authentication.md |
| 3 — Discovery | "Script/pwsh Unavailable — MCP Fallback" in .github/skills/shared/azure-resource-configs.md |
| 4 — Filtering | Inline fallback in .github/skills/shared/procedures/resource-filtering.md |
| 6a — Property extraction | "Script/pwsh Unavailable — MCP Fallback" in .github/skills/shared/azure-resource-configs.md |
| 6b — Read-only stripping and secrets | Manual strip rules listed in Step 6b, using .github/skills/shared/data/arm-readonly-properties.json |
| 7a — Relationships | "Manual Relationship Inference — Script Unavailable Fallback" in .github/skills/shared/azure-resource-model.md |
Stop only if Azure MCP is also unavailable, using the prerequisite message in .github/skills/shared/azure-resource-configs.md.
Run pwsh .github/skills/shared/scripts/Test-AzureAuth.ps1 — see .github/skills/shared/procedures/azure-authentication.md for the script contract. The script writes a JSON status object to stdout and exits non-zero when no Azure session is found. A non-zero exit code is a HARD GATE: present the authentication instructions from the contract doc and stop. (If pwsh or the script is unavailable, see "Fallback: pwsh Unavailable".)
Identify the Azure scope to discover resources from.
If the user specifies a resource group name:
az group show --name <name> — if this fails, report an error and stopIf the user specifies a subscription ID:
If no scope is specified:
Which Azure resource group should I generate Bicep templates from?
If you want subscription-level discovery, provide a subscription ID instead.Target environment hint: If the user specifies a target environment (e.g., "generate for dev" or "this will be production"):
.bicepparam comments (e.g., note the current size and suggest dev/prod alternatives)Resource type filters: If the user provides a resource type filter (e.g., "only compute and networking resources"):
Microsoft.Compute/*, Microsoft.Network/*)Resource exclusions: If the user wants to exclude specific resources or types:
Enumerate all resources in the specified Azure scope.
3a. Resource group scope
Run the shared discovery script and write the resource model to a temporary JSON file in the output folder:
pwsh .github/skills/shared/scripts/Get-AzureResourceModel.ps1 -ResourceGroup <rg-name> -OutFile <output-folder>/resource-model.jsonThe script emits the shared resource model contract (id, name, type, location, tags, sku) documented in .github/skills/shared/azure-resource-model.md. Treat the emitted JSON as the source of truth for Steps 4-7. Do not print the model contents.
Display progress:
⏳ Discovering resources in resource group `<rg-name>`...3b. Subscription scope
Run the same script with -SubscriptionId <sub-id> instead of -ResourceGroup. Pass user-specified resource type filters from Step 2b as a -ResourceTypeFilter parameter to the script if supported; otherwise filter the emitted JSON before writing to the temporary model file. These user filters are distinct from the Step 4 standard exclusion rules applied by -Mode bicep, which never handles user filters.
3c. Script/pwsh unavailable — MCP fallback
If pwsh/powershell.exe or the script cannot be executed, build the same resource model through Azure MCP as described in "Fallback: pwsh Unavailable" (list resources with mcp_azure_group_resource_list, then assemble the model shape by hand).
3d. Handle empty results
If no resources are found after discovery:
## No Resources Found
No resources were found in `<scope-name>`.
If you expected resources here, verify:
- The resource group name is spelled correctly
- You're connected to the correct subscription (`az account show`)
- Resources have been deployed to this scope
- The authenticated identity has read permissions on this resource groupRun pwsh .github/skills/shared/scripts/Select-AzureResources.ps1 -InputFile <resource-model.json> -Mode bicep — see .github/skills/shared/procedures/resource-filtering.md for the script contract. The script applies the shared exclusion rules, writes the filtered resource model JSON to stdout, and should be treated as the source of truth for the remaining steps. (If pwsh or the script is unavailable, see "Fallback: pwsh Unavailable".)
If the script exits non-zero or produces unparseable output, report the error message to the user and stop. Do not proceed with an empty or partial resource list.
Also apply any user-specified exclusion filters from Step 2b.
If the filtered resource list is empty after all exclusion rules have been applied, stop and present:
All discovered resources were excluded by filtering rules. No Bicep templates can be generated.
Review the exclusion rules in `.github/skills/shared/procedures/resource-filtering.md` or adjust your resource type filter.Display the filtered resource list:
original-request.md in the output folder (recording the original user request and scope details at the top), then append the full resource table to it. Reference the file in the chat response.If the filtered resource count exceeds 30, print a warning that lists unique resource types with counts, then automatically proceed to generate all resources. Templates will be split into modules by category. Do not pause for user confirmation.
For each discovered resource, extract the full resource configuration from Azure.
6a. Extraction method
Prefer running the shared script over manual per-resource extraction:
pwsh .github/skills/shared/scripts/Get-AzureResourceModel.ps1 -ResourceGroup <rg> -Enrich -Mode bicep -StripReadOnly -OutFile <path>-Enrich fetches full resource detail (az resource show per resource) and extracts per-resource-type properties using the mappings in .github/skills/shared/data/azure-property-paths.json (mcpTool preferred, fallback CLI command per resource type, plus armJsonPath/composite rules for individual properties). -Mode bicep also applies the Step 4 filtering rules automatically.
Generation boundary: Azure responses contain a mix of deployable configuration and computed state. Generate Bicep only from each model resource's deployableProperties, plus explicitly preserved deployable top-level values (location, tags, sku, kind, and managed identity configuration). Use the raw properties bag only for relationship discovery. Never serialize an unreviewed raw properties bag into generated Bicep.
If pwsh or the script is unavailable, see "Fallback: pwsh Unavailable" to enrich and extract properties by hand.
After all resources are extracted, print a single batch summary (e.g., ✅ Extracted 34 resources (3 partial, 2 skipped)). Do not print per-resource progress lines.
6b. Property filtering and secrets detection
The -StripReadOnly switch in the Step 6a command removes read-only, computed, and ARM-internal properties (provisioningState, resourceGuid, etag, timestamps, property-level id/name/type, identity.principalId, privateEndpointConnections, …) and flags secret-bearing properties. The rules live in .github/skills/shared/data/arm-readonly-properties.json.
If pwsh or the script is unavailable, apply the same rules by hand: strip the alwaysRemoveAnyDepth names at any depth and the alwaysRemoveAtRoot names at the root of each properties bag, apply removePaths, and never strip keepPaths (identity.type, identity.userAssignedIdentities) or the deployable sku, kind, location, and tags.
6c. Handling flagged secrets
The script writes an optional secrets array of dotted property paths on each affected resource (see .github/skills/shared/azure-resource-model.md). For every flagged path:
@secure() parameter whose .bicepparam value uses readEnvironmentVariable() — see .github/skills/shared/bicep-best-practices.md6d. Graceful fallback
If a resource-specific tool fails or is unavailable:
⚠️ Could not fully extract <resource-name> (<resource-type>) — using list-level informationAnalyze extracted properties to identify relationships between resources — both within the scope and to external resources.
7a. Internal relationships (resources within the scope)
Use the relationships array already present on each resource in the model produced by Get-AzureResourceModel.ps1 (contains, connects, depends, secures — see .github/skills/shared/azure-resource-model.md). These determine module structure and resource ordering in Bicep. (If pwsh or the script was unavailable in Step 6, see "Fallback: pwsh Unavailable" to detect relationships and their Bicep implications by hand.)
7b. External dependencies (resources OUTSIDE the scope)
These are resources that the in-scope resources depend on but that live in other resource groups, subscriptions, or tenants. They cannot be deployed by the generated Bicep — they need separate coordination.
Detect them using the detection patterns and record them in the field shape defined in the "External Dependency Detection" section of .github/skills/shared/azure-resource-model.md. The type values recorded there drive the dependency templates generated in Step 9.
7c. Present relationship summary
Show two tables:
If external dependencies exist, warn: "⚠️ M external dependencies require out-of-scope changes. See dependencies/README.md after generation."
Generate all Bicep files and the .bicepparam file in a single pass. Do not wait for user confirmation.
Before writing any files:
[a-zA-Z0-9_\-.], and truncate to 64 characters. Use the sanitized name as the output folder name and record the original scope name in the README../<sanitized-scope-name>/ relative to the workspace root.Use .github/skills/shared/azure-resource-configs.md for per-resource defaults and .github/skills/shared/bicep-best-practices.md for generation rules. Use the Tool Preflight capabilities to validate uncertain resource schemas and API versions.
Output structure:
<scope-name>/
├── README.md # Summary: verification results, file list, deploy commands, next steps
├── main.bicep # Entry point — orchestrates all modules
├── <scope-name>.bicepparam # User-editable parameter values with comments
├── modules/
│ ├── networking.bicep # VNets, subnets, NSGs, private endpoints, NICs
│ ├── compute.bicep # VMs, App Services, Container Apps, Function Apps
│ ├── data.bicep # SQL, Cosmos DB, Storage Accounts, Key Vault, Redis
│ ├── identity.bicep # User-assigned managed identities
│ ├── monitoring.bicep # Log Analytics, Application Insights, action groups
│ └── other.bicep # Resources not mapping to any above category (generated only if needed)
└── dependencies/
├── README.md # Summary of all external dependencies
├── <dependency-type>.bicep # Deployable Bicep for each external dependency
└── <dependency-type>.bicepparamBicep generation rules:
Follow the Template Structure and Bicepparam Comment Guidelines sections of .github/skills/shared/bicep-best-practices.md for main.bicep, module, and .bicepparam structure. The following rules are specific to reverse-engineering a live environment and override the shared defaults:
| Area | Rule |
|---|---|
| Defaults | Match current Azure values — the goal is to reproduce the existing environment, not to apply cost-effective sizing. Still enable secure defaults (HTTPS, TLS 1.2, deny public access with PEs) and note any insecure current value with an upgrade comment |
.bicepparam comments | Extend the shared comment block with the current Azure value for the parameter, alongside 2–3 sizing or tier alternatives with relative cost notes. No hard line limit |
| ARM-to-Bicep | Camel-case property names; ARM arrays to Bicep array syntax; "true"/"false" strings to booleans; inline resource IDs to symbolic refs |
For each external dependency from Step 7b, generate a deployable .bicep + .bicepparam pair in dependencies/ and document in dependencies/README.md.
dependencies/README.md: Summary table (External Resource, Resource Group, Dependency Type, Required Action, Depended On By), links to .bicep/.bicepparam, per-dependency description with deploy/verify commands, and deployment order instructions.
Per-dependency templates:
| Dependency Type | Bicep Resources | Key Params |
|---|---|---|
| VNet Peering | Two virtualNetworkPeerings resources with existing parent VNets | Local/remote VNet names, remote VNet resource ID |
| Private DNS Zone | A record + VNet link with existing DNS zone | Zone name, record name, IP, VNet resource ID |
| Log Analytics | RBAC role assignment on workspace | Workspace name, principal ID, role definition ID |
| Key Vault Access | RBAC role assignment on vault | Vault name, principal ID, role definition ID |
| External Subnet | Subnet with existing parent VNet | VNet name, subnet name, address prefix, delegations |
| Container Registry | AcrPull role assignment | Registry name, principal ID |
| RBAC Assignment | Microsoft.Authorization/roleAssignments | Target resource ID, principal ID, role definition ID |
| DNS Zone | existing DNS zone with CNAME or A record | Zone name, record name, value, TTL, record type |
| Hub Route Table | existing route table with routes | Route table name, route name, address prefix, next-hop IP/type |
| Any other type | Stub .bicep with a comment block explaining the required manual action; no deployable resources | See comment in stub file |
Each template: targetScope = 'resourceGroup', top-of-file comment explaining the dependency, existing blocks for parents, follows all Bicep best practices, outputs key resource ID. Only generate templates for detected dependencies.
Run the full verification ruleset from .github/skills/shared/azure-deployment-verification.md. This is mandatory — do not skip. Check all rule categories: SKU dependencies, resource compatibility, networking, security, regional availability, version currency, Bicep best practices, missing dependencies, and parameter completeness. Present results using the shared verification output format. Auto-fix errors where possible. Do not present code with known errors.
If errors remain after auto-fix attempts, halt delivery of the affected files, present the specific errors to the user with remediation suggestions, and ask whether to proceed with the warnings-only files or stop entirely.
Write a README.md to the output root directory (alongside main.bicep) containing:
az deployment group create and New-AzResourceGroupDeployment examples)dependencies/README.md, post-deploy RBAC steps, DNS verification, and related skills (azv-bicep-whatif, azv-azure-to-diagram, azv-bicep-policy-check)After writing the README, present the same summary in the chat response.
Delete all intermediate extraction files from the output folder. These were used during discovery and property extraction but are not deliverables:
extract-*.json — per-resource CLI outputresource-list-raw.json — initial resource listOnly final deliverables should remain: main.bicep, .bicepparam, modules/, dependencies/, README.md, and original-request.md.
.bicepparam defaults to current Azure values — deploying recreates the same resources.bicep/.bicepparam pairs in dependencies/© Azure, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/azv-azure-to-bicep of Azure/AZVerify.
Open the folder on GitHubat commit d6a2b92
Azv Azure To Bicep next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Azv Azure To Bicep this skillAzure/AZVerify | 101 | — | ~5.4k | Automated safety check: Warn | MIT | |
| Update Help PlaceholdersPSBicep/PSBicep | 152 | — | ~299 | Automated safety check: Pass | MIT | |
| Azsdk Common Live And Recorded TestsAzure/azure-sdk-tools | 134 | — | ~1.5k | Automated safety check: Notes | MIT | |
| Apex GitHub Operationsjonathan-vella/apex | 217 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Azure Well Architected Reviewgithub/awesome-copilot | 40k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Azure Pricing Lookupthomast1906/github-copilot-agent-skills | 202 | — | ~4.9k | Automated safety check: Pass | None |
PSBicep/PSBicep
Update placeholders in PSBicep help markdown files. An agent skill from PSBicep/PSBicep.
Azure/azure-sdk-tools
Deploy test resources and run Azure SDK tests in live, record, or playback mode.
jonathan-vella/apex
WORKFLOW SKILL — Full GitHub contribution lifecycle: branches, conventional commits, issues, PRs, Actions, releases.
github/awesome-copilot
Perform an Azure Well-Architected Framework review of the current workload IaC and architecture, generating findings and GitHub issues for improvements.
thomast1906/github-copilot-agent-skills
Looks up live Azure retail prices by SKU, service or region through the Azure MCP pricing tool, estimates template costs and compares regions, price types and savings plans.
MicrosoftDocs/Agent-Skills
Expert knowledge for Azure Firmware Analysis development including best practices, security, integrations & coding patterns, and deployment.
Azure/AZVerify
Reverse-engineer a live Azure scope (resource group or filtered subscription) into a professional Draw.io architecture diagram following established AzVerify conventions.
Azure/AZVerify
Compare Bicep templates against a Draw.io Azure architecture diagram to detect resource-level divergence.
Azure/AZVerify
Check a Bicep template against the Azure Policy assignments in the target Azure environment to determine whether the resources would be compliant before deployment.
Azure/AZVerify
Compare Bicep templates against a live Azure environment by querying Azure directly and parsing the Bicep template.
Azure/AZVerify
Compare a Draw.io Azure architecture diagram against a live Azure environment to detect drift.
Azure/AZVerify
Deep-compare a Draw.io Azure architecture diagram against a live Azure environment — checks both resource existence AND every tracked configuration property (SKU, size, settings, etc.) against…
Categories
Reverse-engineer a live Azure scope (resource group or filtered subscription) into deployment-ready, modular Bicep templates with parameter files. Azv Azure To Bicep is an agent skill from Azure/AZVerify, published by the product's own GitHub organization. Reverse-engineer a live Azure scope (resource group or filtered subscription) into deployment-ready, modular Bicep templates with parameter files.
Azv Azure To Bicep fits situations like: the user wants to bring existing Azure infrastructure under Bicep/IaC management; tasks that involve Infrastructure as code.
Run `npx skills add Azure/AZVerify --skill azv-azure-to-bicep -a claude-code`. Or copy the skill folder (.github/skills/azv-azure-to-bicep in Azure/AZVerify) into .claude/skills/azv-azure-to-bicep in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Azure/AZVerify --skill azv-azure-to-bicep -a codex`. Or copy the skill folder (.github/skills/azv-azure-to-bicep in Azure/AZVerify) into .agents/skills/azv-azure-to-bicep in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Azure/AZVerify --skill azv-azure-to-bicep -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/azv-azure-to-bicep, .gemini/skills/azv-azure-to-bicep, .github/skills/azv-azure-to-bicep and .opencode/skills/azv-azure-to-bicep in your project.
Going by SKILL.md and its folder, Azv Azure To Bicep needs the command-line tools its instructions call (pwsh and az). Compatibility (from SKILL.md): Requires an authenticated Azure session (CLI, Az PowerShell, or Azure MCP)..
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way.
Azv Azure To Bicep is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.4k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Azv Azure To Bicep: Update Help Placeholders (PSBicep/PSBicep, 152 stars), Azsdk Common Live And Recorded Tests (Azure/azure-sdk-tools, 134 stars), Apex GitHub Operations (jonathan-vella/apex, 217 stars) and Azure Well Architected Review (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Azure (a GitHub organization, an official publisher) maintains it in Azure/AZVerify, which has 101 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on August 27, 2026.
Source: Azure/AZVerify on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.