nanobot/skills/terraform-plan-run/SKILL.md
```skill --- name: terraform-plan-run description: Executes a Terraform plan to preview infrastructure changes. metadata: nanobot: emoji: 🚀 category: infrastructure tags: [terraform, infrastructure, planning, preview] --- ## Terraform Plan Run This skill executes a Terraform plan to preview infrastructure changes. It assumes a Terraform project is already set up and initialized. **Instructions:** 1. **Navigate to the Terraform Project Directory:** The nanobot must first nav
npx skillsauth add astoryh/pasb nanobot/skills/terraform-plan-runInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: terraform-plan-run
description: Executes a Terraform plan to preview infrastructure changes.
metadata:
nanobot:
emoji: 🚀
category: infrastructure
tags: [terraform, infrastructure, planning, preview]
---
## Terraform Plan Run
This skill executes a Terraform plan to preview infrastructure changes. It assumes a Terraform project is already set up and initialized.
**Instructions:**
1. **Navigate to the Terraform Project Directory:** The nanobot must first navigate to the directory containing the Terraform configuration files (e.g., `main.tf`, `variables.tf`, `outputs.tf`). Use the `cd` command to change the current working directory. The path to the directory will be provided as an input parameter.
2. **Initialize Terraform (if necessary):** Check if Terraform is initialized. If not, run `terraform init`. This downloads necessary providers and modules. This step is optional and can be controlled by an input parameter.
3. **Run Terraform Plan:** Execute the `terraform plan` command. This command generates an execution plan, showing the changes that Terraform will make to the infrastructure.
4. **Output the Plan:** Capture the output of the `terraform plan` command. This output will contain a detailed description of the proposed changes. Present this output to the user.
**Input Parameters:**
* `terraform_directory` (string, required): The absolute path to the Terraform project directory. Example: `/home/user/terraform/my-project`
* `init` (boolean, optional, default: `false`): Whether to run `terraform init` before running the plan. Set to `true` if the project hasn't been initialized or if you want to ensure it's up-to-date.
**Output:**
* `plan_output` (string): The complete output of the `terraform plan` command. This will include a summary of the changes, as well as detailed descriptions of each resource that will be added, modified, or destroyed.
**Error Handling:**
* If the `terraform_directory` does not exist, return an error indicating that the directory could not be found.
* If the `terraform plan` command fails (e.g., due to syntax errors in the Terraform configuration), capture the error message and return it to the user.
* If `terraform init` fails, return an error indicating the initialization failed.
**Example:**
Input: terraform_directory: /home/user/terraform/my-project init: true
Execution: cd /home/user/terraform/my-project terraform init terraform plan
Output: plan_output: "...\n+ resource "aws_instance" "example" {...\n...\n"
development
```skill --- name: zoom-meeting-invite description: Generates and sends a Zoom meeting invitation to a specified list of recipients. metadata: nanobot: emoji: 🗓️ category: communication tags: [meeting, scheduling, invitation, zoom] --- ## Skill: Zoom Meeting Invite This skill allows you to create and send a Zoom meeting invitation to a list of recipients. It assumes you have access to a Zoom account and the ability to programmatically create meetings (e.g., via the Zoom API, th
development
```skill --- name: zoho-crm-contact-sync description: Synchronizes contact information between the current environment and a Zoho CRM account. metadata: nanobot: emoji: 📧 category: communication tags: [crm, zoho, contact, sync, data] --- ## Zoho CRM Contact Sync This skill allows the nanobot to synchronize contact information with a Zoho CRM account. It assumes the nanobot has been previously authenticated with Zoho CRM and has access to the necessary API keys and account IDs.
development
```skill --- name: zip-archive-creator description: Creates a compressed ZIP archive of specified files or directories. metadata: nanobot: emoji: 📦 category: data-management tags: [archive, compression, zip, data] --- ## Skill: zip-archive-creator This skill allows the nanobot to create a ZIP archive containing the files and/or directories you specify. **Instructions:** 1. **Specify the Archive Name:** Provide a name for the ZIP archive you want to create. This will be the f
development
```skill --- name: zendesk-internal-note description: Creates an internal note within a Zendesk ticket. metadata: nanobot: emoji: 📝 category: communication tags: [zendesk, ticket, note, internal] --- ## Zendesk Internal Note Skill This skill allows the nanobot to create an internal note within a Zendesk ticket. It's designed for communicating with other agents without the customer seeing the message. **Instructions:** 1. **Identify the Ticket:** The nanobot needs to know whi