update-avm-modules-in-bicep
github/awesome-copilot
Update Azure Verified Modules to latest versions in Bicep files with breaking change detection.
What is update-avm-modules-in-bicep?
Automatically scans Bicep files for Azure Verified Module (AVM) references, checks MCR for latest versions, and updates them while flagging breaking changes for manual review. Use this when you need to keep AVM dependencies current and ensure Bicep compliance.
- Extracts AVM module references and current versions from Bicep files
- Queries MCR (Microsoft Container Registry) to identify latest available versions
- Compares semantic versions to detect updates and breaking changes
- Updates Bicep files with new versions and required parameter changes
- Validates updated files with bicep lint and bicep build
- Generates summary table with update status and documentation links
How to install update-avm-modules-in-bicep
npx skills add https://github.com/github/awesome-copilot --skill update-avm-modules-in-bicep- Bicep CLI installed (for lint and build validation)
- Access to MCR (Microsoft Container Registry)
- Bicep files containing AVM module references
How to use update-avm-modules-in-bicep
- 1.Install the skill using the provided npm command
- 2.Point the skill to your Bicep file containing AVM modules
- 3.Review the output table showing current vs. latest versions
- 4.For breaking changes, review the flagged modules and approve updates manually
- 5.The skill will update the Bicep file and validate with bicep lint and bicep build
- 6.Check the summary for any issues or manual reviews needed
Use cases
- Upgrading all AVM modules in a Bicep project to latest stable versions
- Identifying which AVM modules have available updates before planning upgrades
- Reviewing breaking changes in AVM modules before applying updates
- Maintaining compliance with latest Azure resource definitions
- Automating routine AVM dependency maintenance in CI/CD pipelines
- Infrastructure-as-Code engineers using Bicep
- Azure cloud architects managing Bicep templates
- DevOps teams maintaining Azure deployments
- Teams using Azure Verified Modules for standardized resources
update-avm-modules-in-bicep FAQ
AVM are pre-built, tested Bicep modules maintained by Microsoft that provide standardized ways to deploy Azure resources. They follow best practices and are versioned in MCR.
No. The skill pauses and flags breaking changes (incompatible parameters, security modifications, behavioral changes) for manual review and approval before applying them.
It queries the MCR tags API endpoint for each AVM module and parses the JSON tags array, sorting by semantic versioning to identify the latest stable release.
The skill reports the failure in the summary with status ❌. You can then review the Bicep file and fix any compliance issues before reapplying updates.
The skill scans and updates all AVM modules found in the specified Bicep file. You can manually edit the file before running to exclude specific modules if needed.
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: update-avm-modules-in-bicep description: 'Update Azure Verified Modules (AVM) to latest versions in Bicep files.'
Update Azure Verified Modules in Bicep Files
Update Bicep file ${file} to use latest Azure Verified Module (AVM) versions. Limit progress updates to non-breaking changes. Don't output information other than the final output table and summary.
Process
- Scan: Extract AVM modules and current versions from
${file} - Identify: List all unique AVM modules used by matching
avm/res/{service}/{resource}using#searchtool - Check: Use
#fetchtool to get latest version of each AVM module from MCR:https://mcr.microsoft.com/v2/bicep/avm/res/{service}/{resource}/tags/list - Compare: Parse semantic versions to identify AVM modules needing update
- Review: For breaking changes, use
#fetchtool to get docs from:https://github.com/Azure/bicep-registry-modules/tree/main/avm/res/{service}/{resource} - Update: Apply version updates and parameter changes using
#editFilestool - Validate: Run
bicep lintandbicep buildusing#runCommandstool to ensure compliance. - Output: Summarize changes in a table format with summary of updates below.
Tool Usage
Always use tools #search, #searchResults,#fetch, #editFiles, #runCommands, #todos if available. Avoid writing code to perform tasks.
Breaking Change Policy
⚠️ PAUSE for approval if updates involve:
- Incompatible parameter changes
- Security/compliance modifications
- Behavioral changes
Output Format
Only display results in table with icons:
| Module | Current | Latest | Status | Action | Docs |
|--------|---------|--------|--------|--------|------|
| avm/res/compute/vm | 0.1.0 | 0.2.0 | 🔄 | Updated | [📖](link) |
| avm/res/storage/account | 0.3.0 | 0.3.0 | ✅ | Current | [📖](link) |
### Summary of Updates
Describe updates made, any manual reviews needed or issues encountered.
Icons
- 🔄 Updated
- ✅ Current
- ⚠️ Manual review required
- ❌ Failed
- 📖 Documentation
Requirements
- Use MCR tags API only for version discovery
- Parse JSON tags array and sort by semantic versioning
- Maintain Bicep file validity and linting compliance
Related skills
More from github/awesome-copilot and the wider catalog.

update-implementation-plan
Update implementation plan files with new requirements for features, refactoring, upgrades, and infrastructure changes.

update-llms
Keeps your repo's llms.txt navigation file accurate and spec-compliant as docs evolve.

update-markdown-file-index
Auto-generate and maintain file indexes in markdown documents from folder contents.

update-oo-component-documentation
Update OO component documentation to match current implementation using industry standards.

update-specification
Update specification files for AI consumption based on new requirements or code changes.

vscode-ext-commands
Guidelines for correctly naming, scoping, and placing commands in VS Code extensions.