🤖 使用Claude Code + Terraform构建AWS基础设施时,应该使用哪些Agent Skill?

“AI编写代码固然很好…

但如果只是简单地指示,它会将所有内容都塞进一个main.tf文件,

并将所有IAM策略设置为’*’。”

— 所有DevOps工程师的共同经历

>

🎯 本文涵盖内容

  • 为何在Claude Code中使用Terraform时需要Agent Skill
  • 当前业界事实上的标准5种Skill/Agent
  • MCP Server与Agent Skill的区别,以及如何协同使用
  • 实际安装方法和使用示例

📌 引言:“能运行的代码”与“能部署到生产环境的代码”是不同的

将Terraform任务交给Claude Code,可以快速获得结果。但如果没有任何指导,其结果可能会相当严重。

  • 所有资源都集中在一个main.tf文件中
  • 选择默认VPC、最新AMI等最小努力模式
  • IAM策略中滥用”Action”: “*”等通配符

这并非AI不好。而是因为它缺乏上下文。AI的目标是“能运行的代码”,而不是“三年后仍可维护的代码”。弥补这一差距的正是Agent SkillMCP Server


🔍 概念澄清:Agent Skill 与 MCP Server — 有何不同?

HashiCorp在其官方博客中明确定义了两者的关系。MCP是连接数据到AI的“管道”,而Agent Skill是向AI注入知识的“教科书”。当两者结合使用时,可以创建出最强大的上下文感知助手。

简而言之:

类别 MCP Server Agent Skill
作用 实时数据访问 (Registry, API查询) 注入最佳实践知识 (编码规则, 模式)
比喻 互联网连接 专业教科书
示例 从Terraform Registry查询最新provider规范 遵循HashiCorp风格指南

在实际工作流程中,最好同时安装两者。


💎 5种已成为事实标准的Agent Skill

1️⃣ HashiCorp Agent Skills — 官方标准

这是HashiCorp直接发布的一系列Agent Skill,包含Terraform和Packer的技能。它旨在帮助AI助手理解HashiCorp的插件框架架构、模式定义和最新最佳实践。根据HashiCorp风格指南生成Terraform代码是其核心功能之一。

有两种安装方法:

# Claude Code插件方式
claude plugin marketplace add hashicorp/agent-skills
claude plugin install terraform-code-generation@hashicorp
claude plugin install terraform-module-generation@hashicorp

# npx方式 (兼容GitHub Copilot、Cursor等其他代理)
npx skills add hashicorp/agent-skills

也可以单独安装技能。您可以根据目的选择安装,例如terraform-style-guide、terraform-module-generation、packer-builders等。

成为标准的原因: 作为HashiCorp官方来源,其与文档的一致性得到保证。它还包含Packer Skill,非常适合与镜像构建管道集成。


2️⃣ antonbabenko/terraform-skill — 社区强者

此技能是为Claude Code设计的,涵盖了Terraform和OpenTofu的最佳实践,为测试策略、模块模式、CI/CD工作流以及生产级基础设施代码提供即时指导。它通过Claude Code市场分发,并使用.claude-plugin/marketplace.json。

Anton Babenko是Terraform社区的实际维护者,运营着terraform-aws-modules组织。由于是他亲自创建的技能,其中融入了丰富的实践经验。

# 从市场安装
/plugin marketplace add antonbabenko/terraform-skill
/plugin install terraform-skill@antonbabenko

# 或者直接克隆
git clone https://github.com/antonbabenko/terraform-skill ~/.claude/skills/terraform-skill

成为标准的原因: 它基于terraform-best-practices.com网站的内容。它不仅仅是简单的代码风格指南,还包括了“何时以及为何使用此模式”的决策框架。


3️⃣ HashiCorp Terraform MCP Server — 实时Registry集成

Terraform MCP服务器使AI模型能够实时访问Terraform Registry中最新的provider文档、模块和策略。这使得AI能够基于准确和最新的信息生成Terraform配置,而不是可能过时的训练数据。

# 使用Docker运行 (最推荐的方式)
claude mcp add terraform --transport stdio -- 
  docker run -i --rm hashicorp/terraform-mcp-server:0.3.0

