terraform-registry

Solid

Provider-agnostic CLI for targeted search and inspection of the Terraform Registry via its JSON API — any provider (AWS, GCP/google, Azure/azurerm, GitLab, OpenStack, Kubernetes, ...). Use to find modules by keyword, inspect a module's inputs/outputs/versions, or look up a resource type's attributes, WITHOUT web-scraping or dumping pages into context — it fetches the JSON payload, strips it locally, and returns only what you asked for. Caches every payload as a provenance-stamped snapshot so repeat calls are offline and token-free. Use whenever you need accurate, current Terraform module/provider facts for writing or reviewing IaC.

DevOps & Infrastructure 8 stars 1 forks Updated today MIT

Install

View on GitHub

Quality Score: 81/100

Stars 20%
32
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# terraform-registry A self-contained CLI (`registry_helper.py`, stdlib-only) that queries the Terraform Registry's JSON API directly. It exists so an agent can get **accurate, current** module/provider facts deterministically — fetch the structured payload, filter to the slice you need, return that. No HTML, no full-text crawl, no page-dump into context. ## Running the helper Call the script by its **absolute path** — never a bare relative one. It sits next to this SKILL.md, in the base directory announced when the skill loads (usually `~/.claude/skills/terraform-registry`, or a plugin path if installed that way). You'll normally be working inside some *other* repo, so a bare `registry_helper.py` won't resolve and the script never runs. Define a `tfreg` shell function at the **start of each command block**, then call it. Two deliberate choices: a function (not a `VAR="…"; $VAR` string) passes arguments correctly under both bash and zsh — a plain `$VAR` doesn't word-split in zsh — and the name `tfreg` avoids colliding with the `terraform` CLI. Shell state doesn't persist between separate tool calls, so re-declare `tfreg` in every block (or write the full `uv run python <path> …`). ```bash # uv is the preferred runner. Resolve it even when it isn't on a bare PATH — non-interactive # shells often drop ~/.local/bin or the Homebrew bin, which is the usual cause of # `uv: command not found`: UV="$(command -v uv || ls "$HOME/.local/bin/uv" "$HOME/.cargo/bin/uv" /opt/homebrew/bi...

Details

Author
kevin-burns
Repository
kevin-burns/claude-skills
Created
2 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category