用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill terraform-opentofu命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | terraform-opentofu |
| description | >- Use when this capability is needed. |
OpenTofu is a community-driven fork intent on keeping core IaC tooling open. Terraform remains the HashiCorp trademark product with its own license evolution. This skill helps engineers make technical decisions - legal review belongs to counsel.
Over time forks may adopt features at different cadences: language keywords, testing subsystems, encryption, provider discovery, and compatibility with private registries. Always read release notes for your pinned versions - blog summaries go stale.
terraform version output.tofu version in CI alongside (read-only) to compare.tofu init/plan/apply) after tofu init -upgrade in non-prod..terraform.lock.hcl compatibility - regenerate if maintainers recommend.Expect human process changes (binary names, Docker images).
Forks may offer improved customer-managed encryption stories for state files; combine with backend encryption (S3 SSE-KMS, GCS CMEK) regardless. Understand key rotation implications: Terraform/OpenTofu both need decrypt access during plan/apply.
Track which features are experimental or preview in each toolchain - promote experiments to staging only with feature flags documented in module README.
required_providers blocks remain central. Registry namespace compatibility is generally aligned
but confirm private registry tokens for each CLI in automation.
Many teams remain on Terraform simply because muscle memory and images exist - not irrational.
terraform binary names.local-exec scripts embedding terraform.Build a matrix: {AWS, Azure, GCP} × {modules X, Y} × {Terraform vs OpenTofu} at pinned versions - record plan diffs. Even zero diff builds confidence.
~/.terraformrc / ~/.tofurc paths may differ - standardize with TF_CLI_CONFIG_FILE.
OpenTufu may not target TFC APIs identically - if you depend on remote execution, validate integration or continue Terraform for orchestrated runs while using OpenTofu locally (generally discouraged due to split-brain).
When publishing modules internally, state supported CLIs explicitly in README to set consumer expectations.
Licenses evolved - schedule annual legal refresh with counsel; engineers should avoid definitive legal statements in Slack.
Ensure terraform test vs tofu test commands behave as expected in your pipelines - wrappers
may abstract this.
OpenTofu aims for compatibility but bug-for-bug parity is not guaranteed - retain ability to roll back to Terraform during evaluation windows.
Update TF_LOG playbooks to mention TOFU_LOG or equivalent environment variables if diverging.
Use official release artifacts and verify checksums - same as Terraform.
When adopting OpenTofu, contribute minimal reproducible bug reports upstream - improves everyone.
Day-to-day AWS resources → terraform-aws.
“Forks are automatically slower” - measure plan durations; anecdote misleads.
Tell stakeholders what changes in risk, not politics: testing burden, rollback, training.
Pick a toolchain deliberately; pin versions; test; document. You can change later with discipline - panic switching during incidents rarely ends well.
Maintain internal sheet of language features (checks, imports, ephemerals) vs toolchain versions - onboarding reads one table instead of archaeology across blogs.
If using hashicorp/terraform Docker tags, evaluate ghcr.io/opentofu/opentofu tags similarly -
pin by digest in CI.
Developer laptops diverge quickly - standardize on asdf or mise plugins supporting both CLIs for harmony.
Validate CLIs on Windows runners if applicable - path quoting differences lurk.
When providers crash, reproduce with both CLIs before filing provider bugs - maintainers ask.
Benchmarks should include cold and warm plans, multiple roots, and realistic provider counts.
Some procurement teams prefer single-vendor; others prefer OSS - provide objective compatibility matrices to procurement, not editorials.
Occasionally cherry-pick internal patches - maintain private fork only when absolutely necessary; upstream fixes beat long forks.
OpenTofu vs Terraform is not a moral choice - it is governance, support, and compatibility under your organization’s constraints; test accordingly.
If using customer-managed KMS with dual control (HSM), ensure break-glass runbooks cover Terraform and fork CLIs equally - operators shouldn’t discover incompatibility during drills.
Replicate provider zips to mirrors regardless of CLI - verify both CLIs honor provider_installation
blocks.
Rename jobs iac-plan not terraform-plan to reduce thrash when switching CLIs - small ergonomics
matter at scale.
“Same language, different runtime - validate plans like any major provider upgrade.”
Healthy competition between toolchains raises quality - contribute feedback constructively whichever side you ship.
If org runs Terraform 1.8 while evaluating OpenTofu 1.8-equivalent, misalignment on minor versions causes noisy comparisons - sync patch families before performance benchmarking.
Switching CLIs may recompute provider cache paths - run terraform providers lock / OpenTofu equivalent
on all worker OS targets to prevent “checksum mismatch” flakes during first rollout week.
Public modules should declare required_version constraints permissive enough for either toolchain if
you intend broad consumption - or split module branches explicitly to avoid unsatisfiable constraints.
VS Code Terraform extension behavior might differ subtly - document recommended settings.json for teams using diagnostics heavily.
During incidents, on-call might mix CLIs accidentally - standardize shell prompts (PS1) to display
terraform vs tofu clearly.
Track security advisories for both CLIs when evaluation window straddles announcements - don’t assume patches land same day.
Keep previous CI container image tags for instant rollback - store last-known-good digests in runbook.
When responding to RFPs, phrase support as “OpenTofu-compatible” only after actually testing - marketing language without matrices invites audit pain.
Tag applies with toolchain=tofu dimension in metrics to spot behavioral differences quickly.
Popular GitHub modules may mention only Terraform - open issues politely requesting documented OpenTofu support when you validate compatibility.
Two-week PoCs should include apply/destroy cycle on non-prod, not just plans - apply reveals provider edge cases.
Security, legal, FinOps each care about different facets - prepare FAQ addressing encryption, license, support SLOs.
Track announcements for old CLI versions - migrations happen twice if you postpone upgrades indefinitely.
| Topic | Evaluate by |
|---|---|
| Language features | Release notes diff |
| Registry auth | Integration test |
| State encryption | Security review |
| CI time | Benchmark |
| Support | Procurement |
Q: Can we mix Terraform Cloud runs with OpenTofu local? A: Only after vendor confirmation - default answer is no until proven.
This skill avoids legal advice - consult counsel for license compliance questions in regulated industries.
Day 1 inventory binaries; Day 2 non-prod init; Day 3 policy harness; Day 4 perf benchmark; Day 5
go/no-go review with leads. Adjust for org size.
Engineers may feel toolchain discussions distract from shipping - tie decisions to measurable CI minutes saved or risk reduced, not ideology.
Assign toolchain owner role rotating quarterly - prevents orphaned knowledge if one champion leaves.
Whether you run Terraform, OpenTofu, or both during transition, disciplined testing matters more than the logo in the binary name.
Teach contributors to shasum -a 256 downloaded archives against published checksum files -
supply-chain hygiene applies equally after a toolchain switch.
Mirror official docs offline if air-gapped - update snapshots when bumping minor versions; stale docs cause misconfiguration more often than code bugs.
Set a calendar deadline ending “either/or evaluation” to avoid months of dual maintenance draining focus - decide and commit resources.
One paragraph: current pain, proposed change, test evidence, roll-back, licensing note, decision date. If you cannot fill each slot, you are not ready to switch.
Add a COMPATIBILITY.md file in your platform repo summarizing verification dates - stale claims
hurt trust more than admitting “last tested 90 days ago, rerun before adoption.”
When executives ask “are we safe?”, answer with test matrices and rollback time, not ideology - numbers align cross-functional teams faster than slogans.
Source: eclosion-labs/terraform-cursor-plugin — distributed by TomeVault.