terraform-style SKILL.md skillA

terraform-style from bitwise-media-group/skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add bitwise-media-group/skills/terraform-style@git:20260609.a97016e

Pins git:20260609.a97016e in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
bitwise-media-group/skills
Path
plugins/terraform/skills/terraform-style/SKILL.md
Versions recorded
1
Latest version
git:20260609.a97016e, committed Jun 9, 2026
Size
5,186 bytes
Repository stars
3
License
MIT

Terraform/HCL style conventions for writing readable, reusable modules — collection types, resource naming, name_prefix, for_each toggles, variable and output grouping, null defaults, and canonical file layout. Use when writing, reviewing, or refactoring Terraform code (.tf files, modules, root configurations), or when deciding how to name resources, structure variables, or shape module outputs.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# Terraform style conventions

Apply these conventions to every module and root configuration; match them when editing existing
code. They are load-bearing for readability and call-site ergonomics, not cosmetic preferences.
For the rationale behind each rule and extended examples, see [reference.md](reference.md).

## 1. Collections: `set(string)` for unordered, unique items

Use `set(string)` (not `list(string)`) whenever elements must be unique and order is irrelevant —
subnet IDs, instance types, CIDRs, ARNs, repository names, regions, namespaces. Uniqueness becomes
intrinsic, `for_each` gets stable keys without `toset()`, and the type documents intent.

```hcl
variable "private_subnet_ids" {
  description = "Private subnet IDs the cluster spans."
  type        = set(string)
}
```

Reserve `list(...)` for genuinely ordered data or where duplicates are meaningful. Terraform
auto-converts a `set` to a `list` when an argument requires one.

## 2. Never name a resource `this`

- A module's single primary resource → `main` (`aws_eks_cluster.main`).
- A `for_each`/`count` resource → a singular noun for one element (`aws_ecr_repository.repo`).
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add bitwise-media-group/skills/terraform-style@sha256:21de253982cc043c

The line at the top of this page pins the label git:20260609.a97016e, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_6uvyjxlyaryzpn54.svg)](https://markdownregistry.com/a/art_6uvyjxlyaryzpn54)

1 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Jun 9, 2026.

versioncommittedcommitsizeaudit
git:20260609.a97016e latest2026-06-09 a97016e 5,186 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (5186 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

bitwise-media-group/skills · 3 stars · license MIT · pushed 2026-10-21 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_6uvyjxlyaryzpn54
GET https://markdownregistry.com/api/v1/resolve?ref=bitwise-media-group/skills/terraform-style
GET https://markdownregistry.com/api/v1/blob/21de253982cc043c4c035f644419f05a2e224c41fba7b974471e765cd3422b0e

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from bitwise-media-group/skills

AGENTS.md AGENTS.md file
bitwise-media-group/skills · AGENTS.md
git:20261007.614a828 · audit A · 3 stars
CLAUDE.md CLAUDE.md file
bitwise-media-group/skills · CLAUDE.md
git:20260609.a97016e · audit B · 3 stars
actions-reusable-workflows SKILL.md skill
bitwise-media-group/skills · plugins/actions/skills/actions-reusable-workflows/SKILL.md · Wire a repository to the bitwise-media-group/github-workflows reusable workflows — thin, SHA-pinned caller workflows…
git:20260816.3aca11f · audit A · 3 stars
actions-security SKILL.md skill
bitwise-media-group/skills · plugins/actions/skills/actions-security/SKILL.md · Security hardening for GitHub Actions workflows with a least-privilege posture — default-deny permissions ({} then…
git:20260816.3aca11f · audit A · 3 stars
actions-style SKILL.md skill
bitwise-media-group/skills · plugins/actions/skills/actions-style/SKILL.md · GitHub Actions workflow authoring conventions for readable, least-privilege workflows — .github/workflows/*.yaml…
git:20260701.6f09c20 · audit A · 3 stars
actions-validate SKILL.md skill
bitwise-media-group/skills · plugins/actions/skills/actions-validate/SKILL.md · Validate GitHub Actions workflow files locally with the actionlint then zizmor loop — actionlint for syntax, expression…
git:20260816.3aca11f · audit A · 3 stars
go-docs SKILL.md skill
bitwise-media-group/skills · plugins/golang/skills/go-docs/SKILL.md · Go documentation conventions — a doc comment on every exported function, struct, type, and package, package comments in…
git:20260701.20789e5 · audit A · 3 stars
go-project SKILL.md skill
bitwise-media-group/skills · plugins/golang/skills/go-project/SKILL.md · Scaffold a Go project with the canonical layout — cmd/ entrypoints with a thin main, private packages under internal/…
git:20260816.2914172 · audit A · 3 stars
go-release SKILL.md skill
bitwise-media-group/skills · plugins/golang/skills/go-release/SKILL.md · Release engineering for Go projects — GoReleaser v2 with version ldflags into an internal/version package, SBOMs and…
git:20260816.3aca11f · audit A · 3 stars
go-style SKILL.md skill
bitwise-media-group/skills · plugins/golang/skills/go-style/SKILL.md · Modern Go code style for stdlib-first programs — error wrapping with %w, sentinel errors, structured logging with…
git:20260701.20789e5 · audit A · 3 stars
go-testing SKILL.md skill
bitwise-media-group/skills · plugins/golang/skills/go-testing/SKILL.md · Use when writing, reviewing, or running Go tests in _test.go files — writing tests for a Go package, adding…
git:20260701.20789e5 · audit A · 3 stars
python-docs SKILL.md skill
bitwise-media-group/skills · plugins/python/skills/python-docs/SKILL.md · Python documentation conventions — a Google-style docstring on every public module, class, and function, enforced by…
git:20260701.89b4f1f · audit A · 3 stars

Every file in bitwise-media-group/skills

Browse by kind, by grade A, or by owner.