| name | Reply Slack |
| description | Send a message to a Slack channel or thread via the backend API. |
| version | 1.0.0 |
| category | communication |
| skillType | claude-skill |
| assignableRoles | ["orchestrator"] |
| triggers | ["reply slack","send slack","slack message"] |
| tags | ["communication","slack","notification"] |
| execution | {"type":"script","script":{"file":"execute.sh","interpreter":"bash","timeoutMs":30000}} |
Reply Slack
Send a message to a Slack channel or thread via the Crewly backend API. This bypasses terminal output parsing and delivers the message directly to Slack, avoiding PTY line-wrapping and ANSI artifacts.
Usage
bash config/skills/orchestrator/reply-slack/execute.sh '{"channelId":"C0123","text":"Task completed successfully!"}'
cat <<'EOF' | bash config/skills/orchestrator/reply-slack/execute.sh --channel C0123 --conversation "$CHAT_CONVERSATION"
Deploy complete ✅
Tests are green and artifacts published.
EOF
With thread reply (any style):
bash config/skills/orchestrator/reply-slack/execute.sh '{"channelId":"C0123","text":"Update: tests passing","threadTs":"1707430000.001234"}'
Parameters
| Parameter | Required | Description |
|---|
channelId / --channel | Yes | Slack channel ID to send the message to |
text / --text / stdin | Yes* | Message text (supports Slack Markdown). You can pipe multi-line text via stdin with --channel. *Optional when --image or --file is provided |
threadTs / --thread | Yes (default) | Thread timestamp for threaded replies. Required unless --allow-new-thread is set |
--image / -i | No | Path to an image file to upload to Slack. When provided, calls /api/slack/upload-image instead of /api/slack/send. The --text becomes an optional comment on the image |
--file / -f | No | Path to any file type (PDF/CSV/ZIP/etc.) to upload via /api/slack/upload-file. The becomes an optional comment |