Loading...
Loading...
Slack workspace integration: 7 on-demand scripts (post, read, search, react, upload, channels, users) + Session Bridge (connect any Claude Code session to Slack via background listener + inbox.jsonl). Daemon, soul engine, and memory system live in Claudicle (github.com/tdimino/claudicle).
npx skill4agent add tdimino/claude-code-minoan slackDaemon & Soul Engine: The Claudicle daemon (unified launcher, soul engine, cognitive pipeline, three-tier memory, Soul Monitor TUI) now lives in its own repo: github.com/tdimino/claudicle. Install Claudicle separately for daemon features.
SLACK_BOT_TOKENxoxb-requestsuv pip install --system requests# Verify token is set
echo $SLACK_BOT_TOKENapp_mentions:readchannels:historygroups:historyim:historympim:historychannels:readgroups:readim:readim:writechat:writefiles:writefiles:readreactions:writereactions:readsearch:readusers:readusers:read.emailusers:writesocket-modeconnections:writexapp-app_mentionmessage.imapp_home_openedexport SLACK_BOT_TOKEN=xoxb-... # Bot User OAuth Token
export SLACK_APP_TOKEN=xapp-... # App-Level Token (Socket Mode)/invite @Claude Code# Post a message
python3 ~/.claude/skills/slack/scripts/slack_post.py "#general" "Hello from Claude"
# Read recent messages
python3 ~/.claude/skills/slack/scripts/slack_read.py "#general" -n 10
# Search the workspace
python3 ~/.claude/skills/slack/scripts/slack_search.py "deployment status"
# Connect this session to Slack via Claudicle Session Bridge
# (requires Claudicle installed — see github.com/tdimino/claudicle)
cd ~/.claudicle/daemon && python3 slack_listen.py --bg
python3 ~/.claude/skills/slack/scripts/slack_check.pyinbox.jsonl# Connect
cd ~/.claudicle/daemon && python3 slack_listen.py --bg
# Check messages
python3 ~/.claude/skills/slack/scripts/slack_check.py
# Respond to thread, remove hourglass, mark handled
python3 ~/.claude/skills/slack/scripts/slack_post.py "C12345" "response" --thread "TS"
python3 ~/.claude/skills/slack/scripts/slack_react.py "C12345" "TS" "hourglass_flowing_sand" --remove
python3 ~/.claude/skills/slack/scripts/slack_check.py --ack 1
# Disconnect
cd ~/.claudicle/daemon && python3 slack_listen.py --stopscripts/slack_format.pypython3 slack_format.py perception "Tom" "What's the status?" # -> Tom said, "..."
echo "$raw" | python3 slack_format.py extract # -> external dialogue only
echo "$raw" | python3 slack_format.py extract --narrate --log # -> narrated + logged
python3 slack_format.py instructions # -> cognitive step XML format/slack-respond~/.claude/skills/slack-respond/SKILL.mdreferences/session-bridge.md| Task | Script | Example |
|---|---|---|
| Post a message | | |
| Reply to a thread | | |
| Schedule a message | | |
| Read channel history | | |
| Read thread | | |
| Search messages | | |
| Search files | | |
| Add reaction | | |
| Upload file | | |
| Share code snippet | | |
| List channels | | |
| Join channel | | |
| Find user by email | | |
references/scripts-reference.md| Tier | Rate | Key Methods |
|---|---|---|
| Tier 1 | 1/min | |
| Tier 2 | 20/min | |
| Tier 3 | 50/min | |
| Tier 4 | 100+/min | |
| Special | 1/sec/channel | |
_slack_utils.pyRetry-Afterreferences/rate-limits.md| Problem | Fix |
|---|---|
| Bot not responding to @mentions | Enable Socket Mode; verify |
| "missing_scope" error | Add the missing scope in OAuth & Permissions -> reinstall app |
| No search results | Invite bot to channels with |
| Rate limited (429) | Scripts auto-retry; reduce batch sizes |
| "Sending messages turned off" | App Home -> enable "Allow users to send Slash commands and messages from the messages tab" |
| No green presence dot | Add |
| App Home tab blank | Subscribe to |
scripts/
├── slack_check.py # Session Bridge: read/ack inbox messages
├── slack_inbox_hook.py # Session Bridge: UserPromptSubmit auto-check hook
├── slack_format.py # Soul formatter: perception/extract/instructions (Open Souls paradigm)
├── slack_post.py # Post messages to channels/threads
├── slack_read.py # Read channel history or threads
├── slack_search.py # Search messages or files
├── slack_react.py # Add/remove reactions
├── slack_upload.py # Upload files or snippets
├── slack_channels.py # List/join channels
├── slack_users.py # Look up users
└── _slack_utils.py # Shared auth, rate limiting, API calls| Reference | Contents |
|---|---|
| Session Bridge: installation, architecture, inbox format, usage workflow, soul formatter, troubleshooting |
| Unified launcher: installation, architecture, per-channel sessions, SDK integration, data flows, threading model |
| Soul engine cognitive steps, memory tiers, XML format, App Home, Soul Monitor TUI |
| Full documentation for all 7 scripts, test suite, common workflows |
| User model interview, CLAUDE.md generation, export commands |
| Slack API rate limit tiers and handling strategy |
assets/app-icon.png