nanobot/skills/soap-request-formatter/SKILL.md
```skill --- name: soap-request-formatter description: Formats unstructured data into a valid SOAP request string. metadata: nanobot: emoji: 🧼 version: 1.0 category: communication tags: [soap, request, formatting, xml] --- ## Skill Instructions This skill takes unstructured data and transforms it into a properly formatted SOAP request string. The input will be a dictionary-like structure representing the data to be included in the SOAP request. You must construct a valid X
npx skillsauth add astoryh/pasb nanobot/skills/soap-request-formatterInstall 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: soap-request-formatter
description: Formats unstructured data into a valid SOAP request string.
metadata:
nanobot:
emoji: 🧼
version: 1.0
category: communication
tags: [soap, request, formatting, xml]
---
## Skill Instructions
This skill takes unstructured data and transforms it into a properly formatted SOAP request string. The input will be a dictionary-like structure representing the data to be included in the SOAP request. You must construct a valid XML string adhering to basic SOAP envelope, header (optional), and body structure.
**Input:**
A dictionary containing the data for the SOAP request. The dictionary will have the following keys (though not all may be present):
* `soapAction`: (string) The SOAP action to include in the request. This is *required*.
* `header`: (dictionary, optional) A dictionary containing key-value pairs for the SOAP header. If not provided, omit the header section.
* `body`: (string) The XML content for the SOAP body. This is *required*.
**Output:**
A string containing the complete, formatted SOAP request.
**Formatting Rules:**
1. **Envelope:** The request *must* be enclosed within a `<soapenv:Envelope>` tag. Assume `xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"`.
2. **Header (Optional):** If a `header` dictionary is provided in the input, create a `<soapenv:Header>` section. For each key-value pair in the `header` dictionary, create a corresponding XML element within the header. For example, if `header = {"To": "http://example.com", "From": "[email protected]"}` then the header section should be:
```xml
<soapenv:Header>
<To>http://example.com</To>
<From>[email protected]</From>
</soapenv:Header>
```
3. **Body:** The `body` string from the input *must* be placed within a `<soapenv:Body>` tag.
4. **SOAP Action:** The `soapAction` from the input *must* be included in the HTTP headers (not in the XML itself). This skill does *not* handle HTTP header creation; it only formats the XML.
5. **XML Validity:** The generated XML *must* be well-formed. Ensure proper tag nesting and closing.
**Example:**
**Input:**
```python
{
"soapAction": "http://example.com/soap/action",
"header": {
"To": "http://example.com",
"From": "[email protected]"
},
"body": "<ns1:MyRequest xmlns:ns1=\"http://example.com\"><ns1:Parameter>Value</ns1:Parameter></ns1:MyRequest>"
}
Output:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<To>http://example.com</To>
<From>[email protected]</From>
</soapenv:Header>
<soapenv:Body>
<ns1:MyRequest xmlns:ns1="http://example.com">
<ns1:Parameter>Value</ns1:Parameter>
</ns1:MyRequest>
</soapenv:Body>
</soapenv:Envelope>
Error Handling:
soapAction or body are missing from the input, return an error message: "Error: Missing required fields (soapAction or body)."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