nanobot/skills/slack-channel-archive/SKILL.md
```skill --- name: slack-channel-archive description: Archives a specified Slack channel, moving all messages to a compressed archive format. metadata: nanobot: emoji: 💾 category: data-management tags: [slack, archive, data, compression] --- ## Slack Channel Archive This skill allows the nanobot to archive a Slack channel. It will move all messages from the specified channel to a compressed archive file. The archive will be stored locally (or in a designated storage location,
npx skillsauth add astoryh/pasb nanobot/skills/slack-channel-archiveInstall 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: slack-channel-archive
description: Archives a specified Slack channel, moving all messages to a compressed archive format.
metadata:
nanobot:
emoji: 💾
category: data-management
tags: [slack, archive, data, compression]
---
## Slack Channel Archive
This skill allows the nanobot to archive a Slack channel. It will move all messages from the specified channel to a compressed archive file. The archive will be stored locally (or in a designated storage location, if configured - see Configuration below).
**Prerequisites:**
* Access to the Slack API with appropriate permissions to read channel history.
* Sufficient storage space for the archive.
**Instructions:**
1. **Identify the Channel:** The nanobot needs to know which Slack channel to archive. This is provided as an argument to the skill. The channel identifier can be the channel name (e.g., `#general`) or the channel ID (e.g., `C1234567890`). The nanobot will attempt to resolve the name to an ID if a name is provided.
2. **Retrieve Channel History:** The nanobot will use the Slack API to retrieve the complete message history for the specified channel. This may involve pagination if the channel has a large number of messages.
3. **Compress the Data:** The retrieved messages will be compressed into a single archive file. The compression format will be determined by the configuration (see Configuration below). Common formats include `.zip`, `.tar.gz`, or `.bz2`.
4. **Store the Archive:** The compressed archive file will be stored in a designated location. The storage location is determined by the configuration (see Configuration below).
5. **Confirmation:** The nanobot will report the successful archiving of the channel, including the archive file name and storage location. If an error occurs, the nanobot will report the error message.
**Arguments:**
* `channel`: (Required) The name or ID of the Slack channel to archive (e.g., `#general` or `C1234567890`).
**Configuration:**
The following configuration options can be set to customize the behavior of this skill:
* `storage_location`: (Optional) The directory where the archive file will be stored. Defaults to `/archives`.
* `compression_format`: (Optional) The compression format to use. Defaults to `zip`. Valid values are `zip`, `tar.gz`, and `bz2`.
* `slack_api_token`: (Required) The Slack API token with sufficient permissions. This should be securely stored and not hardcoded.
**Error Handling:**
* **Invalid Channel:** If the specified channel does not exist or the nanobot does not have access to it, an error message will be reported.
* **Insufficient Permissions:** If the nanobot does not have sufficient permissions to read the channel history, an error message will be reported.
* **Storage Error:** If there is an error writing the archive file to the storage location, an error message will be reported.
* **API Rate Limit:** If the Slack API rate limit is exceeded, the nanobot will pause and retry the request after a short delay.
**Example Usage:**
`slack-channel-archive channel:#general`
This will archive the Slack channel named `#general` and store the archive file in the default storage location (`/archives`) using the default compression format (`zip`).
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