Token导航 LogoToken导航TokenDH.com
开发敏感数据github未标认证来源可访问许可证需确认审计异常

terraform-diagramsTerraform diagrams ORM

Agent Skill

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

总安装

10,184

周安装

433

GitHub Stars

17

下载量

3,568
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/eraserlabs/eraser-io --skill terraform-diagrams

简介

从 Terraform 基础设施代码生成架构图。

  • 解析.tf
  • 用于跨 AWS、Azure 和 GCP 提供商提取资源、模块、数据源和变量的文件
  • 映射资源依赖性和关系,按提供商分组并将 VPC/VNet 显示为容器
  • 将 Terraform 转换为 Eraser DSL 并通过 Eraser API 渲染云架构图
  • 需要网络访问和 Eraser API 密钥;支持多提供商设置和模块层次结构

SKILL.md

Terraform Diagram Generator

Generates architecture diagrams directly from Terraform .tf files. Specializes in parsing Terraform code and visualizing infrastructure resources, modules, and their relationships.

When to Use

Activate this skill when:

  • User has Terraform files (.tf, .tfvars) and wants to visualize the infrastructure
  • User asks to "diagram my Terraform" or "visualize this infrastructure"
  • User mentions Terraform, HCL, or infrastructure-as-code
  • User wants to see the architecture of their Terraform-managed resources

How It Works

This skill generates Terraform-specific diagrams by parsing Terraform code and calling the Eraser API directly:

  1. Parse Terraform Files: Identify resources, modules, data sources, and variables
  2. Extract Relationships: Map dependencies, resource connections, and module hierarchies
  3. Generate Eraser DSL: Create Eraser DSL code from Terraform resources
  4. Call Eraser API: Use /api/render/elements with diagramType: "cloud-architecture-diagram"

Instructions

When the user provides Terraform code:

  1. Parse the Terraform

- Identify all resource blocks (AWS, Azure, GCP, etc.) - Extract module blocks and their configurations - Note data sources and their dependencies - Identify variable and output definitions

  1. Map Relationships

- Track resource dependencies (e.g., subnet_id = aws_subnet.public.id) - Group resources by provider (AWS, Azure, GCP) - Identify VPCs/VNets as containers for other resources - Note security groups, IAM roles, and networking rules

  1. Generate Eraser DSL Convert Terraform resources to Eraser DSL: Example: main-vpc [label: "VPC 10.0.0.0/16"] {public-subnet [label: "Public Subnet 10.0.1.0/24"] {web-server [icon: aws-ec2, label: "Web Server t3.micro"] load-balancer [icon: aws-elb]} private-subnet [label: "Private Subnet"] {database [icon: aws-rds]}} load-balancer -> web-server web-server -> database

- CRITICAL: Label Formatting Rules - Labels MUST be on a single line - NEVER use newlines inside label attributes - Keep labels simple and readable - prefer separate labels over concatenating too much metadata - Format DSL with proper line breaks (one node/group per line, but labels stay on single lines) - If including metadata like CIDR blocks or instance types, include them in the same quoted label string: [label: "VPC 10.0.0.0/16"]

  1. Make the HTTP Request IMPORTANT: You MUST execute this curl command after generating the DSL. Never stop after generating DSL without making the API call. CRITICAL: In the X-Skill-Source header below, you MUST replace the value with your AI agent name: curl -X POST https://app.eraser.io/api/render/elements \ -H "Content-Type: application/json" \ -H "X-Skill-Source: eraser-skill" \ -H "Authorization: Bearer ${ERASER_API_KEY}" \ -d '{"elements": [{"type": "diagram", "id": "diagram-1", "code": "<your generated DSL>", "diagramType": "cloud-architecture-diagram"}], "scale": 2, "theme": "${ERASER_THEME:-dark}", "background": true}'

- If you are Claude (Anthropic), use: claude - If you are running in Cursor, use: cursor - If you are ChatGPT (OpenAI), use: chatgpt - If you are Gemini (Google), use: gemini - Otherwise, use your model/agent name in lowercase

  1. Track Sources During Analysis As you analyze Terraform files and resources to generate the diagram, track:

