Install
$ agentstack add skill-bitwise-media-group-skills-terraform-module ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Scaffold a Terraform module
Creates a module with the canonical five-file layout. Apply the terraform-style skill's conventions while filling in real content, and finish with the terraform-validate workflow.
1. Name the module and pick providers
- Directory: kebab-case, named for what the module manages (
modules/ecr-registry, not
modules/registry-stuff). One cohesive concern per module.
- Decide which providers the module needs and their major-version constraints before writing
resources — they go in terraform.tf on day one.
2. Create the five canonical files
Copy the skeletons from this skill's [templates/](templates/) directory into the new module directory and replace the placeholder content:
| File | Template shows | | --- | --- | | terraform.tf | required_version + required_providers with major-version pins | | main.tf | a primary resource named main, plus naming-convention reminders | | variables.tf | a required flat variable, an object variable with optional() defaults | | outputs.tf | flat primary-attribute outputs and one grouped object output | | README.md | title, purpose paragraph, Usage example, Inputs/Outputs tables |
Every variable and output keeps a description — the linter enforces this.
3. Apply the house style
While implementing, follow the terraform-style skill. The rules that most often shape a new module's interface:
set(string)for unordered unique inputs; primary resource namedmain;name_prefix(trailing-) for account-unique named resources;- boolean-gated resources via
for_each = toset(var.x ? ["true"] : []); - outputs named for the attribute, cohesive facets grouped into one object;
- optional strings default to
null, never"".
Split cohesive resource families into domain files (iam-node.tf, signing.tf) once main.tf grows past a screenful — the five canonical files are the floor, not the ceiling.
4. Document and validate
- Fill in the README's Usage example with a realistic call (
module "x" { source = "../..." })
showing only the inputs a typical caller sets.
- Run the
terraform-validateworkflow (fmt → init/validate → tflint) on the new module before
committing.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: bitwise-media-group
- Source: bitwise-media-group/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.