Skills · Claude Code · Agent Skills

state 是基础设施的记忆,plan 是契约 — 没有商量余地。

以 HCL 编写 IaC,OpenTofu 与 Terraform 同等对待:state 加密、版本固定、模块即 API,保存的 plan 经评审后只由 CI 执行。

v0.3.0Disciplina · IaC/OpenTofugithub.com/schematizeme/skill-terraform

维护者 Lucas Andrade

schematize-terraform · v0.3.0bash
$ schematize install terraform
GitHub →下载技能 (.zip)/terraform-help · github.com/schematizeme/schematize-cli

不可妥协的底线

绝不为“求快”而关闭。完整清单见技能。

每个仓库只用一种工具

OpenTofu 与 Terraform 地位相同,没有默认项;每个仓库选一个,绝不混用。

每个环境一个根目录

绝不用 workspace 区分 hml 与 prd:它共享 backend、凭据和代码。

远程、带锁、加密的 state

每个环境和每个 stack 一份并受版本控制;禁止明文 state,*.tfstate 与 *.tfplan 永不入 git。

固定版本与锁文件

required_version 与 required_providers 都带 version,并提交含全部平台哈希的 .terraform.lock.hcl。

模块即 API

变量带 type、description 和 validation,输出最少,密钥标 sensitive,子模块内绝不放 provider。

密钥不写进 HCL

绝不放在 .tf、.tfvars 或 default 中;优先选不进入 state 的方式(ephemeral、运行时读取的密钥库)。

保存 plan、人工评审、由 CI 执行 apply

只应用那份 plan;prd 只通过 CI 在受保护的 environment 中执行,绝不本地 apply。

命令

安装在 .claude/commands/。随时运行 /tf-help。

/tf-ccContext compact:将上下文和清单写入归档并运行 /compact。
/tf-claude在仓库根目录创建或合并常开的 IaC CLAUDE.md(不覆盖其他技能的区块)。
/tf-drift检测并分类 drift(plan -detailed-exitcode),并以 PR 形式提出处理方案。
/tf-handoff生成上下文交接而不压缩——会话结束或任务切换。
/tf-help列出所有命令。
/tf-import用 import、moved 或 removed 块接管现有资源,不手动执行 state mv。
/tf-load强制加载全部规范内容:工具、结构、state、版本与模块、密钥、流程、质量和 provider。
/tf-module按内部契约创建模块:带 validation 的变量、输出、不含 provider 的 versions.tf 以及测试。
/tf-planplan 流程:生成保存的 plan,按正确顺序阅读并准备人工评审。从不执行 apply。
/tf-review审查 IaC 仓库:运行门禁,并在有的情况下运行 fmt/validate/tflint,检查机器读不出的部分。

面向 AI 智能体

无需人工即可安装。元数据见 llms.txt。

  • 运行:git clone https://github.com/schematizeme/skill-terraform.git && ./skill-terraform/install.sh
  • 或下载:https://github.com/schematizeme/skill-terraform/releases/latest/download/skill-terraform.zip 并解压到 .claude/skills/
  • 将 assets/CLAUDE.md 复制到仓库根目录(常开规则)。
  • 用 /tf-help 确认。

不想安装?

阅读完整规范并直接复制到你的项目——或安装该技能,让智能体自动执行。