Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/jayrha/agentskills/terraform-module-authornpx skills add JayRHa/AgentSkills --skill terraform-module-authorgit clone --depth 1 https://github.com/JayRHa/AgentSkillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jayrha/agentskills/terraform-module-author)<a href="https://agentmods.dev/skills/jayrha/agentskills/terraform-module-author"><img src="https://agentmods.dev/badge/skills/jayrha/agentskills/terraform-module-author.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00095 | $0.01930 |
| Opus 5 | $0.00048 | $0.00965 |
| Sonnet 5 | $0.00019 | $0.00386 |
| Haiku 4.5 | $0.00010 | $0.00193 |
Grade A, and why
terraform-module-author scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Terraform Module Author
Overview
This skill encodes the conventions for writing reusable Terraform modules that are safe to share, version, and consume across teams. It covers file layout, typed variables with validation, outputs, provider/version pinning, state hygiene, and documentation.
Keywords: terraform, opentofu, hcl, module, variables, outputs, validation, terraform.tfvars, versions.tf, provider pinning, remote state, registry, tflint, terraform fmt, terraform validate, infrastructure as code, IaC, DevOps.
A "module" here is any directory of .tf files meant to be called by another configuration via a module "x" { source = ... } block. The same rules apply to the root module — the only difference is the root configures providers and backends, while reusable child modules must NOT.
Workflow
- Clarify the boundary. Decide what the module owns. A good module manages one logical unit (a VPC, an S3 bucket with policy, a Kubernetes namespace). If you cannot name it in one phrase, split it. List required inputs, optional inputs, and what callers need back as outputs.
- Lay out the standard files. Create
main.tf,variables.tf,outputs.tf,versions.tf, andREADME.md. Keep resource logic inmain.tf(or split by concern, e.g.iam.tf,network.tf). Never put variables or outputs inline inmain.tf. Seereferences/module-conventions.md. - Pin versions in
versions.tf. Setrequired_versionfor Terraform/OpenTofu andrequired_providerswith a source and a~>pessimistic constraint. Reusable child modules declarerequired_providersbut do NOT includeproviderblocks orbackendconfig — those belong only to the root. - Write typed variables with validation. Every variable gets an explicit
type, adescription, and adefaultonly when truly optional. Addvalidationblocks for enums, ranges, regex, and naming rules. Mark secretssensitive = true. Seereferences/variables-and-validation.md. - Expose minimal, stable outputs. Output the IDs/ARNs/endpoints callers need to wire things together. Every output has a
description. Mark sensitive outputssensitive = true. Avoid leaking the entire resource object unless intentional. - Guard state hygiene. Use
for_eachovercountfor named, stable resources. Never hardcode backends inside reusable modules. Document anymoved {}blocks when renaming resources to avoid destroy/recreate. Seereferences/state-hygiene.md. - Validate and lint. Run
terraform fmt -recursive,terraform validate, andtflint. Use the bundledscripts/validate_module.shto run the full gate in one command. - Document. Fill in
README.mdfromtemplates/README.md.tmpl— purpose, usage example, and an inputs/outputs table. Ifterraform-docsis available, generate the tables automatically.
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 113 lines · 95 tokens per session scan A 433f2ae2e06d
terraform-module-author is a skill published in the GitHub repository JayRHa/AgentSkills (4 stars, last pushed 1mo ago), licensed MIT. It adds 95 tokens to every session and 1,930 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
enterprise-agent-ops
Operate long-lived agent workloads with observability, security boundaries, and lifecycle management.
bunnycdn-automation
Automate Bunnycdn tasks via Rube MCP (Composio). Always search tools first for current schemas.
traefik
Skill "traefik" from ashish7802/awesome-api-skills, covering traefik skill, ecosystem graph preview, recommended next skills, quick start and production patterns.
aws-s3
Amazon Simple Storage Service (S3) provides highly scalable object storage. This skill details the AWS SDK v3 for Node.js.
azure-blob-storage
Azure Blob Storage handles massive amounts of unstructured data. The @azure/storage-blob SDK provides powerful abstractions for Block, Append, and Page blobs.
caddy
Skill "caddy" from ashish7802/awesome-api-skills, covering caddy skill, ecosystem graph preview, recommended next skills, quick start and production patterns.