slack

Send messages and manage Slack channels. Use when asked to send Slack messages, post to channels, list channels, or fetch message history.

9 stars

Best use case

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

Send messages and manage Slack channels. Use when asked to send Slack messages, post to channels, list channels, or fetch message history.

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/orthogonal-sh/skills/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?

Send messages and manage Slack channels. Use when asked to send Slack messages, post to channels, list channels, or fetch message history.

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

Send messages, list channels, and fetch message history in Slack workspaces. Connect your Slack workspace to post messages, check channels, and retrieve conversation data.

## Requirements

- Install the `orth` CLI
- Connect your Slack workspace at https://orthogonal.com/dashboard/integrations
- OAuth connection must be active (HTTP 428 response means not connected)

## Actions

### Send Message

Post a message to a Slack channel or direct message.

```bash
orth run slack /send-message --body '{
  "channel": "#general",
  "markdown_text": "Hello **team**! Check out this [link](https://example.com)."
}'
```

**Parameters:**
- `channel` (required) - Channel name (#general) or user ID for DM
- `markdown_text` (preferred) - Message content with markdown formatting
- `text` (deprecated) - Raw text message content
- `blocks` (deprecated) - Slack Block Kit formatted message
- `mrkdwn` - Enable markdown formatting (true/false)
- `as_user` - Send as authenticated user (true/false)
- `username` - Custom username for message
- `icon_url` - Custom icon URL for message
- `icon_emoji` - Custom emoji icon (e.g., ":ghost:")
- `thread_ts` - Reply to specific message thread timestamp
- `link_names` - Find and link channel/user names (true/false)
- `attachments` - Legacy message attachments
- `unfurl_links` - Automatically expand links (true/false)
- `unfurl_media` - Automatically expand media (true/false)
- `reply_broadcast` - Broadcast thread reply to channel (true/false)
- `parse` - Parse mode for text content

### List Channels

Get a list of channels in your Slack workspace.

```bash
orth run slack /list-channels --body '{
  "limit": 20,
  "types": "public_channel,private_channel"
}'
```

**Parameters:**
- `limit` - Maximum number of channels to return
- `types` - Channel types to include (public_channel, private_channel, mpim, im)
- `cursor` - Pagination cursor
- `channel_name` - Filter by specific channel name
- `exclude_archived` - Exclude archived channels (true/false)

### Fetch History

Retrieve message history from a Slack channel.

```bash
orth run slack /fetch-history --body '{
  "channel": "#general",
  "limit": 50
}'
```

**Parameters:**
- `channel` (required) - Channel name or ID to fetch from
- `limit` - Maximum number of messages to return
- `cursor` - Pagination cursor
- `latest` - Latest message timestamp to include
- `oldest` - Oldest message timestamp to include
- `inclusive` - Include messages at latest/oldest timestamps (true/false)

## Usage Examples

**Send formatted message:**
```bash
orth run slack /send-message -b '{"channel":"#team-updates","markdown_text":"**Daily Standup Reminder**\n\nPlease share your updates in this thread!"}'
```

**Send direct message:**
```bash
orth run slack /send-message -b '{"channel":"@username","text":"Hi! Can we schedule a quick call?"}'
```

**Reply to thread:**
```bash
orth run slack /send-message -b '{"channel":"#general","text":"Thanks for the update!","thread_ts":"1234567890.123456"}'
```

**List public channels:**
```bash
orth run slack /list-channels -b '{"types":"public_channel","limit":50}'
```

**Get recent messages:**
```bash
orth run slack /fetch-history -b '{"channel":"#general","limit":10}'
```

**Fetch messages from specific time range:**
```bash
orth run slack /fetch-history -b '{"channel":"#announcements","oldest":"1640995200.000000","latest":"1641081600.000000"}'
```

## Error Handling

- **HTTP 428** - Slack integration not connected. Visit https://orthogonal.com/dashboard/integrations to connect your workspace
- **400 Bad Request** - Invalid channel name or missing required parameters
- **403 Forbidden** - Insufficient permissions for channel or action
- **404 Not Found** - Channel does not exist or is not accessible
- **429 Rate Limited** - Too many requests, wait before retrying
- **channel_not_found** - Specified channel does not exist
- **not_in_channel** - Bot is not a member of the specified channel

## Tips

- Use `markdown_text` instead of `text` for formatted messages
- Channel names can be #channel-name or channel ID (C1234567890)
- For DMs, use @username or user ID (U1234567890)
- Thread timestamps are required for replying to specific messages
- Use cursor-based pagination for large channel lists
- Message timestamps are in Unix format with microsecond precision
- Bot must be invited to private channels before posting
- Some channels may require specific permissions to post or read history

Related Skills

yt-dlp-downloader

9
from orthogonal-sh/skills

Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video", "yt-dlp", "YouTube", "B站", "抖音", "提取音频", "extract audio".

yc-batch-evaluator

9
from orthogonal-sh/skills

Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.

website-screenshot

9
from orthogonal-sh/skills

Take screenshots of websites and web pages

weather

9
from orthogonal-sh/skills

Get current weather and forecasts using free APIs (no API key required). Use when asked about weather, temperature, forecasts, or climate conditions for any location.

weather-forecast

9
from orthogonal-sh/skills

Get weather forecasts - temperature, precipitation, wind, and conditions

vhs-terminal-recordings

9
from orthogonal-sh/skills

Create polished terminal GIF recordings using VHS (Video Hardware Software) by Charmbracelet. Use when asked to create terminal demos, CLI gifs, command-line recordings, or animated terminal screenshots for documentation, READMEs, or marketing.

verify-email

9
from orthogonal-sh/skills

Verify if an email address is valid and deliverable

valyu

9
from orthogonal-sh/skills

Web search, AI answers, content extraction, and async deep research

uptime-monitor

9
from orthogonal-sh/skills

Monitor website uptime - check availability, response times, and status

twitter-profile-lookup

9
from orthogonal-sh/skills

Look up Twitter/X profiles - get bio, followers, tweets, and engagement

tomba

9
from orthogonal-sh/skills

Email finder and verifier - find emails from domains, LinkedIn, or company search

tiktok-search

9
from orthogonal-sh/skills

Search TikTok - find profiles, videos, hashtags, and trending content