slacklisted
Install: claude install-skill spikelab/multiplai-cc-mktplace
# Slack
A local-first Slack client the user owns. It authenticates as **the user** with
their `xoxp-…` user token (read from `$SLACK_TOKEN`), so it sees every channel
and DM they're in — no bot to invite. Messages are cached to SQLite so nothing is
re-fetched; attachments download to disk. It can post messages **as the user**.
Run everything through the bundled script (`uv` provides `slack_sdk` from the
repo-root workspace environment):
```bash
SLACK="uv run --project ${CLAUDE_PLUGIN_ROOT}/skills/slack/scripts ${CLAUDE_PLUGIN_ROOT}/skills/slack/scripts/slack_client.py"
```
Requires `SLACK_TOKEN` (an `xoxp-…` user token) in the environment. If it's unset
or a scope is missing, the script prints exactly what to fix — see
[references/setup.md](references/setup.md) for creating the app and its scopes.
## Verbs
| Verb | What it does |
|------|--------------|
| `thread <link>` | Read a pasted Slack message permalink + its full thread. **The default when the user pastes a link.** |
| `search <query>` | Search messages workspace-wide (server-side) or the local cache (`--local`). |
| `send --to <who> --text <msg>` | Post as the user to a channel, a person, or self. |
| `sync` | Fetch new messages for all member channels (incremental; the default command). |
| `channels` / `users` | List channels you're in / the id↔name directory. |
| `export --channel <c>` | Dump a channel's cached messages (md or json). |
| `files` / `status` | Re-download missing attachments / show cache stats