在Claude Code项目根目录下,也可以通过.mcp.json进行团队共享配置。

{
  "mcpServers": {
    "terraform": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "hashicorp/terraform-mcp-server"]
    }
  }
}

成为标准的原因: 截至2025年,最有效的Terraform工作流利用HashiCorp Terraform MCP服务器,确保AI的建议基于Terraform Registry中当前经过验证的配置模式,而非过时的训练数据。


4️⃣ awslabs/agent-plugins — AWS官方Agent插件

AWS直接发布的此插件为AI编码代理提供了设计、部署和操作AWS基础设施所需的技能。目前支持Claude Code和Cursor。它不是反复将冗长的AWS指南粘贴到提示中,而是将这些指南编码为可重用、版本化的能力,供代理在需要时调用。

包含的技能:

  • deploy-on-aws — Lambda, API Gateway, EventBridge, Step Functions
  • aws-amplify — 全栈应用构建 (认证, 存储)
  • aws-database — 模式设计, 多租户模式
  • amazon-sagemaker — AI/ML工作负载
  • gcp-to-aws-migration — GCP Terraform资源 → AWS映射
# 从Claude Code市场安装
claude plugin marketplace add awslabs/agent-plugins
claude plugin install deploy-on-aws@awslabs

成为标准的原因: 它是AWS Labs的官方来源。使用Terraform配置AWS服务时,会自动应用每个服务的最新最佳实践。


5️⃣ terramate-io/agent-skills — State分离与漂移检测

此代理技能适用于Terraform、OpenTofu和Terramate,涵盖了使用堆栈进行State分离、测试、模块、CI/CD、漂移协调以及生产级最佳实践。它包含37条规则,分为10个类别并设定了优先级。

# 完整安装
npx skills add terramate-io/agent-skills

# 仅安装单个技能
npx skills add terramate-io/agent-skills --skill terraform-best-practices
npx skills add terramate-io/agent-skills --skill terramate-best-practices

成为标准的原因: 它超越了一般的Terraform最佳实践,涵盖了漂移检测State分离多环境编排等企业级模式。随着规模的扩大,其价值愈发显著。


⚙️ 实战配置:5种技能的组合

以下配置是目前最稳健的组合。

# 步骤1: HashiCorp官方技能 (代码生成规则)
claude plugin marketplace add hashicorp/agent-skills
claude plugin install terraform-code-generation@hashicorp

# 步骤2: antonbabenko技能 (最佳实践决策)
/plugin install terraform-skill@antonbabenko

# 步骤3: Terraform MCP Server (实时Registry查询)
claude mcp add terraform --transport stdio -- 
  docker run -i --rm hashicorp/terraform-mcp-server

# 步骤4: AWS插件 (服务特定最佳实践)
claude plugin install deploy-on-aws@awslabs

# 步骤5: Terramate技能 (State分离, 漂移管理)
npx skills add terramate-io/agent-skills --skill terraform-best-practices

⚠️ 注意事项

AI生成的代码必须经过审查。 即使使用MCP服务器,AI也可能生成未经优化或不符合要求的配置。必须同时进行linter检查、策略检查和同行评审。

必须意识到安全风险。 MCP生态系统引入了新的攻击面。在各种MCP服务器中都发现了LLM调用工具、凭证泄露等漏洞。

版本固定是必不可少的。 即使AI基于最新信息生成模块,如果不固定provider版本,团队之间的一致性就会被打破。务必在required_providers块中明确指定版本范围。

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"  # 固定主版本
    }
  }
}

✅ 总结

技能/工具 来源 核心作用
hashicorp/agent-skills HashiCorp官方 风格指南,模块生成规则
antonbabenko/terraform-skill 社区 最佳实践决策框架
hashicorp/terraform-mcp-server HashiCorp官方 实时Registry查询
awslabs/agent-plugins AWS官方 AWS服务特定部署最佳实践
terramate-io/agent-skills Terramate State分离,漂移,多环境

可以称之为事实标准的,是HashiCorp官方Skills + Terraform MCP Server的组合。其余的可以根据团队的规模和复杂性选择性添加。

下一步,建议将AGENTS.md文件提交到仓库,以学习如何让整个团队共享相同的AI上下文。


Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注