Token导航 LogoToken导航TokenDH.com
开发规范只读github未标认证来源可访问许可证需确认审计通过

terraform-best-practicesTerraform 最佳实践

Agent Skill

用于辅助云资源、部署、容器、基础设施和运维自动化任务。它适合让 Agent 检查配置、整理部署步骤、分析资源状态、生成排障思路或辅助云服务接入。使用时需要明确目标环境、账号权限、区域和资源组,区分本地测试与生产操作;涉及删除资源、重启服务、修改网络或权限配置时,应先确认影响范围。

总安装

309

周安装

13

GitHub Stars

公开资料未说明

下载量

108
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:terraform-best-practices(Terraform 最佳实践)
来源仓库:https://github.com/wvides/terraform-best-practices
仓库路径:skills/terraform-best-practices
安装命令:
npx skills add https://github.com/wvides/terraform-best-practices --skill terraform-best-practices
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/wvides/terraform-best-practices --skill terraform-best-practices

简介

用于辅助云资源部署与基础设施管理,支持配置检查与运维流程梳理。

  • 适合在 IaC 开发、环境搭建或资源排障中提供最佳实践参考。
  • 通过 GitHub 安装,使用 npx 命令添加技能并关联 Terraform 项目路径。
  • 使用时需明确目标环境、账号权限与区域设置,避免误操作影响生产系统。
  • terraform-best-practices 属于开发规范类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Terraform Best Practices

This skill ensures that Terraform configurations are modular, secure, and maintainable by following established industry standards and organizational patterns.

When to Use

  • Reviewing existing Terraform code for anti-patterns and technical debt.
  • Refactoring monolithic .tf files into reusable, versioned modules.
  • Setting up new infrastructure projects to ensure a consistent directory structure from the start.
  • Validating security, naming conventions, and resource tagging before committing changes.

Core Guidelines

1. Standard Directory Structure

Every module or root configuration MUST maintain a consistent file layout:

  • main.tf: Primary resource definitions.
  • variables.tf: Input variable declarations (always include description and type).
  • outputs.tf: Output value definitions (always include description).
  • versions.tf: Minimum required Terraform and provider version constraints.
  • providers.tf: Provider configurations (restrict this to root modules only).

2. The Module Pattern

  • Encapsulate: Move complex or repetitive logic into a local modules/ directory or a remote registry.
  • Root Simplicity: Root modules should primarily serve as an orchestration layer, calling sub-modules.
  • Decouple: Avoid hardcoding environment-specific values; pass them as variables.

3. State Management

  • Remote Backends: Always use a remote backend (e.g., S3 + DynamoDB for AWS, GCS for GCP) for team collaboration.
  • State Locking: Ensure state locking is enabled to prevent concurrent modifications and state corruption.

4. Semantic Versioning (SemVer)

All separated or shared modules MUST follow semantic versioning (MAJOR.MINOR.PATCH) based on the interface (variables and outputs):

  • MAJOR (Breaking): Incremented for breaking changes to the module's interface (e.g., removing a variable, changing a variable type, or changing the resource graph in a way that requires recreation).
  • MINOR (Feature): Incremented for new features that are backwards-compatible (e.g., adding a new optional variable or a new output).
  • PATCH (Fix): Incremented for backwards-compatible bug fixes or internal refactors that do not change the interface.
  • Requirement: Every version bump MUST be accompanied by successful Terratest execution.

5. Naming & Tagging Conventions

  • Naming: Use snake_case for all resource, variable, and output names. Avoid repeating the resource type in the name (e.g., use resource "aws_instance" "web" {} instead of web_instance).
  • Standard Tagging: Taggable resources MUST include a standard tags block:

- Owner: The team or individual responsible for the resource. - Environment: Deployment stage (e.g., dev, staging, prod). - Project: Name of the project or application. - ManagedBy: Always set to terraform.

5. Validation & Tooling

Before finalizing changes, execute the following sequence:

  1. Format: terraform fmt (automated style alignment).
  2. Validate: terraform validate (syntactic and structural check).
  3. Lint: Use tflint for deep linting and provider-specific best practices.
  4. Security: Run tfsec or checkov to identify security vulnerabilities.
  5. Test: Execute automated infrastructure tests using Terratest to verify behavioral correctness.

Infrastructure Testing (Terratest)

Every module MUST include automated tests in a tests/ directory:

  • Language: Use Go with the gruntwork-io/terratest library.
  • Scope:

- Unit Tests: Deploy a minimal version of the module and verify outputs/resource attributes. - Integration Tests: Verify the module works correctly when combined with other infrastructure (e.g., VPC + DB).

  • Cleanup: Always use defer terraform.Destroy(t, terraformOptions) to ensure resources are cleaned up after tests.

Workflow: Reviewing Existing Code

  1. Inventory: Identify all .tf files and their dependencies.
  2. Gap Analysis: Compare the current layout and code against these best practices.
  3. Detection: Look for anti-patterns:

- Missing description on variables/outputs. - Hardcoded secrets or sensitive data (recommend vault or aws_secretsmanager). - Monolithic files (> 300 lines).

  1. Refactor Plan: Propose a step-by-step plan to modularize or fix the identified issues.

Workflow: Authoring New Resources

  1. Scaffold: Create the standard file set (main.tf, variables.tf, etc.).
  2. Define: Declare variables with clear types and descriptions before writing resource blocks.
  3. Document: Use terraform-docs to generate READMEs for modules.

Overriding Standards (TERRAFORM.md)

If a TERRAFORM.md file exists in the workspace root, its instructions and conventions take absolute precedence over these general guidelines. Always check for this file first.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.7%
按下载量换算39

Claude

32.4%
按下载量换算35

Cursor

17.46%
按下载量换算19

Gemini CLI

10.47%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills