slacker
Interact with Slack (reminders, DMs, activity, saved messages)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Interact with Slack (reminders, DMs, activity, saved messages)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Manage the belief registry — track claims, detect staleness, resolve conflicts, query contradictions
Create chronologically organized documentation entries
Fetch authenticated web content (SSO, internal pages) via browser session
Fetch web content using curl (faster alternative to WebFetch)
Google Calendar CLI for viewing agenda, adding events, and reminders
Export and access Google Drive files (docs, sheets, meeting notes)
| name | slacker |
| description | Interact with Slack (reminders, DMs, activity, saved messages) |
Quick reference for using slacker CLI tool to interact with Slack programmatically.
Repository: https://github.com/shanemcd/slacker
The easiest way to use slacker is with uvx - no installation or repository cloning required:
# List reminders and saved messages
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminders
# Create a reminder
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminder "me to call mom tomorrow at 9am"
# List today's DMs
uvx --from "git+https://github.com/shanemcd/slacker" slacker dms
# View activity feed (mentions, threads, reactions)
uvx --from "git+https://github.com/shanemcd/slacker" slacker activity
# Check authentication
uvx --from "git+https://github.com/shanemcd/slacker" slacker whoami
Tip: Add an alias to your shell for convenience:
alias slacker='uvx --from "git+https://github.com/shanemcd/slacker" slacker'
# Then use it simply:
slacker reminders
slacker reminder "me to review PR in 30 minutes"
slacker extracts Slack authentication credentials from your browser session, enabling programmatic access to Slack APIs without creating a bot or app.
Use this skill when:
# Extract credentials from your browser session
uvx --from "git+https://github.com/shanemcd/slacker" slacker login https://redhat.enterprise.slack.com
# Test authentication
uvx --from "git+https://github.com/shanemcd/slacker" slacker whoami
Credentials are stored at ~/.config/slacker/credentials with 0600 permissions (read-only by owner).
Create reminders using natural language - works exactly like typing /remind in Slack:
# Standard format: "me to [task] [when]"
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminder "me to call mom tomorrow at 9am"
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminder "me to review PR in 30 minutes"
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminder "me to check status next Monday"
# Can omit "me to" - Slack will figure it out
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminder "call mom tomorrow"
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminder "team sync prep Monday at 2pm"
# Recurring reminders
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminder "me to do weekly planning every Monday at 9am"
Natural language parsing by Slack: Slack automatically parses the text to extract the task and timing. Supported formats:
# List all saved items (reminders + saved messages)
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminders
# List only reminders (exclude saved messages)
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminders --reminders-only
# Limit results
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminders --limit 10
# JSON output for programmatic processing
uvx --from "git+https://github.com/shanemcd/slacker" slacker --output json reminders
Text output includes:
JSON output includes:
jqView direct messages and group DMs with Slack usernames:
# List today's DM activity (default)
uvx --from "git+https://github.com/shanemcd/slacker" slacker dms
# List DMs since a specific time (natural language)
uvx --from "git+https://github.com/shanemcd/slacker" slacker dms --since "yesterday"
uvx --from "git+https://github.com/shanemcd/slacker" slacker dms --since "2 days ago"
uvx --from "git+https://github.com/shanemcd/slacker" slacker dms --since "last Monday"
uvx --from "git+https://github.com/shanemcd/slacker" slacker dms --since "3 hours ago"
# JSON output for programmatic processing
uvx --from "git+https://github.com/shanemcd/slacker" slacker --output json dms --since "yesterday"
Text output shows:
Show mentions, threads, and reactions from your Slack activity with enriched details:
# View all activity (mentions, threads, reactions)
uvx --from "git+https://github.com/shanemcd/slacker" slacker activity
# Filter by activity type
uvx --from "git+https://github.com/shanemcd/slacker" slacker activity --tab mentions
uvx --from "git+https://github.com/shanemcd/slacker" slacker activity --tab threads
uvx --from "git+https://github.com/shanemcd/slacker" slacker activity --tab reactions
# JSON output for programmatic processing
uvx --from "git+https://github.com/shanemcd/slacker" slacker --output json activity --tab mentions
Activity types:
all - All activity (mentions, threads, reactions, invitations, etc.)mentions - Only @mentions, @channel, @everyone, and keywordsthreads - Only thread repliesreactions - Only emoji reactions to your messagesText output features:
# Search your own messages (notes to self)
uvx --from "git+https://github.com/shanemcd/slacker" slacker api search.messages --data '{"query": "from:@shanemcd to:@shanemcd", "count": 20, "sort": "timestamp", "sort_dir": "desc"}'
# Search in specific channel
uvx --from "git+https://github.com/shanemcd/slacker" slacker api search.messages --data '{"query": "in:#engineering important"}'
IMPORTANT: Use --params for GET requests and --data for POST requests:
--params sends query parameters (for GET endpoints like conversations.replies, conversations.history, users.info)--data sends JSON body (for POST endpoints like chat.postMessage, search.messages)# GET request with parameters (conversations.replies, conversations.history, users.info, etc.)
uvx --from "git+https://github.com/shanemcd/slacker" slacker api users.list --params '{"limit": 10}'
uvx --from "git+https://github.com/shanemcd/slacker" slacker api conversations.replies --params '{"channel":"C05S34J4EE9","ts":"1765902174.251099","limit":"100"}'
uvx --from "git+https://github.com/shanemcd/slacker" slacker api conversations.history --params '{"channel":"C12345678","limit":"20"}'
# POST request with data (chat.postMessage, search.messages, etc.)
uvx --from "git+https://github.com/shanemcd/slacker" slacker api chat.postMessage --data '{"channel":"general","text":"Hello!"}'
# Post to your notes channel
uvx --from "git+https://github.com/shanemcd/slacker" slacker api chat.postMessage --data '{"channel":"D19Q000SE","text":"Remember to update slides for tomorrow"}'
Note: User IDs in the output are automatically resolved to usernames.
# List all API categories
uvx --from "git+https://github.com/shanemcd/slacker" slacker discover
# Filter by category
uvx --from "git+https://github.com/shanemcd/slacker" slacker discover --category chat
# Show all methods
uvx --from "git+https://github.com/shanemcd/slacker" slacker discover --verbose
All major commands support JSON output via the --output json flag for programmatic processing.
# Get reminders as structured data
uvx --from "git+https://github.com/shanemcd/slacker" slacker --output json reminders
# Get only overdue reminders with jq
uvx --from "git+https://github.com/shanemcd/slacker" slacker --output json reminders --reminders-only | \
jq --arg now "$(date +%s)" '.items[] | select(.due_timestamp < ($now|tonumber)) | {text, due_date}'
# List all saved messages with full text
uvx --from "git+https://github.com/shanemcd/slacker" slacker --output json reminders | \
jq '.items[] | select(.type == "message") | .message'
# Get summary counts
uvx --from "git+https://github.com/shanemcd/slacker" slacker --output json reminders | jq '.counts'
# List today's reminders
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminders --reminders-only
# Morning routine: check DMs since yesterday
uvx --from "git+https://github.com/shanemcd/slacker" slacker dms --since "yesterday"
# After a meeting: check what you missed in the last hour
uvx --from "git+https://github.com/shanemcd/slacker" slacker dms --since "1 hour ago"
# Monday morning: catch up on weekend messages
uvx --from "git+https://github.com/shanemcd/slacker" slacker dms --since "last Friday"
# Morning routine: check all mentions and threads
uvx --from "git+https://github.com/shanemcd/slacker" slacker activity
# See who's reacting to your messages
uvx --from "git+https://github.com/shanemcd/slacker" slacker activity --tab reactions
# Check only @mentions to catch up quickly
uvx --from "git+https://github.com/shanemcd/slacker" slacker activity --tab mentions
# Post to your notes channel
uvx --from "git+https://github.com/shanemcd/slacker" slacker api chat.postMessage --data '{"channel":"D19Q000SE","text":"Remember to update slides for tomorrow"}'
# Create reminder from note
uvx --from "git+https://github.com/shanemcd/slacker" slacker reminder "me to update slides tomorrow at 8am"
# Search your notes from last week (POST endpoint - uses --data)
uvx --from "git+https://github.com/shanemcd/slacker" slacker api search.messages --data '{"query":"from:@shanemcd to:@shanemcd after:7d"}'
# Get recent messages from notes channel (GET endpoint - uses --params)
uvx --from "git+https://github.com/shanemcd/slacker" slacker api conversations.history --params '{"channel":"D19Q000SE","limit":"20"}'
saved.list - List saved items from Slack "Later"
uvx --from "git+https://github.com/shanemcd/slacker" slacker api saved.list --data '{"filter":"saved","limit":50,"include_tombstones":true}'
search.messages - Search messages
from:, to:, in:, date rangesconversations.history - Get message history
channel IDlimit and cursorPersonal notes channel (notes to self): D19Q000SE
To find other channel IDs:
search.messages queries reveal channel IDs in resultsRed Hat Enterprise Slack workspace has restrictions on certain API endpoints:
Restricted endpoints:
reminders.list - Blocked (use saved.list instead)conversations.list - Blockedusers.conversations - BlockedWorking alternatives:
saved.list for reminderssearch.messages to find conversationsIf whoami fails, re-extract credentials:
uvx --from "git+https://github.com/shanemcd/slacker" slacker login https://redhat.enterprise.slack.com
Credentials expire when you log out of Slack in your browser.
If an API endpoint returns "error": "enterprise_is_restricted", the endpoint is blocked by workspace admin policies. Look for alternative endpoints (e.g., saved.list instead of reminders.list).
Ensure you're using the correct channel ID format:
D prefix (e.g., D19Q000SE)C prefix (e.g., C1234567890)G prefix (e.g., G1234567890)~/.config/slacker/credentials0600 (owner read/write only)Add a shell alias for convenience:
alias slacker='uvx --from "git+https://github.com/shanemcd/slacker" slacker'
Use JSON output for programmatic processing with jq
Natural language reminders - Slack handles the parsing, just write naturally
Check activity regularly - The activity command shows mentions you may have missed
Use --since for DMs - Natural language date parsing makes it easy to filter
Last updated: 2026-01-15