Content
62%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A well-structured, highly actionable generation workflow with an exemplary validate-and-fix loop, but the body is noticeably verbose: rules are stated two to three times each, basic HCL examples duplicate the reference files, and three of its cited bundle paths (modern_features.md, aws-web-app/, multi-env/) do not exist.
Suggestions
State each rule once: merge the 'Lifecycle Rules on Critical Resources', 'S3 Lifecycle Best Practices', and 'Data Sources for Dynamic Values' sections into their corresponding Anti-Patterns entries (or vice versa), and delete the 'Notes' section that repeats earlier guidance verbatim.
Remove the basic HCL syntax examples from Step 3 (variable validation blocks, outputs, dynamic blocks, locals) — Claude already knows standard Terraform syntax and references/terraform_best_practices.md already covers these — keeping only the skill's opinionated rules (pinning policy, prevent_destroy list, CKV checks).
Fix the dangling bundle references: either create references/modern_features.md (cited three times, including a callout promising a 'full feature matrix') and the assets/aws-web-app/ and assets/multi-env/ templates, or remove them from the Step 2.5 table, the References section, and the assets list.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body (~600 lines) contains several padded/redundant sections: the prevent_destroy rule is stated three times ("Lifecycle Rules When Appropriate", "Lifecycle Rules on Critical Resources", "NEVER leave critical stateful resources without prevent_destroy"), the S3 abort-incomplete-multipart-upload rule twice, the AMI data-source rule twice, and an entirely redundant "Notes" section that repeats earlier guidance ("Always run devops-skills:terraform-validator after generation", "Web search is essential for custom providers/modules"). Step 3 also inlines ~80 lines of basic HCL syntax Claude already knows (variable declarations with validation blocks, outputs, dynamic blocks, locals) that duplicates references/terraform_best_practices.md. This matches anchor 2 ('several unnecessary explanations or padded sections') better than anchor 3, since the waste spans multiple sections rather than being isolated tightenings. | 2 / 5 |
Actionability | Guidance is highly executable: copy-paste HCL snippets, exact bash commands ("terraform fmt -check", "terraform init", "terraform validate"), concrete WebSearch query formats ("datadog terraform provider v3.30 monitor resource documentation"), pinned provider versions, and Checkov failure IDs paired with fixes ("CKV_AWS_24 | SSH open to 0.0.0.0/0 | Restrict to specific CIDR"). However, Step 2.5's table and the Version Awareness callout instruct reading "references/modern_features.md", which does not exist in the bundle — an instruction that fails when followed — keeping this below anchor 5's 'fully executable' bar. | 4 / 5 |
Workflow Clarity | The five-step workflow is explicitly ordered ("Work through these steps in order. Do not skip any step.") with a dedicated validation step, an explicit fix-and-revalidate feedback loop ("Do NOT proceed to Step 5 until all checks pass"), a common-failures table with fixes, and a manual fallback command path. This matches anchor 5: clear sequence, explicit validation, feedback loops for error recovery. | 5 / 5 |
Progressive Disclosure | Reference signaling is genuinely good — a "When to consult each reference" table and one-level-deep paths — but the actual bundle undermines it: "references/modern_features.md" is cited three times (Step 2.5 table, Version Awareness callout, References section) yet is absent from references/, and the assets section lists "aws-web-app/" and "multi-env/" which do not exist in assets/. Additionally, Step 3 inlines basic best-practice examples that duplicate the 768-line references/terraform_best_practices.md. This lands between anchor 3 ('content that should be separate is inline', broken navigation) and anchor 4 ('minor organization gaps') — the missing cited files are more than a minor gap since following the navigation fails, so anchor 3 is the better fit. | 3 / 5 |
Total | 14 / 20 Passed |