Terraform Skill (Trợ lý Terraform/OpenTofu)
Skill giúp Claude chẩn đoán nguyên nhân lỗi trước, rồi đưa ra giải pháp Terraform/OpenTofu an toàn kèm lệnh kiểm chứng và cách rollback.
Lập trìnhTrung cấp★ 2,254⑂ 199Điểm AI 9/10Cập nhật lần cuối: 3 thg 7, 2026
Skill này làm được gì
Biến Claude thành một reviewer hạ tầng có kỷ luật: chẩn đoán → đề xuất → kiểm chứng, thay vì sinh HCL ngay lập tức.
- Bảng định tuyến lỗi: phân loại triệu chứng thành 13 nhóm — identity churn (địa chỉ resource bị đổi sau refactor), lộ secret, blast radius, destroy lan rộng, CI drift, thiếu policy/compliance, điểm mù khi test, hỏng/khôi phục state, rủi ro nâng cấp provider... rồi chỉ nạp đúng tài liệu tham chiếu cần thiết.
- Hợp đồng phản hồi: mỗi câu trả lời đều nêu ① giả định và phiên bản tối thiểu (runtime, provider, backend, đường thực thi local/CI/Cloud/Atlantis) ② nhóm rủi ro được xử lý ③ giải pháp đã chọn và cái phải đánh đổi ④ lệnh kiểm chứng cụ thể (
fmt -check,validate,plan -out, policy check) ⑤ ghi chú rollback. - Rào an toàn: không khuyến nghị apply trực tiếp lên production nếu chưa có plan artifact đã review và được phê duyệt; bắt buộc chạy
plan -destroyvà liệt kê toàn bộ resource sẽ bị xoá (kể cả phụ thuộc ngầm qua locals/for_each) trước khi destroy, và tuyệt đối không dùng-auto-approvevới destroy. - Guard theo phiên bản:
moved(1.1+),optional()(1.3+),import/check(1.5+),terraform testgốc (1.6+), mock provider (1.7+),removed(1.7+), validation liên biến (1.9+), lock file S3 gốc (1.10+),write_only(1.11+). - Chuẩn hoá cấu trúc: phân tầng module (resource → resource module → infrastructure module → composition), layout thư mục, quy ước đặt tên, thứ tự block, hợp đồng biến/output, tiêu chí tách state (>500 resource thì tách, <100 thì gộp), chiến lược pin phiên bản, pipeline trivy/checkov.
- Code intelligence với terraform-ls: tìm định nghĩa/tham chiếu theo vị trí, đổi tên resource bằng khối
movedthay vì thay thế văn bản mù.
Phù hợp với ai
- Kỹ sư platform/DevOps viết và review module Terraform cho cả team
- Người cần tổ chức nhiều môi trường (dev/staging/prod) và backend state từ xa
- Người dựng pipeline IaC trên GitHub Actions, GitLab CI hoặc Atlantis, hay đang gặp lệch plan giữa local và CI
- Người muốn thiết lập chiến lược test với
terraform test, Terratest, mock provider - Team chuẩn bị chuyển sang OpenTofu hoặc nâng major version provider
Không cần thiết cho câu hỏi cú pháp HCL cơ bản hay tra API provider.
Ví dụ sử dụng
- Refactor
countsangfor_each: "Xoá một subnet ở giữa mà toàn bộ subnet bị tạo lại." → Skill xác định đây là identity churn, đề xuấtfor_each = toset(...)kèm bộ khốimoved, rồi yêu cầuplancho thấy 0 resource bị destroy. - Sửa CI drift: "Plan trên máy khác plan trên CI." → Pin runtime/provider, commit
.terraform.lock.hcl, và sửa pipeline để job apply dùng chính plan artifact đã review thay vì chạy lạiplan. - Secret nằm trong state: "Đặt
sensitive = truelà an toàn chưa?" → Skill giải thích nó chỉ che khi hiển thị, và gợi ýwrite_only/*_wonếu ở 1.11+, hoặc tra secret lúc runtime từ Secrets Manager/Key Vault nếu phiên bản thấp hơn. - State bị khoá / đổi backend: hướng dẫn xử lý lock treo, chọn
use_lockfilecủa S3 (1.10+) thay cho DynamoDB, kèm bước backup, lưu bằng chứng và cách rollback.
· · · Hướng dẫn cài đặt · · ·
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục skills/terraform-skill từ repo GitHub antonbabenko/terraform-skill vào ~/.claude/skills/antonbabenko-terraform-skill/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/antonbabenko/terraform-skill.git && mkdir -p ~/.claude/skills && cp -r terraform-skill/skills/terraform-skill ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal và tạo thư mục skill nếu chưa có:
mkdir -p ~/.claude/skills - Tải repo về:
git clone https://github.com/antonbabenko/terraform-skill.git - Sao chép nguyên thư mục skill (bao gồm cả
references/):cp -r terraform-skill/skills/terraform-skill ~/.claude/skills/ - Kiểm tra:
ls ~/.claude/skills/terraform-skill— phải thấySKILL.mdvà thư mụcreferences/. - (Khuyến nghị) Đảm bảo
terraformhoặctofuđã có trong PATH và chạyterraform initmột lần trong thư mục dự án để phần tra cứu bằng terraform-ls hoạt động. - Khởi động lại Claude Code, rồi thử yêu cầu như "review module Terraform này" hoặc "chuyển count sang for_each an toàn" — skill sẽ tự kích hoạt.
- Có thể xoá bản clone tạm:
rm -rf terraform-skill - Lưu ý an toàn: luôn tự đọc kết quả
plantrước khi chạy các lệnhapply,destroyhay thao tác state mà skill đề xuất.
Xem mã nguồn trên GitHub ↗Giấy phép: NOASSERTION