avm-sync
Fetches official AVM index data to refresh local module catalogs.
Install
mkdir -p .claude/skills/avm-sync && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10286" && unzip -o skill.zip -d .claude/skills/avm-sync && rm skill.zipInstalls to .claude/skills/avm-sync
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Sync AVM module catalog. Use when: checking for new AVM modules, updating module list, refreshing AVM catalog, modules out of date, new terraform-azurerm-avm repos appeared, module archived, refresh data/modules.Key capabilities
- →Fetch official AVM module index CSVs
- →Refresh local YAML catalog sections
- →Detect newly published or archived modules
- →Sync Proposed and Deprecated status modules
- →Generate module configuration files
How it works
The script fetches official index CSVs and updates local YAML files in the data directory. It excludes enrichment and analysis blocks from modification to preserve custom data.
Inputs & outputs
When to use avm-sync
- →Refresh AVM module catalog
- →Check for new Terraform AVM modules
- →Update status of deprecated modules
- →Sync module catalog data
About this skill
AVM Module Catalog Sync
Fetches the official AVM module index CSVs and refreshes data/modules/{res,ptn,utl}/*.yaml
catalog sections. Only Available-status modules are synced by default.
When to Use
- Checking whether new AVM modules have been published
- A module known to exist is missing from
data/modules/ - A module's status has changed (Available → Deprecated, etc.)
- Periodic maintenance refresh of the catalog
Procedure
Step 1 — Run the sync script
python3 scripts/sync_catalog.py
Common variants:
python3 scripts/sync_catalog.py --dry-run # preview changes without writing
python3 scripts/sync_catalog.py --force # force-rewrite all module files
python3 scripts/sync_catalog.py --include-proposed # also sync Proposed-status modules
python3 scripts/sync_catalog.py --include-deprecated # also sync Deprecated-status modules
Or via the wrapper:
./avm.sh sync
./avm.sh sync --dry-run
./avm.sh sync --force
Step 2 — Read the output
The script reports:
- New modules added to
data/modules/ - Existing modules whose catalog section was updated
- Modules skipped (not
Available, or no change detected) - Total counts: added / updated / skipped / unchanged
Step 3 — Check for new modules to clone
If new modules were added, remind the user to regenerate their config and clone:
./avm.sh setup --domains all # regenerate .config/modules.yaml
./avm.sh clone # clone any newly added repos
Step 4 — Report
Summarise what changed:
AVM Sync — {date}
─────────────────────────────────────────
Added : {N} new module files
Updated : {N} existing catalog sections
Skipped : {N} (non-Available status)
Unchanged: {N} already up to date
last_synced: {timestamp}
List new/updated module names. Note any modules whose status changed (e.g. newly deprecated).
Notes
catalog:sections are the only blocks written —enrichment:andanalysis_*:blocks are never touchedlast_synced:is always updated in written files but excluded from the equality check (won't cause spurious rewrites)- Default excludes
ProposedandDeprecatedmodules; use--include-proposed/--include-deprecatedto opt in - Do not modify
.config/modules.yaml— it is generated by./avm.sh setup
When not to use it
- →Modifying .config/modules.yaml manually
Prerequisites
Limitations
- →Only Available-status modules are synced by default
- →Enrichment and analysis blocks are never touched
How it compares
This automates the synchronization of local module metadata with the official AVM index, replacing manual tracking of module status changes.
Compared to similar skills
avm-sync side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| avm-sync (this skill) | 0 | 3mo | Review | Beginner |
| bazel-build-optimization | 14 | 2mo | No flags | Advanced |
| it-operations | 1 | 7mo | No flags | Advanced |
| aws-solution-architect | 20 | 3mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
bazel-build-optimization
wshobson
Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.
it-operations
davila7
Manages IT infrastructure, monitoring, incident response, and service reliability. Provides frameworks for ITIL service management, observability strategies, automation, backup/recovery, capacity planning, and operational excellence practices.
aws-solution-architect
alirezarezvani
Design AWS architectures for startups using serverless patterns and IaC templates. Use when asked to design serverless architecture, create CloudFormation templates, optimize AWS costs, set up CI/CD pipelines, or migrate to AWS. Covers Lambda, API Gateway, DynamoDB, ECS, Aurora, and cost optimization.
terraform-module-library
wshobson
Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.
azure-deployment-preflight
github
Performs comprehensive preflight validation of Bicep deployments to Azure, including template syntax validation, what-if analysis, and permission checks. Use this skill before any deployment to Azure to preview changes, identify potential issues, and ensure the deployment will succeed. Activate when users mention deploying to Azure, validating Bicep files, checking deployment permissions, previewing infrastructure changes, running what-if, or preparing for azd provision.
terraform-azurerm-set-diff-analyzer
github
Analyze Terraform plan JSON output for AzureRM Provider to distinguish between false-positive diffs (order-only changes in Set-type attributes) and actual resource changes. Use when reviewing terraform plan output for Azure resources like Application Gateway, Load Balancer, Firewall, Front Door, NSG, and other resources with Set-type attributes that cause spurious diffs due to internal ordering changes.