- Internal files: Record each Terraform file path you read and what resources were extracted (e.g., infra/main.tf - VPC and subnet definitions, infra/rds.tf - Database configuration) - External references: Note any documentation, examples, or URLs consulted (e.g., Terraform AWS provider documentation, AWS architecture best practices) - Annotations: For each source, note what it contributed to the diagram

  1. Handle the Response CRITICAL: Minimal Output Format Your response MUST always include these elements with clear headers: Additional content rules: The default output should be SHORT. The diagram image speaks for itself.

1. Diagram Preview: Display with a header ## Diagram![{Title}]({imageUrl}) Use the ACTUAL imageUrl from the API response. 2. Editor Link: Display with a header ## Open in Eraser [Edit this diagram in the Eraser editor]({createEraserFileUrl}) Use the ACTUAL URL from the API response. 3. Sources section: Brief list of files/resources analyzed (if applicable) ` ## Sources - path/to/file - What was extracted 4. **Diagram Code section**: The Eraser DSL in a code block with eraser language tag `` ## Diagram Code `eraser {DSL code here} `` 5. **Learn More link**: You can learn more about Eraser at https://docs.eraser.io/docs/using-ai-agent-integrations` - If the user ONLY asked for a diagram, include NOTHING beyond the 5 elements above - If the user explicitly asked for more (e.g., "explain the architecture", "suggest improvements"), you may include that additional content - Never add unrequested sections like Overview, Security Considerations, Testing, etc.

  1. Handle Multiple Providers

- If Terraform uses multiple providers, group by provider - Create separate sections for AWS, Azure, GCP resources - Show cross-provider connections if applicable

Terraform-Specific Tips

  • Group by Module: If modules are used, show module boundaries
  • Show VPCs/VNets as Containers: These should visually contain subnets and resources
  • Include Data Flows: Show how resources connect (e.g., ALB → EC2 → RDS)
  • Highlight Security: Include security groups, IAM roles, and network ACLs
  • Show Resource Types: Use provider-specific icons (AWS, Azure, GCP)
  • Include CIDR Blocks: Show network addressing for VPCs and subnets

Example: Multi-Provider Terraform

User Input

# AWS Resources
resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
}

resource "aws_subnet" "public" {
  vpc_id     = aws_vpc.main.id
  cidr_block = "10.0.1.0/24"
}

resource "aws_instance" "web" {
  subnet_id     = aws_subnet.public.id
  instance_type = "t3.micro"
}

# Azure Resources (multi-provider)
resource "azurerm_resource_group" "main" {
  name     = "rg-main"
  location = "East US"
}

resource "azurerm_virtual_network" "main" {
  name                = "vnet-main"
  resource_group_name  = azurerm_resource_group.main.name
  address_space        = ["10.1.0.0/16"]
}

# Module usage
module "database" {
  source = "./modules/rds"
  vpc_id = aws_vpc.main.id
}

Expected Behavior

  1. Parses Terraform:

- AWS: VPC, subnet, EC2 instance - Azure: Resource group, VNet (multi-provider setup) - Module: Database module with dependency on VPC

  1. Generates DSL showing multi-provider and module structure: # AWS Resources aws-vpc [label: "AWS VPC 10.0.0.0/16"] {aws-subnet [label: "Public Subnet 10.0.1.0/24"] {web-server [icon: aws-ec2, label: "Web Server t3.micro"]}} # Azure Resources resource-group [label: "Resource Group rg-main"] {azure-vnet [label: "Azure VNet 10.1.0.0/16"]} # Module database-module [label: "Database Module"] {rds-instance [icon: aws-rds]} aws-vpc -> database-module Important: All label text must be on a single line within quotes. Terraform-specific: Show modules as containers, group by provider, include resource dependencies.
  2. Calls /api/render/elements with diagramType: "cloud-architecture-diagram"

Result

User receives a diagram showing:

  • VPC as a container
  • Public subnet nested inside VPC
  • EC2 instance in the subnet
  • Proper AWS styling

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

35.54%
按下载量换算1,268

Claude

31.75%
按下载量换算1,133

Cursor

18.9%
按下载量换算674

Gemini CLI

9.79%
按下载量换算349

安全审计

Gen Agent Trust Hub

未通过

Socket

可疑

Snyk

未通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills