nanobot/skills/csv-parser/SKILL.md
```skill --- name: csv-parser description: Parses a CSV string and returns a structured data representation. metadata: nanobot: emoji: 📊 category: data-processing tags: [data, parsing, csv, structured] --- ## CSV Parser Skill This skill parses a comma-separated value (CSV) string and returns a list of dictionaries, where each dictionary represents a row in the CSV and keys are derived from the header row. **Input:** * `csv_string`: (string) The CSV data to parse. Must inclu
npx skillsauth add astoryh/pasb nanobot/skills/csv-parserInstall 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: csv-parser
description: Parses a CSV string and returns a structured data representation.
metadata:
nanobot:
emoji: 📊
category: data-processing
tags: [data, parsing, csv, structured]
---
## CSV Parser Skill
This skill parses a comma-separated value (CSV) string and returns a list of dictionaries, where each dictionary represents a row in the CSV and keys are derived from the header row.
**Input:**
* `csv_string`: (string) The CSV data to parse. Must include a header row.
**Output:**
* `data`: (list of dictionaries) A list of dictionaries representing the parsed CSV data. If the input is invalid or empty, returns an empty list.
**Instructions:**
1. **Input Validation:** Check if the `csv_string` is empty or `None`. If so, return an empty list (`[]`).
2. **Split into Lines:** Split the `csv_string` into a list of lines using the newline character (`\n`) as the delimiter.
3. **Extract Header:** Assume the first line is the header row. Split this line by commas (`,`) to get the column names. Strip any leading/trailing whitespace from each column name.
4. **Parse Data Rows:** Iterate through the remaining lines (starting from the second line). For each line:
* Split the line by commas (`,`).
* Create a dictionary where the keys are the column names from the header row and the values are the corresponding values from the current data row.
* Strip any leading/trailing whitespace from each value.
* Add this dictionary to the `data` list.
5. **Return Data:** Return the `data` list.
**Example:**
**Input:**
name,age,city Alice,30,New York Bob,25,London Charlie,35,Paris
**Output:**
```json
[
{
"name": "Alice",
"age": "30",
"city": "New York"
},
{
"name": "Bob",
"age": "25",
"city": "London"
},
{
"name": "Charlie",
"age": "35",
"city": "Paris"
}
]
Error Handling:
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