smithery/poindexter12

tofu

OpenTofu infrastructure-as-code reference for HCL syntax, state management, module design, and provider configuration. Use when working with OpenTofu configurations (.tf files), running tofu commands, troubleshooting state issues, or designing modules. Includes Proxmox provider patterns.

Installation

$ npx skills add smithery/poindexter12 --skill tofu

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/poindexter12.

npx skills add smithery/poindexter12

Browse all from smithery/poindexter12

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,889 B
  • docs SUMMARY.md 375 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

OpenTofu Skill

Infrastructure-as-code reference for OpenTofu configurations, state management, and provider patterns.

OpenTofu is the open-source fork of Terraform, maintained by the Linux Foundation. Commands and syntax are nearly identical to Terraform.

Quick Reference

# Core workflow
tofu init              # Initialize, download providers
tofu validate          # Syntax validation
tofu fmt -recursive    # Format HCL files
tofu plan              # Preview changes
tofu apply             # Apply changes

# Inspection
tofu state list                    # List resources in state
tofu state show <resource>         # Show resource details
tofu graph | dot -Tsvg > graph.svg # Dependency graph

# Debug
TF_LOG=DEBUG tofu plan 2>debug.log

Core Workflow

init → validate → fmt → plan → apply
  1. init: Download providers, initialize backend
  2. validate: Check syntax and configuration validity
  3. fmt: Ensure consistent formatting
  4. plan: Preview what will change (review carefully)
  5. apply: Execute changes

Terraform Migration

OpenTofu is a drop-in replacement for Terraform:

# Replace terraform with tofu in commands
terraform init  →  tofu init
terraform plan  →  tofu plan
terraform apply →  tofu apply

# State files are compatible
# Provider configurations work the same
# Most modules work without changes

Key differences:

  • Different binary name (tofu vs terraform)
  • Some newer Terraform features may not be available yet
  • Provider registry defaults differ (can be configured)

Reference Files

Load on-demand based on task:

Topic File When to Load
Troubleshooting [troubleshooting.md](references/troubleshooting.md) Common errors, debugging
State [state-management.md](references/state-management.md) Backends, locking, operations
Modules [module-design.md](references/module-design.md) Module patterns, composition
Security [security.md](references/security.md) Secrets, state security
Migration [migration.md](references/migration.md) Terraform → OpenTofu
Proxmox Gotchas [proxmox/gotchas.md](references/proxmox/gotchas.md) Critical provider issues
Proxmox Auth [proxmox/authentication.md](references/proxmox/authentication.md) Provider config, API tokens
Proxmox VMs [proxmox/vm-qemu.md](references/proxmox/vm-qemu.md) proxmoxvmqemu patterns

Validation Checklist

Before tofu apply:

  • tofu init completed successfully
  • tofu validate passes
  • tofu fmt applied
  • tofu plan reviewed (check destroy/replace operations)
  • Backend configured correctly (for team environments)
  • State locking enabled (if remote backend)
  • Sensitive variables marked sensitive = true
  • Provider versions pinned
  • No secrets in version control
  • Blast radius assessed (what could break?)

Variable Precedence

(highest to lowest)

  1. -var flag: tofu apply -var="name=value"
  2. -var-file flag: tofu apply -var-file=prod.tfvars
  3. *.auto.tfvars files (alphabetically)
  4. terraform.tfvars file
  5. TFVAR* environment variables
  6. Variable defaults in variables.tf

Provider Configuration

# versions.tf
terraform {
  required_version = ">= 1.6.0"  # OpenTofu version

  required_providers {
    proxmox = {
      source  = "Telmate/proxmox"
      version = "~> 3.0"
    }
  }
}