awesome-claude-code-subagentsのterraformエージェントを試してみた
awesome-claude-code-subagents
はClaude Codeサブエージェントのリファレンスリポジトリです。
こちらのterraform-enginner
を試してみました。
Claude Codeサブエージェントとは
特定の専門分野に特化したAIエージェントを作成できる機能です。
詳細は以下をご確認ください。
やってみた
サブエージェントの作成
今回はプロジェクトスコープでサブエージェントをセットアップします。
グローバルスコープの場合は、下記の.claude/agents/
を~/.claude/agents/
に置き換える必要があります。
サブエージェント用のディレクトリを作成します。
mkdir -p .claude/agents/
ディレクトリ内にサブエージェント用のファイルを作成します。
touch .claude/agents/terraform-engineer.md
ファイルの中身には、GitHubリポジトリ上の該当ファイルの内容をコピーして貼り付けます。
サブエージェントを作成できたかを確認します。
ターミナルでClaude Code
を開いて、/agents
を入力します。
claude
/agents
以下のようにterraform-engineer
が表示されたらOKです。
agentsが利用するツールのインストール
エージェントファイルのtools
部分にエージェントが利用するツールが記載されています。
terraform関連の以下のツールをインストールしておきます。
- terraform
- tflint
- terraform-docs
- checkov
- (プロジェクトで利用している場合)terragrunt
コードレビューを頼んでみる
以下のコードを用意して、レビューを頼んでみました。
variable "aws_region" {
description = "AWS region"
type = string
default = "ap-northeast-1"
}
variable "environment" {
description = "Environment name"
type = string
default = "dev"
}
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
name = "${var.environment}-vpc"
cidr = "10.0.0.0/16"
azs = ["ap-northeast-1a", "ap-northeast-1c"]
private_subnets = ["10.0.101.0/24", "10.0.102.0/24"]
public_subnets = ["10.0.1.0/24", "10.0.2.0/24"]
enable_nat_gateway = false
enable_vpn_gateway = false
enable_dns_hostnames = true
enable_dns_support = true
}
プロンプトは以下です。
terarform-enginnerを使って、コードレビューをして下さい
レビュー結果は以下でした。
⏺ terraform-engineer(Updated Terraform code
review)
⎿ Done (13 tool uses · 12.5k tokens
⏺ terraform-engineerによる更新されたコ
ードレビューが完了しました。
現在の状態での主要課題
🚨 高優先度
1. VPCモジュールバージョン未固定
(main.tf:2)
- 破壊的変更のリスクあり
- version = "~> 5.0" を追加
削除推奨
🔧 中優先度
3. NAT Gateway無効化の文書化不足
4. 変数バリデーション不足
💡 低優先度
5. outputs.tf未作成
6. タグ戦略の拡張
総合評価
コード品質スコア: 7.5/10
最近の変更の影響: 🟢 POSITIVE
- 設定統合により構造が改善
- HashiCorpのベストプラクティスに準拠
- 保守性が向上
残る重要課題:
モジュールバージョン固定のみが
Critical レベル
terraform validate
やterraform fmt
tflint
等を行ってレビューをしてくれていました。
レビュー内容も全体的に違和感なく、良さそうですね。
モジュールバージョンの指摘は妥当ですが、現在は最新が6系なのでちょっと惜しいですね。(terraform-mcp-serverと組み合わせたら精度があがるかもしれません)
おわりに
いい感じのサブエージェントを一から作るのは大変なため、awesome-claude-code-subagents
助かります。
サブエージェントのカスタマイズもマークダウンファイルを編集するだけのため、awesome-claude-code-subagents
をベースにしてプロジェクト固有の部分を追加していくのがいいかもしれません。
awesome-claude-code-subagents
では、今回紹介したterraform-engineer
の他にも様々なサブエージェントが公開されています。
ぜひ確認してみてください。