v1.4.0: Major Skills Expansion - 75 Total Skills
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
---
|
||||
description: Configure Slack MCP tokens
|
||||
---
|
||||
|
||||
# Slack Tools Setup
|
||||
|
||||
**Source:** [ubie-oss/slack-mcp-server](https://github.com/ubie-oss/slack-mcp-server)
|
||||
|
||||
Configure the Slack MCP server with your tokens.
|
||||
|
||||
## Step 1: Check Current Status
|
||||
|
||||
Read the MCP configuration from `${CLAUDE_PLUGIN_ROOT}/.mcp.json`.
|
||||
|
||||
Check if Slack is configured:
|
||||
|
||||
- If any of these contain placeholder values, it needs configuration:
|
||||
- `slack.env.GITHUB_TOKEN` contains `REPLACE_WITH_GITHUB_PAT`
|
||||
- `slack.env.SLACK_BOT_TOKEN` contains `REPLACE_WITH_BOT_TOKEN`
|
||||
- `slack.env.SLACK_USER_TOKEN` contains `REPLACE_WITH_USER_TOKEN`
|
||||
- If all contain actual tokens (ghp\_, xoxb-, xoxp-), already configured
|
||||
|
||||
Report status:
|
||||
|
||||
- "Slack MCP is not configured - needs tokens"
|
||||
- OR "Slack MCP is already configured"
|
||||
|
||||
## Step 2: Show Setup Guide
|
||||
|
||||
Tell the user:
|
||||
|
||||
```
|
||||
To configure Slack MCP, you need 3 tokens:
|
||||
|
||||
1. GitHub PAT (ghp_...) - For npm package access
|
||||
Get it at: https://github.com/settings/tokens
|
||||
Required scope: read:packages
|
||||
|
||||
2. Bot Token (xoxb-...) - From your Slack app
|
||||
3. User Token (xoxp-...) - From your Slack app
|
||||
Get both at: https://api.slack.com/apps
|
||||
Required scopes: channels:history, channels:read, chat:write, users:read
|
||||
|
||||
Don't need Slack MCP? Disable it via /mcp command.
|
||||
```
|
||||
|
||||
## Step 3: Ask for GitHub PAT
|
||||
|
||||
Use AskUserQuestion:
|
||||
|
||||
- question: "Do you have your GitHub PAT ready?"
|
||||
- header: "GitHub PAT"
|
||||
- options:
|
||||
- label: "Yes, I have it"
|
||||
description: "I have my GitHub PAT ready to paste (starts with ghp\_)"
|
||||
- label: "No, skip for now"
|
||||
description: "I'll configure it later"
|
||||
|
||||
If user selects "No, skip for now":
|
||||
|
||||
- Tell them they can run `/slack-tools:setup` again when ready
|
||||
- Remind them they can disable Slack MCP via `/mcp` if not needed
|
||||
- Exit
|
||||
|
||||
If user selects "Yes" or provides token via "Other":
|
||||
|
||||
- If they provided token in "Other" response, use that
|
||||
- Otherwise, ask them to paste the token
|
||||
|
||||
## Step 4: Ask for Bot Token
|
||||
|
||||
Use AskUserQuestion:
|
||||
|
||||
- question: "Do you have your Slack Bot Token ready?"
|
||||
- header: "Bot Token"
|
||||
- options:
|
||||
- label: "Yes, I have it"
|
||||
description: "I have my Slack bot token ready (starts with xoxb-)"
|
||||
- label: "No, skip for now"
|
||||
description: "I'll configure it later"
|
||||
|
||||
If user selects "No, skip for now":
|
||||
|
||||
- Tell them they can run `/slack-tools:setup` again when ready
|
||||
- Exit
|
||||
|
||||
If user selects "Yes" or provides token via "Other":
|
||||
|
||||
- If they provided token in "Other" response, use that
|
||||
- Otherwise, ask them to paste the token
|
||||
|
||||
## Step 5: Ask for User Token
|
||||
|
||||
Use AskUserQuestion:
|
||||
|
||||
- question: "Do you have your Slack User Token ready?"
|
||||
- header: "User Token"
|
||||
- options:
|
||||
- label: "Yes, I have it"
|
||||
description: "I have my Slack user token ready (starts with xoxp-)"
|
||||
- label: "No, skip for now"
|
||||
description: "I'll configure it later"
|
||||
|
||||
If user selects "No, skip for now":
|
||||
|
||||
- Tell them they can run `/slack-tools:setup` again when ready
|
||||
- Exit
|
||||
|
||||
If user selects "Yes" or provides token via "Other":
|
||||
|
||||
- If they provided token in "Other" response, use that
|
||||
- Otherwise, ask them to paste the token
|
||||
|
||||
## Step 6: Validate Tokens
|
||||
|
||||
Validate the provided tokens:
|
||||
|
||||
- GitHub PAT must start with `ghp_`
|
||||
- Bot Token must start with `xoxb-`
|
||||
- User Token must start with `xoxp-`
|
||||
|
||||
If any invalid:
|
||||
|
||||
- Show error with specific token that failed validation
|
||||
- Ask if they want to try again or skip
|
||||
|
||||
## Step 7: Update Configuration
|
||||
|
||||
1. Read current `${CLAUDE_PLUGIN_ROOT}/.mcp.json`
|
||||
2. Create backup at `${CLAUDE_PLUGIN_ROOT}/.mcp.json.backup`
|
||||
3. Update these values:
|
||||
- `slack.env.GITHUB_TOKEN` to the GitHub PAT
|
||||
- `slack.env.SLACK_BOT_TOKEN` to the bot token
|
||||
- `slack.env.SLACK_USER_TOKEN` to the user token
|
||||
4. Write updated configuration back to `${CLAUDE_PLUGIN_ROOT}/.mcp.json`
|
||||
|
||||
## Step 8: Confirm Success
|
||||
|
||||
Tell the user:
|
||||
|
||||
```
|
||||
Slack MCP configured successfully!
|
||||
|
||||
IMPORTANT: Restart Claude Code for changes to take effect.
|
||||
- Exit Claude Code
|
||||
- Run `claude` again
|
||||
|
||||
To verify after restart, run /mcp and check that 'slack' server is connected.
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If Slack MCP fails after configuration:
|
||||
|
||||
```
|
||||
Common fixes:
|
||||
1. invalid_auth - Token expired or invalid, regenerate from api.slack.com
|
||||
2. missing_scope - Re-install app with required OAuth scopes
|
||||
3. Token format - Bot tokens start with xoxb-, user tokens with xoxp-
|
||||
4. Channel not found - Ensure bot is invited to the channel
|
||||
5. Rate limited - Wait and retry, reduce request frequency
|
||||
```
|
||||
Reference in New Issue
Block a user