slack

Use when you need to control Slack from Understudy via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.

411 stars

Best use case

slack is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when you need to control Slack from Understudy via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.

Teams using slack should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/slack/SKILL.md --create-dirs "https://raw.githubusercontent.com/understudy-ai/understudy/main/skills/slack/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/slack/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How slack Compares

Feature / AgentslackStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when you need to control Slack from Understudy via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Slack Actions

## Overview

Use `slack` to react, manage pins, send/edit/delete messages, and fetch member info. The tool uses the bot token configured for Understudy.

## Inputs to collect

- `channelId` and `messageId` (Slack message timestamp, e.g. `1712023032.1234`).
- For reactions, an `emoji` (Unicode or `:name:`).
- For message sends, a `to` target (`channel:<id>` or `user:<id>`) and `content`.

Message context lines include `slack message id` and `channel` fields you can reuse directly.

## Actions

### Action groups

| Action group | Default | Notes                  |
| ------------ | ------- | ---------------------- |
| reactions    | enabled | React + list reactions |
| messages     | enabled | Read/send/edit/delete  |
| pins         | enabled | Pin/unpin/list         |
| memberInfo   | enabled | Member info            |
| emojiList    | enabled | Custom emoji list      |

### React to a message

```json
{
  "action": "react",
  "channelId": "C123",
  "messageId": "1712023032.1234",
  "emoji": "✅"
}
```

### List reactions

```json
{
  "action": "reactions",
  "channelId": "C123",
  "messageId": "1712023032.1234"
}
```

### Send a message

```json
{
  "action": "sendMessage",
  "to": "channel:C123",
  "content": "Hello from Understudy"
}
```

### Edit a message

```json
{
  "action": "editMessage",
  "channelId": "C123",
  "messageId": "1712023032.1234",
  "content": "Updated text"
}
```

### Delete a message

```json
{
  "action": "deleteMessage",
  "channelId": "C123",
  "messageId": "1712023032.1234"
}
```

### Read recent messages

```json
{
  "action": "readMessages",
  "channelId": "C123",
  "limit": 20
}
```

### Pin a message

```json
{
  "action": "pinMessage",
  "channelId": "C123",
  "messageId": "1712023032.1234"
}
```

### Unpin a message

```json
{
  "action": "unpinMessage",
  "channelId": "C123",
  "messageId": "1712023032.1234"
}
```

### List pinned items

```json
{
  "action": "listPins",
  "channelId": "C123"
}
```

### Member info

```json
{
  "action": "memberInfo",
  "userId": "U123"
}
```

### Emoji list

```json
{
  "action": "emojiList"
}
```

## Ideas to try

- React with ✅ to mark completed tasks.
- Pin key decisions or weekly status updates.

Related Skills

xurl

411
from understudy-ai/understudy

A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.

weather

411
from understudy-ai/understudy

Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.

wacli

411
from understudy-ai/understudy

Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).

video-frames

411
from understudy-ai/understudy

Extract frames or short clips from videos using ffmpeg.

trello

411
from understudy-ai/understudy

Manage Trello boards, lists, and cards via the Trello REST API.

tmux

411
from understudy-ai/understudy

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

things-mac

411
from understudy-ai/understudy

Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Understudy to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.

summarize

411
from understudy-ai/understudy

Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).

spotify-player

411
from understudy-ai/understudy

Terminal Spotify playback/search via spogo (preferred) or spotify_player.

sonoscli

411
from understudy-ai/understudy

Control Sonos speakers (discover/status/play/volume/group).

songsee

411
from understudy-ai/understudy

Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.

skill-creator

411
from understudy-ai/understudy

Create, edit, improve, review, audit, or clean up AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or restructure an existing skill or SKILL.md file. Also use when editing a skill directory, moving content into scripts/ or references/, or validating against the AgentSkills spec.