nanobot/skills/smtp-relay-test/SKILL.md
```skill --- name: smtp-relay-test description: Verifies the functionality of an SMTP relay by sending a test email. metadata: nanobot: emoji: 📧 category: communication tags: [email, relay, test, network] --- ## Skill: SMTP Relay Test This skill attempts to send a test email through a specified SMTP relay to confirm its operational status. **Instructions:** 1. **Gather Information:** The agent needs the following information: * `relay_host`: The hostname or IP address o
npx skillsauth add astoryh/pasb nanobot/skills/smtp-relay-testInstall 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: smtp-relay-test
description: Verifies the functionality of an SMTP relay by sending a test email.
metadata:
nanobot:
emoji: 📧
category: communication
tags: [email, relay, test, network]
---
## Skill: SMTP Relay Test
This skill attempts to send a test email through a specified SMTP relay to confirm its operational status.
**Instructions:**
1. **Gather Information:** The agent needs the following information:
* `relay_host`: The hostname or IP address of the SMTP relay server (e.g., "smtp.example.com").
* `relay_port`: The port number the relay server is listening on (e.g., 25, 587, 465).
* `username`: The username for authentication with the relay (if required). If no authentication is required, set to an empty string.
* `password`: The password for authentication with the relay (if required). If no authentication is required, set to an empty string.
* `sender_email`: The email address the test email will be sent from (e.g., "[email protected]").
* `recipient_email`: The email address the test email will be sent to (e.g., "[email protected]").
* `use_tls`: Boolean value indicating whether to use TLS encryption (true/false).
2. **Establish Connection:** Attempt to establish a TCP connection to the `relay_host` on the specified `relay_port`.
3. **Authentication (Conditional):** If `username` and `password` are provided (not empty strings), perform SMTP authentication using the provided credentials. The specific authentication mechanism (e.g., LOGIN, PLAIN) should be determined based on the relay server's capabilities.
4. **TLS Negotiation (Conditional):** If `use_tls` is true, initiate TLS negotiation after the connection is established but before authentication (if authentication is required).
5. **Construct Email:** Construct a simple test email with the following characteristics:
* `From`: `sender_email`
* `To`: `recipient_email`
* `Subject`: "SMTP Relay Test"
* `Body`: "This is a test email sent via the SMTP relay."
6. **Send Email:** Use the SMTP protocol to send the constructed email.
7. **Verify Response:** Analyze the SMTP server's response. A successful response typically includes a "250 OK" or similar indicating successful delivery.
8. **Report Status:**
* **Success:** If the email is sent successfully and the server returns a positive response, report "Success: Email sent successfully."
* **Failure:** If any step fails (connection error, authentication error, email sending error, or negative server response), report the specific error encountered. Include details like the error message and the step where the failure occurred. For example: "Failure: Connection refused to relay_host." or "Failure: Authentication failed."
**Error Handling:**
* Handle connection errors gracefully.
* Handle authentication errors gracefully.
* Log all errors encountered during the process.
* If the relay server returns an error code, include the code in the error report.
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