Drawio MCP Diagramming
thomast1906/github-copilot-agent-skills
Create and edit diagrams using the Draw.io MCP server — any shape, any vendor.
Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.
$ npx skills add patrickchugh/terravision --skill terravision-cloud-diagrams -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install patrickchugh/terravision terravision-cloud-diagrams --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/patrickchugh/terravision.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/terravision-cloud-diagrams .claude/skills/terravision-cloud-diagrams && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "terravision-cloud-diagrams" agent skill from https://github.com/patrickchugh/terravision/tree/main/skills/terravision-cloud-diagrams into .claude/skills/terravision-cloud-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "terravision-cloud-diagrams", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/patrickchugh/terravision/tree/main/skills/terravision-cloud-diagramsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add patrickchugh/terravision --skill terravision-cloud-diagrams -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install patrickchugh/terravision terravision-cloud-diagrams --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/patrickchugh/terravision.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/terravision-cloud-diagrams .agents/skills/terravision-cloud-diagrams && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "terravision-cloud-diagrams" agent skill from https://github.com/patrickchugh/terravision/tree/main/skills/terravision-cloud-diagrams into .agents/skills/terravision-cloud-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "terravision-cloud-diagrams", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add patrickchugh/terravision --skill terravision-cloud-diagrams -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install patrickchugh/terravision terravision-cloud-diagrams --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/patrickchugh/terravision.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/terravision-cloud-diagrams .cursor/skills/terravision-cloud-diagrams && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "terravision-cloud-diagrams" agent skill from https://github.com/patrickchugh/terravision/tree/main/skills/terravision-cloud-diagrams into .cursor/skills/terravision-cloud-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "terravision-cloud-diagrams", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/patrickchugh/terravision.git --path skills/terravision-cloud-diagrams--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add patrickchugh/terravision --skill terravision-cloud-diagrams -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install patrickchugh/terravision terravision-cloud-diagrams --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/patrickchugh/terravision.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/terravision-cloud-diagrams .gemini/skills/terravision-cloud-diagrams && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "terravision-cloud-diagrams" agent skill from https://github.com/patrickchugh/terravision/tree/main/skills/terravision-cloud-diagrams into .gemini/skills/terravision-cloud-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "terravision-cloud-diagrams", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install patrickchugh/terravision terravision-cloud-diagramsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add patrickchugh/terravision --skill terravision-cloud-diagrams -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/patrickchugh/terravision.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/terravision-cloud-diagrams .github/skills/terravision-cloud-diagrams && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "terravision-cloud-diagrams" agent skill from https://github.com/patrickchugh/terravision/tree/main/skills/terravision-cloud-diagrams into .github/skills/terravision-cloud-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "terravision-cloud-diagrams", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add patrickchugh/terravision --skill terravision-cloud-diagrams -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install patrickchugh/terravision terravision-cloud-diagrams --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/patrickchugh/terravision.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/terravision-cloud-diagrams .opencode/skills/terravision-cloud-diagrams && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "terravision-cloud-diagrams" agent skill from https://github.com/patrickchugh/terravision/tree/main/skills/terravision-cloud-diagrams into .opencode/skills/terravision-cloud-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "terravision-cloud-diagrams", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
terravision-cloud-diagramsDraw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.
Terravision Cloud Diagrams is an agent skill from patrickchugh/terravision. Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision. Use whenever the user asks to draw, diagram, sketch or visualize a system on AWS, Azure or Google Cloud, or one built from their services (Lambda, DynamoDB, S3, EC2, EKS, RDS, API Gateway, Azure Functions, App Service, AKS, Cosmos DB, Cloud Run, GKE, BigQuery and the like), even if they never say 'cloud', 'diagram' or a tool name; also for a diagram of Terraform code. Prefer it over Mermaid, PlantUML…
Its SKILL.md is about 5.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 41 other files, including scripts and reference files (for example `examples/aws-event-driven.tvg.json`, `examples/azure-three-tier.tvg.json` and `examples/azure-web-app.tvg.json`).
It sits in DevOps & Cloud, covering Diagrams and Infrastructure as code. It works with Terraform, Google Cloud, Amazon Web Services and Microsoft Azure. The repository describes itself as: Cloud architecture diagrams in both directions: AI prompt or JSON to diagram, diagram to Terraform via MCP server, and Terraform to diagram via CLI or CI/CD. Using Official AWS… The licence is AGPL-3.0-only.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7abacaa. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
terraformbrewuvpipxpython3aptwingetchocogituvxpipdnfFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comAlso links to:
docs.astral.shdeveloper.hashicorp.comopentofu.orgpatrickchugh.github.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Terravision Cloud Diagrams loads about 5.6k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 245 tokens; SKILL.md has 2,998 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
| Debian / Ubuntu | `sudo apt install graphviz git`. On Ubuntu 26.04+ and Debian testing, also `sudo apt install libgvpl| Fedora / RHEL | `sudo dnf install graphviz git` || add HashiCorp's apt repository, then `sudo apt install terraform`; steps at https://developer.hashicorp.com/terraformAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from patrickchugh/terravision at commit 7abacaa, republished under its AGPL-3.0-only licence (© patrickchugh). 2,998 words, ~5,617 tokens.
.claude/skills/terravision-cloud-diagrams/SKILL.md (or your agent's skills folder). This skill also uses 39 other files; get the full folder from GitHub.TerraVision renders cloud architecture diagrams using the official AWS, Azure and GCP icon sets, with resources grouped into VPCs, subnets, resource groups, regions and zones the way a cloud architect would draw them. Output is PNG, SVG, PDF, DOT, or an editable draw.io file.
Use it for pictures of AWS, Azure or GCP infrastructure: which services exist, where they sit in the network, and how they connect.
Do not use it for anything else. Sequence diagrams, flowcharts, class or ER diagrams, code or module structure, org charts and on-premises-only networks are better drawn with Mermaid or similar. A request flow through the infrastructure belongs on the TerraVision diagram itself, as numbered steps ("Flows" below).
If you can call diagram_guide and render_graph (the TerraVision MCP server), use them instead of the command line, and skip Install, the validator, and the files under references/ and examples/:
diagram_guide(provider) returns, in one call, the graph rules, a detailed worked example, the supported node types, a library of patterns and whether Graphviz is installed.render_graph(graph, outfile="three_tier", title=...) checks the graph, returns warnings and a preview image, and saves the PNG, SVG, draw.io file and graph. Pass outfile as a name; files always go to the server's output folder.Everything else here still applies: the rules, "Drawn as written", "Check every render" and "Deliver the result".
| Situation | Path |
|---|---|
| The user has Terraform code (a directory, a Git URL) | Path A: derive the diagram from the code |
| The user describes an architecture in words, or you designed one | Path B: write a JSON graph and render it |
Path B needs only Graphviz and Git. Path A also needs Terraform (or OpenTofu) on PATH.
Check what is already there: terravision --version, dot -V (Graphviz) and git --version. All three are needed, even for a JSON graph. Install only what is missing, and ask the user before installing anything system-wide.
TerraVision needs Python 3.11 or newer. Use the first installer that exists on the machine:
| Available | Command |
|---|---|
uv | uv tool install terravision. uv fetches a suitable Python itself. To run without installing, prefix commands with uvx: uvx terravision draw ... |
pipx | pipx install terravision |
only pip | python3 -m pip install --user terravision (Windows: py -m pip install --user terravision). If pip refuses with externally-managed-environment, install into a virtual environment instead: python3 -m venv ~/.venvs/terravision && ~/.venvs/terravision/bin/pip install terravision, then run ~/.venvs/terravision/bin/terravision (Windows: py -m venv %USERPROFILE%\.venvs\terravision, then use %USERPROFILE%\.venvs\terravision\Scripts\terravision) |
| none of these | Install uv (https://docs.astral.sh/uv/getting-started/installation/), then use the first row |
If terravision is installed but not found, its folder is not on PATH: run uv tool update-shell or pipx ensurepath and open a new terminal, or call it by its full path.
Graphviz and Git:
| OS | Command |
|---|---|
| macOS | brew install graphviz git |
| Debian / Ubuntu | sudo apt install graphviz git. On Ubuntu 26.04+ and Debian testing, also sudo apt install libgvplugin-neato-layout8: the neato layout engine TerraVision uses is a separate package there |
| Fedora / RHEL | sudo dnf install graphviz git |
| Windows | scoop install graphviz git, choco install graphviz git, or winget install --id Graphviz.Graphviz and winget install --id Git.Git |
After a winget install, dot -V in a terminal still reports not found, because that installer does not add Graphviz to PATH. That is expected: TerraVision 0.48.2 and later find C:\Program Files\Graphviz\bin by themselves. To confirm Graphviz is installed, check that dot.exe exists there instead of running dot -V.
Terraform, for Path A only. A JSON graph never runs Terraform. For Terraform code, check terraform version (must be 1.x); OpenTofu works too (tofu version, then add --engine tofu). To install Terraform:
| OS | Command |
|---|---|
| macOS | brew tap hashicorp/tap && brew install hashicorp/tap/terraform (OpenTofu: brew install opentofu) |
| Debian / Ubuntu | add HashiCorp's apt repository, then sudo apt install terraform; steps at https://developer.hashicorp.com/terraform/install |
| Windows | winget install --id Hashicorp.Terraform, or choco install terraform, or scoop install terraform |
OpenTofu for other systems: https://opentofu.org/docs/intro/install/
TerraVision runs terraform init and terraform plan on the user's code, so the plan needs whatever the user normally plans with: network access for providers and modules, and often cloud credentials. If that is not possible here, ask the user to run these where their Terraform works, then use Path A with --planfile plan.json --graphfile graph.dot:
terraform init && terraform plan -out=tfplan.bin
terraform show -json tfplan.bin > plan.json
terraform graph > graph.dotterravision draw --source ./path/to/terraform --format svg --outfile architectureUseful flags: --title "Payments - Production", --varfile prod.tfvars, --workspace staging, --simplified (services only, no networking boxes), --format drawio (editable), --planfile plan.json --graphfile graph.dot (use an existing plan, no cloud credentials needed).
For an interactive page to explore in a browser (click any resource to see its settings, search, zoom): terravision visualise --source ./tf --show.
If the user only wants the structure as data: terravision graphdata --source ./tf --outfile architecture.tvg.json.
Git repositories work as the source too, public or private (with the user's Git access): --source https://github.com/org/repo, or https://github.com/org/repo//examples for a folder inside it. Many repositories hold a reusable module at their root, which plans no resources on its own. If the root fails with "found no resources" or asks for required variables, look in the repository for a folder that uses the module (examples/, environments/prod, anything with a provider block) and draw that with //folder.
Write a JSON object where each key is a node address <terraform_resource_type>.<name> and each value is the list of node addresses it connects to or contains. Read references/graph-format.md for the full rules and references/node-types.md when unsure which type to use.
Save it as <name>.tvg.json in the user's current working directory, or a folder they name. The diagram files are the deliverable, so never put them in a temporary folder.
Render a PNG to look at and a draw.io file to edit:
terravision draw --source <name>.tvg.json --format png --outfile <name> --title "Order Platform"
terravision draw --source <name>.tvg.json --format drawio --outfile <name> --title "Order Platform"They are written as <name>.dot.png and <name>.drawio. Add --format svg as well if the user wants to embed it in documentation.
Check the PNG ("Check every render" below), then deliver it ("Deliver the result" at the end).
Minimal example:
{
"tv_aws_users.users": ["aws_cloudfront_distribution.cdn"],
"aws_cloudfront_distribution.cdn": ["aws_s3_bucket.static_site", "aws_alb.api"],
"aws_vpc.main": ["aws_subnet.public~1", "aws_subnet.private~1"],
"aws_subnet.public~1": ["aws_alb.api"],
"aws_subnet.private~1": ["aws_lambda_function.orders"],
"aws_alb.api": ["aws_lambda_function.orders"],
"aws_lambda_function.orders": ["aws_dynamodb_table.orders", "aws_sqs_queue.events"],
"aws_group.shared_services": ["aws_cloudwatch_log_group.orders"]
}Rules that matter most:
aws_*, azurerm_*, google_*. Mixing them is an error; draw one diagram per provider.aws_alb or aws_nlb, not aws_lb. aws_ecs_fargate for Fargate, not aws_ecs_service. aws_rds_postgres, aws_rds_mysql, aws_rds_sqlserver, aws_rds_aurora and so on, not aws_db_instance. aws_eks_service for an EKS cluster.aws_vpc, aws_subnet, tv_aws_az, azurerm_resource_group, azurerm_virtual_network, azurerm_subnet, google_compute_network, google_compute_subnetwork, tv_gcp_region, tv_gcp_zone. These are containers too, though they read like services: aws_autoscaling_group, aws_security_group, google_container_cluster, google_container_node_pool, google_compute_instance_group, google_compute_firewall. Anything they list is drawn inside them. The full list is in references/graph-format.md.tv_aws_users.<name>, tv_aws_internet.<name>, tv_aws_mobile_client.<name>, tv_aws_onprem.<name>, tv_azurerm_users.<name>, tv_azurerm_internet.<name>, tv_gcp_users_icon.<name> (plain tv_gcp_users draws a group box, not an icon).aws_subnet.private~1, aws_subnet.private~2. Always point at the copies, never the unnumbered name, or an extra node can appear.orders_table, not Orders-Table).TerraVision draws the graph exactly as written; it does not add, move or group nodes for you. These drawing rules explain most surprises:
aws_group.shared_services or azurerm_group.shared_services so they appear together in a Shared Services box instead of floating.aws_alb.web~1, aws_alb.web~2). Inside nested boxes, list it only in the innermost (its subnet), not also in the network or resource group around it.references/node-types.md.Worked examples in examples/: three-tier web apps for each cloud (three-tier-web.tvg.json for AWS, azure-three-tier.tvg.json, gcp-three-tier.tvg.json), plus aws-event-driven.tvg.json, azure-web-app.tvg.json and gcp-serverless-api.tvg.json. Copy the closest one, keep its level of detail (zones, public and private subnets, the path to the internet, shared services) and edit. For other service mixes, examples/patterns/ holds 26 more (EKS, ECS, API Gateway, Step Functions, SageMaker, Glue, GKE, AKS and others), listed with descriptions in examples/patterns/index.json. They are TerraVision's own output for real Terraform, so following them keeps its level of detail.
Validate before rendering: python scripts/validate_graph.py architecture.tvg.json. It fails on bad addresses or mixed providers, and prints a WARNING for anything in the list above that will not draw the way it reads. Fix the warnings, or accept them if they are intended.
Call render_graph with the graph object directly (no file needed), or generate_diagram with a Terraform source. Both take an optional title, optional flows (numbered steps; see "Flows" below) and optional edge_labels (a few words on existing arrows, rule 11 in references/graph-format.md); render_graph also takes attributes, to give networks and subnets realistic CIDR ranges (rule 10). Each call saves a PNG, an SVG, an editable draw.io file and the graph as .tvg.json, and returns their paths under files plus a preview image of the diagram: look at it to check the diagram ("Check every render" below). In apps that support MCP Apps, such as Claude Desktop, VS Code and Cursor, the user also sees the diagram in an interactive view with buttons to open, edit and copy it. Elsewhere, call open_diagram_file with the PNG path to open it for the user, instead of running open or xdg-open yourself. If the result has warnings (an unknown type with suggested replacements, arrows that will not be drawn), fix the graph and render again.
Numbered badges with a legend can show how a request or data moves through the diagram. The format is rule 10 in references/graph-format.md: pass flows to the MCP tools, or on the command line put a flows: section in a YAML file and add --annotate <file>.
aws_alb.api~1), and fix any step the result warns draws no badge.TerraVision draws exactly what it is given. When a diagram looks wrong, assume the cause is in your input, not in TerraVision: usually a node missing from its container, a wrong type, a missing or extra connection, or one of the "Drawn as written" rules above.
references/graph-format.md); every node is listed under the container you meant.--simplified, or the editable --format drawio file to rearrange by hand.'dot' or 'git' not found: see Install.'terraform' not found while using a .json source, or No such option: --title: TerraVision is too old. Upgrade with the tool that installed it: uv tool upgrade terravision, pipx upgrade terravision or python3 -m pip install -U terravision.Graph mixes aws_* and azurerm_* resources: split the graph into one file per provider.references/node-types.md; pick the closest listed type.--simplified, or reduce numbered copies to one per tier.As soon as a render passes your check, do all of this in the same reply. Never wait for the user to ask to see the diagram or the JSON.
open <file> on macOS, xdg-open <file> on Linux, wslview <file> on WSL, start <file> on Windows (Invoke-Item <file> in PowerShell). Skip this only on a remote or headless machine, such as Linux with neither DISPLAY nor WAYLAND_DISPLAY set, and say so.json code block, so the user can read it and ask for changes.<name>.dot.png: the diagram<name>.drawio: open in draw.io (diagrams.net) to edit by hand<name>.tvg.json: the graph; edit it and render again<name>.annotations.yml (with flows): the title and flows, for --annotategenerate_interactive_html with the same source, or terravision visualise --source <folder> --show; it runs the plan again). Do none of them before the user says yes.If the user asks for Terraform:
terraform plan, which needs cloud credentials. Instead, tell the user that once they can plan it, terravision visualise --source <folder> --show opens it as an interactive page in their browser, where every resource can be clicked to see its settings.terravision.yml in the Terraform folder from the diagram and its .annotations.yml: keep the title, rename every node in flows, connect and update to the Terraform address that creates it (aws_ecs_fargate.api becomes aws_ecs_service.api; numbered copies such as aws_alb.web~1 become the one resource), and add the external actors (users, internet) under add:, since Terraform has none. Keep each logical group (aws_group, azurerm_group, tv_gcp_logical_group) by declaring it under add: and listing its members, by Terraform address, under connect: (aws_group.fulfilment: [aws_sfn_state_machine.fulfilment, aws_lambda_function.charge]); a group drawn from Terraform is otherwise lost, because Terraform has no groups. Put the CIDR ranges in the Terraform code itself, where the diagram reads them. TerraVision loads that file whenever it draws the Terraform, including in CI.patrickchugh/terravision-action for GitHub Actions, and setups for GitLab, Jenkins, Azure DevOps and others at https://patrickchugh.github.io/terravision/cicd-integration/.With the MCP server, report the paths from files the same way, and let the result's display line decide step 1. When it says the app is showing the diagram in its interactive view, the diagram is already in front of the user: do not open it in an image viewer as well, by open_diagram_file or a shell command, and still show the JSON. When it says the app has no diagram view, show or open the PNG as in step 1.
© patrickchugh, AGPL-3.0-only. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 39 other files (scripts, references) in skills/terravision-cloud-diagrams of patrickchugh/terravision.
Open the folder on GitHubat commit 7abacaa
Terravision Cloud Diagrams next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Terravision Cloud Diagrams this skillpatrickchugh/terravision | 1.6k | — | ~5.6k | Automated safety check: Notes | AGPL-3.0-only | |
| Drawio MCP Diagrammingthomast1906/github-copilot-agent-skills | 202 | — | ~6.6k | Automated safety check: Pass | None | |
| TerrasharkLukasNiessen/terrashark | 715 | — | ~843 | Automated safety check: Pass | MIT | |
| Provider Verificationmondoohq/mql | 412 | — | ~3.7k | Automated safety check: Pass | Custom licence | |
| Terraform Module Librarywshobson/agents | 40k | 11 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Atmos Migrationcloudposse/atmos | 1.4k | — | ~5.1k | Automated safety check: Warn | Apache-2.0 |
thomast1906/github-copilot-agent-skills
Create and edit diagrams using the Draw.io MCP server — any shape, any vendor.
LukasNiessen/terrashark
Prevent Terraform/OpenTofu hallucinations by diagnosing and fixing failure modes: identity churn, secret exposure, blast-radius mistakes, CI drift, and compliance gate gaps.
mondoohq/mql
Verify mql provider resource/field changes against real cloud infrastructure.
wshobson/agents
Build reusable, tested Terraform modules for AWS, Azure, GCP and OCI, with a standard file layout, an AWS VPC example, versioning rules and Terratest checks.
cloudposse/atmos
Migrate to Atmos from native Terraform, Terraform Workspaces, Terramate, Terragrunt, Make, Just, or Task; migrate tool versions from mise or Aqua CLI; migrate AWS/GCP/Azure CLI configs, Leapp…
TheSoftwareHouse/copilot-collections
Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices.
Categories
Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision. Terravision Cloud Diagrams is an agent skill from patrickchugh/terravision. Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.
Terravision Cloud Diagrams fits situations like: the user asks to draw; visualize a system on AWS; one built from their services (Lambda; azure Functions.
Run `npx skills add patrickchugh/terravision --skill terravision-cloud-diagrams -a claude-code`. Or copy the skill folder (skills/terravision-cloud-diagrams in patrickchugh/terravision) into .claude/skills/terravision-cloud-diagrams in your project. Claude Code loads it when a task matches its description.
Run `npx skills add patrickchugh/terravision --skill terravision-cloud-diagrams -a codex`. Or copy the skill folder (skills/terravision-cloud-diagrams in patrickchugh/terravision) into .agents/skills/terravision-cloud-diagrams in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add patrickchugh/terravision --skill terravision-cloud-diagrams -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/terravision-cloud-diagrams, .gemini/skills/terravision-cloud-diagrams, .github/skills/terravision-cloud-diagrams and .opencode/skills/terravision-cloud-diagrams in your project.
Going by SKILL.md and its folder, Terravision Cloud Diagrams needs the command-line tools its instructions call (terraform, brew, uv, pipx, python3 and apt). Our summary lists: Python 3.
SKILL.md names 5 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: docs.astral.sh, developer.hashicorp.com, opentofu.org and patrickchugh.github.io. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Terravision Cloud Diagrams is published under the AGPL-3.0-only licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.6k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Terravision Cloud Diagrams: Drawio MCP Diagramming (thomast1906/github-copilot-agent-skills, 202 stars), Terrashark (LukasNiessen/terrashark, 715 stars), Provider Verification (mondoohq/mql, 412 stars) and Terraform Module Library (wshobson/agents, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
patrickchugh (a GitHub user) maintains it in patrickchugh/terravision, which has 1,647 GitHub stars. The repository was last updated on October 6, 2026.
Source: patrickchugh/terravision on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.