messaging

Installation
SKILL.md

Slack Messaging

Use this skill to interact with Slack channels and messages: list channels, read conversation history, send messages, reply in threads, and add or remove reactions.

When to use

  • list channels in a Slack workspace
  • read recent messages in a channel
  • read thread replies
  • send a message to a channel or DM
  • reply to a thread
  • add or remove emoji reactions

Authentication

This skill uses the connected slack provider credential for the current agent.

Invocation

All actions are called through Shift's Skill Router:

curl -X POST "$SHIFT_LOCAL_GATEWAY/skill-router/invoke" \
  -H "Content-Type: application/json" \
  -d '{
    "skillProvider": "slack",
    "skill": "messaging",
    "action": "list-channels",
    "input": {
      "limit": 20
    }
  }'

Examples

List channels:

{
  "skillProvider": "slack",
  "skill": "messaging",
  "action": "list-channels",
  "input": {
    "types": "public_channel,private_channel",
    "limit": 20
  }
}

Get channel info:

{
  "skillProvider": "slack",
  "skill": "messaging",
  "action": "get-channel",
  "input": {
    "channel": "C1234567890"
  }
}

List messages in a channel:

{
  "skillProvider": "slack",
  "skill": "messaging",
  "action": "list-messages",
  "input": {
    "channel": "C1234567890",
    "limit": 20
  }
}

Get thread replies:

{
  "skillProvider": "slack",
  "skill": "messaging",
  "action": "get-thread",
  "input": {
    "channel": "C1234567890",
    "ts": "1234567890.123456"
  }
}

Send a message:

{
  "skillProvider": "slack",
  "skill": "messaging",
  "action": "send",
  "input": {
    "channel": "C1234567890",
    "text": "Hello from Shift!"
  }
}

Reply in a thread:

{
  "skillProvider": "slack",
  "skill": "messaging",
  "action": "send",
  "input": {
    "channel": "C1234567890",
    "text": "This is a thread reply.",
    "threadTs": "1234567890.123456"
  }
}

Add a reaction:

{
  "skillProvider": "slack",
  "skill": "messaging",
  "action": "react",
  "input": {
    "channel": "C1234567890",
    "timestamp": "1234567890.123456",
    "name": "thumbsup"
  }
}

Remove a reaction:

{
  "skillProvider": "slack",
  "skill": "messaging",
  "action": "remove-react",
  "input": {
    "channel": "C1234567890",
    "timestamp": "1234567890.123456",
    "name": "thumbsup"
  }
}

If the connection is missing, tell the user to configure Slack in Shift.

Related skills

More from tryshift-sh/skills-store

Installs
4
First Seen
Mar 16, 2026