Back to Skills

terraform-documentation-generator

verified

Generates documentation for Terraform modules using terraform-docs tool to auto-generate README files with input/output tables, usage examples, and requirements. This skill should be used when users need to document Terraform modules, create or update README files, or maintain consistent module documentation.

View on GitHub

Marketplace

fastagent-marketplace

armanzeroeight/fastagent-plugins

Plugin

terraform-toolkit

Infrastructure as Code

Repository

armanzeroeight/fastagent-plugins
20stars

plugins/terraform-toolkit/skills/terraform-documentation-generator/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/armanzeroeight/fastagent-plugins/blob/main/plugins/terraform-toolkit/skills/terraform-documentation-generator/SKILL.md -a claude-code --skill terraform-documentation-generator

Installation paths:

Claude
.claude/skills/terraform-documentation-generator/
Powered by add-skill CLI

Instructions

# Terraform Documentation Generator

This skill helps generate and maintain Terraform module documentation using terraform-docs.

## When to Use

Use this skill when:
- Creating README.md for a new module
- Updating documentation after module changes
- Generating input/output reference tables automatically
- Ensuring consistent documentation across modules

## Using terraform-docs

### Installation

```bash
# macOS
brew install terraform-docs

# Linux
curl -sSLo ./terraform-docs.tar.gz https://terraform-docs.io/dl/latest/terraform-docs-linux-amd64.tar.gz
tar -xzf terraform-docs.tar.gz
chmod +x terraform-docs
mv terraform-docs /usr/local/bin/

# Or use Go
go install github.com/terraform-docs/terraform-docs@latest
```

### Basic Usage

```bash
# Generate markdown documentation
terraform-docs markdown table . > README.md

# Preview without writing
terraform-docs markdown table .

# Generate for specific directory
terraform-docs markdown table ./modules/vpc > ./modules/vpc/README.md
```

### Configuration File

Create `.terraform-docs.yml` in module root for consistent formatting:

```yaml
formatter: "markdown table"

header-from: main.tf

sections:
  show:
    - header
    - requirements
    - providers
    - inputs
    - outputs
    - resources

content: |-
  {{ .Header }}
  
  ## Usage
  
  ```hcl
  module "example" {
    source = "./modules/example"
    
    # Add your example here
  }
  ```
  
  {{ .Requirements }}
  {{ .Providers }}
  {{ .Inputs }}
  {{ .Outputs }}
  {{ .Resources }}

output:
  file: "README.md"
  mode: inject
  template: |-
    <!-- BEGIN_TF_DOCS -->
    {{ .Content }}
    <!-- END_TF_DOCS -->

sort:
  enabled: true
  by: required
```

### Auto-Generate Documentation

```bash
# With config file
terraform-docs .

# Inject into existing README between markers
terraform-docs markdown table --output-file README.md --output-mode inject .
```

### Output Formats

```bash
# Markdown table (most common)
terraform-docs markdown table .

# Markdown documen

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
4350 chars