00-system/skills/slack/slack-connect/SKILL.md
Connect to Slack workspace for messaging and channel management. Load when user mentions 'slack', 'connect slack', 'slack message', 'slack channel', 'send to slack', or any Slack operations. Meta-skill that validates config, discovers workspace, and routes to appropriate operations.
npx skillsauth add abdullahbeam/nexus-design-abdullah slack-connectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Entry point for all Slack operations. Validates configuration, discovers workspace, and routes requests to appropriate skills.
Load this skill when user says:
First-time setup:
python 00-system/skills/slack/slack-master/scripts/setup_slack.py
Check configuration:
python 00-system/skills/slack/slack-master/scripts/check_slack_config.py --json
Always run first:
python 00-system/skills/slack/slack-master/scripts/check_slack_config.py --json
If ai_action is proceed_with_operation:
If ai_action is run_oauth_setup:
python 00-system/skills/slack/slack-master/scripts/setup_slack.pyIf ai_action is create_slack_app:
slack-master/references/setup-guide.mdParse what the user wants to do:
| User Says | Route To | |-----------|----------| | "send message to #general" | Messaging → send_message.py | | "list channels" | Channels → list_channels.py | | "get messages from #dev" | Channels → channel_history.py | | "search for 'project update'" | Search → search_messages.py | | "list users" | Users → list_users.py | | "upload file" | Files → upload_file.py | | "add reaction" | Reactions → (see Phase 7) | | "pin message" | Pins → (see Phase 9) | | "set reminder" | Reminders → (see Phase 10) |
Use the appropriate script from slack-master/scripts/:
Send message:
python 00-system/skills/slack/slack-master/scripts/send_message.py \
--channel "C1234567890" \
--text "Hello from Nexus!" \
--json
Update message:
python 00-system/skills/slack/slack-master/scripts/update_message.py \
--channel "C1234567890" \
--ts "1234567890.123456" \
--text "Updated message" \
--json
Delete message:
python 00-system/skills/slack/slack-master/scripts/delete_message.py \
--channel "C1234567890" \
--ts "1234567890.123456" \
--json
List channels:
python 00-system/skills/slack/slack-master/scripts/list_channels.py \
--types "public_channel,private_channel" \
--limit 50 \
--json
Get channel info:
python 00-system/skills/slack/slack-master/scripts/channel_info.py \
--channel "C1234567890" \
--json
Get channel history:
python 00-system/skills/slack/slack-master/scripts/channel_history.py \
--channel "C1234567890" \
--limit 20 \
--json
List users:
python 00-system/skills/slack/slack-master/scripts/list_users.py \
--limit 100 \
--json
Get user info:
python 00-system/skills/slack/slack-master/scripts/user_info.py \
--user "U1234567890" \
--json
Search messages:
python 00-system/skills/slack/slack-master/scripts/search_messages.py \
--query "project update" \
--count 20 \
--json
Search files:
python 00-system/skills/slack/slack-master/scripts/search_files.py \
--query "report.pdf" \
--count 10 \
--json
Upload file:
python 00-system/skills/slack/slack-master/scripts/upload_file.py \
--file "/path/to/file.pdf" \
--channels "C1234567890" \
--title "My Report" \
--json
List files:
python 00-system/skills/slack/slack-master/scripts/list_files.py \
--channel "C1234567890" \
--limit 20 \
--json
Success:
Error:
slack-master/references/error-handling.md if neededchannel_not_found → Help user find correct channelmissing_scope → Need to add scope and re-authorizerate_limited → Wait and retryAll scripts are in 00-system/skills/slack/slack-master/scripts/:
| Script | API Method | Description | |--------|------------|-------------| | send_message.py | chat.postMessage | Send a message | | update_message.py | chat.update | Edit a message | | delete_message.py | chat.delete | Delete a message | | schedule_message.py | chat.scheduleMessage | Schedule a message |
| Script | API Method | Description | |--------|------------|-------------| | list_channels.py | conversations.list | List channels | | channel_info.py | conversations.info | Get channel details | | channel_history.py | conversations.history | Get messages | | create_channel.py | conversations.create | Create channel |
| Script | API Method | Description | |--------|------------|-------------| | list_users.py | users.list | List workspace users | | user_info.py | users.info | Get user details |
| Script | API Method | Description | |--------|------------|-------------| | upload_file.py | files.upload | Upload a file | | list_files.py | files.list | List files |
| Script | API Method | Description | |--------|------------|-------------| | search_messages.py | search.messages | Search messages | | search_files.py | search.files | Search files |
When user references a channel by name (e.g., "#general"):
First, list channels to find the ID:
python list_channels.py --json
Find matching channel in response
Use the channel ID (e.g., "C1234567890") for operations
Common Pattern:
# User says: "send message to #general"
# 1. List channels to find ID
# 2. Use ID in send_message.py --channel C123...
When user references someone by name (e.g., "@john"):
List users to find the ID:
python list_users.py --json
Find matching user in response
Use the user ID (e.g., "U1234567890") for operations
User: "Send 'Hello team!' to #general"
AI Actions:
check_slack_config.py --jsonlist_channels.py --jsonsend_message.py --channel C1234567890 --text "Hello team!" --jsonUser: "Search slack for 'quarterly report'"
AI Actions:
search_messages.py --query "quarterly report" --jsonUser: "What slack channels am I in?"
AI Actions:
list_channels.py --types "public_channel,private_channel" --json| Error | Action | |-------|--------| | No token | Run setup_slack.py | | Invalid token | Re-authenticate | | Token revoked | Re-authenticate |
| Error | Action | |-------|--------| | channel_not_found | List channels, help user find correct one | | missing_scope | Add scope to app, re-authorize | | rate_limited | Wait retry_after seconds, then retry | | not_in_channel | Join channel first |
Load: slack-master/references/error-handling.md
slack-master/references/setup-guide.mdslack-master/references/api-reference.mdslack-master/references/authentication.mdslack-master/references/error-handling.mdVersion: 1.0 Created: 2025-12-17 Status: Production Ready
development
Load when user says "mental model", "think through this", "structured thinking", "help me decide", "analyze this problem", "first principles", "pre-mortem", "stakeholder mapping", "what framework should I use", or any specific model name. Provides 59 thinking frameworks for decision-making, problem decomposition, and strategic analysis.
development
Generate comprehensive philosophy and standards documents for any domain (UX design, landing pages, email outbound, API design, etc.). Load when user says "create philosophy doc", "generate standards for [domain]", "build best practices guide", or "create benchmarking document". Conducts deep research, synthesizes findings, and produces structured philosophy documents with principles, frameworks, anti-patterns, checklists, case studies, and metrics.
development
Validate Nexus-v3 system integrity and fix common issues automatically. Load when user mentions "validate system", "check system", or "fix problems". Runs comprehensive checks on folder structure, metadata files, and framework consistency with auto-repair capabilities.
development
Load when user says "validate docs", "check documentation consistency", "docs vs implementation", or "find documentation mismatches". Systematically compares implementation code against documentation to identify and fix inconsistencies.