Azure Verified Modules (AVM) requirements and best practices for developing certified Azure Terraform modules. Use when creating or reviewing Azure modules that need AVM certification.
88
62%
Does it follow best practices?
Impact
91%
1.24xAverage score across 10 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./terraform/code-generation/skills/azure-verified-modules/SKILL.mdQuality
Discovery
75%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is well-structured with a clear 'Use when' clause and targets a distinct niche (AVM-certified Terraform modules). Its main weakness is the lack of specific concrete actions—it says 'requirements and best practices' without enumerating what those entail. Trigger terms are adequate but could benefit from additional natural variations users might employ.
Suggestions
Add specific concrete actions such as 'enforce naming conventions, validate module structure, check required outputs, ensure telemetry compliance' to improve specificity.
Include additional trigger term variations like 'azurerm provider', 'module compliance', 'AVM standards', 'verified module publishing' to improve keyword coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Azure Verified Modules, Terraform) and mentions 'requirements and best practices' but doesn't list specific concrete actions like 'validate naming conventions, enforce resource tagging, check module structure'. | 2 / 3 |
Completeness | Clearly answers both 'what' (AVM requirements and best practices for developing certified Azure Terraform modules) and 'when' (Use when creating or reviewing Azure modules that need AVM certification) with an explicit 'Use when...' clause. | 3 / 3 |
Trigger Term Quality | Includes relevant keywords like 'AVM', 'Azure', 'Terraform modules', and 'AVM certification', but misses common variations users might say such as 'azurerm', 'module compliance', 'AVM standards', 'verified module', or 'module publishing'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of 'Azure Verified Modules', 'AVM certification', and 'Terraform' creates a very specific niche that is unlikely to conflict with general Terraform skills or general Azure skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a comprehensive reference document for AVM Terraform requirements, but it reads more like a specification mirror than an actionable skill. Its strengths are thorough coverage and some good HCL examples, but it suffers from verbosity, lack of a clear development workflow with validation steps, and a monolithic structure that could benefit from splitting detailed requirements into separate files.
Suggestions
Add a clear step-by-step workflow section (e.g., 'Creating an AVM Module') with explicit validation checkpoints like 'Run tflint -> fix -> re-run' and 'Run terraform validate -> fix -> proceed'.
Split detailed requirement catalogs (breaking changes, code style rules, variable rules) into separate reference files and keep SKILL.md as a concise overview with links.
Remove or condense sections that restate Terraform conventions Claude already knows (snake_casing, alphabetical ordering) to brief reminders rather than full explanations.
Fix the output examples to actually demonstrate the anti-corruption layer pattern—currently they output entire resource objects, contradicting the stated best practice.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is fairly well-organized but quite lengthy (~400+ lines). Some sections restate obvious Terraform conventions Claude would already know (e.g., snake_casing, alphabetical ordering). The compliance checklist at the end largely duplicates information already covered in the body, adding redundant tokens. | 2 / 3 |
Actionability | The skill provides concrete HCL code examples for several requirements (provider config, dynamic blocks, feature toggles, for_each usage), which is good. However, many sections are rule statements without executable examples (e.g., variable ordering, output patterns, testing requirements), and the output examples appear to output entire resource objects rather than specific attributes, contradicting their own guidance. | 2 / 3 |
Workflow Clarity | The compliance checklist provides a useful sequential review process, but there's no clear workflow for actually developing an AVM module from start to finish. There are no validation checkpoints or feedback loops—e.g., no 'run tflint, fix issues, re-run' cycle for the testing requirements, and no step-by-step module creation workflow. | 2 / 3 |
Progressive Disclosure | The table of contents and section headers provide good navigation, and external references to AVM docs are included at the top. However, the content is monolithic—all 37 requirements are inline in a single file. Advanced or less-common requirements (e.g., deprecated variable handling, breaking changes catalog) could be split into separate reference files to keep the main skill leaner. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (614 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
b129bb5
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.