agent-slack 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -6
- package/dist/index.js +572 -49
- package/dist/index.js.map +8 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,8 +4,10 @@ Slack automation CLI for AI agents (TypeScript + Bun).
|
|
|
4
4
|
|
|
5
5
|
Guiding principle:
|
|
6
6
|
|
|
7
|
-
- **
|
|
8
|
-
- **
|
|
7
|
+
- **Token-efficient** — (compact JSON, minimal duplication, and empty/null fields pruned) so LLMs can consume results cheaply.
|
|
8
|
+
- **Zero-config auth** — Auth just works if you have Slack Desktop (with fallbacks available). No Python dependency.
|
|
9
|
+
- **Human-in-the-loop** — When appropriate (not in CI environments), loop humans in. Ex: `message draft`
|
|
10
|
+
<img width="1228" height="741" alt="image" src="https://github.com/user-attachments/assets/92ecbb71-18ca-4516-a874-c83c154b0709" />
|
|
9
11
|
|
|
10
12
|
## Getting started
|
|
11
13
|
|
|
@@ -27,7 +29,7 @@ npm i -g agent-slack
|
|
|
27
29
|
- **Search**: messages + files (with filters)
|
|
28
30
|
- **Artifacts**: auto-download snippets/images/files to local paths for agents
|
|
29
31
|
- **Write**: reply, edit/delete messages, add reactions
|
|
30
|
-
- **Channels**: create channels and invite users by id/handle/email
|
|
32
|
+
- **Channels**: list conversations, create channels, and invite users by id/handle/email
|
|
31
33
|
- **Canvas**: fetch Slack canvases as Markdown
|
|
32
34
|
|
|
33
35
|
## Agent skill
|
|
@@ -53,12 +55,13 @@ bash ./scripts/install-skill.sh
|
|
|
53
55
|
|
|
54
56
|
```text
|
|
55
57
|
agent-slack
|
|
56
|
-
├── update
|
|
58
|
+
├── update # self-update (detects npm/bun/binary)
|
|
57
59
|
├── auth
|
|
58
60
|
│ ├── whoami
|
|
59
61
|
│ ├── test
|
|
60
62
|
│ ├── import-desktop
|
|
61
63
|
│ ├── import-chrome
|
|
64
|
+
│ ├── import-firefox
|
|
62
65
|
│ └── parse-curl
|
|
63
66
|
├── message
|
|
64
67
|
│ ├── get <target> # fetch 1 message (+ thread meta )
|
|
@@ -71,6 +74,7 @@ agent-slack
|
|
|
71
74
|
│ ├── add <target> <emoji>
|
|
72
75
|
│ └── remove <target> <emoji>
|
|
73
76
|
├── channel
|
|
77
|
+
│ ├── list # list conversations (user-scoped or all)
|
|
74
78
|
│ ├── new # create channel
|
|
75
79
|
│ └── invite # invite users to channel
|
|
76
80
|
├── user
|
|
@@ -94,7 +98,7 @@ Notes:
|
|
|
94
98
|
On macOS, authentication happens automatically:
|
|
95
99
|
|
|
96
100
|
- Default: reads Slack Desktop local data (no need to quit Slack)
|
|
97
|
-
-
|
|
101
|
+
- Fallbacks: if that fails, tries Chrome/Firefox extraction
|
|
98
102
|
|
|
99
103
|
You can also run manual imports:
|
|
100
104
|
|
|
@@ -102,6 +106,7 @@ You can also run manual imports:
|
|
|
102
106
|
agent-slack auth whoami
|
|
103
107
|
agent-slack auth import-desktop
|
|
104
108
|
agent-slack auth import-chrome
|
|
109
|
+
agent-slack auth import-firefox
|
|
105
110
|
agent-slack auth test
|
|
106
111
|
```
|
|
107
112
|
|
|
@@ -210,9 +215,18 @@ agent-slack message edit "#general" "Updated text" --workspace "myteam" --ts "17
|
|
|
210
215
|
agent-slack message delete "#general" --workspace "myteam" --ts "1770165109.628379"
|
|
211
216
|
```
|
|
212
217
|
|
|
213
|
-
###
|
|
218
|
+
### List, create, and invite channels
|
|
214
219
|
|
|
215
220
|
```bash
|
|
221
|
+
# List conversations for current user (users.conversations)
|
|
222
|
+
agent-slack channel list
|
|
223
|
+
|
|
224
|
+
# List conversations for a specific user
|
|
225
|
+
agent-slack channel list --user "@alice" --limit 50
|
|
226
|
+
|
|
227
|
+
# List all workspace conversations (conversations.list)
|
|
228
|
+
agent-slack channel list --all --limit 100
|
|
229
|
+
|
|
216
230
|
# Create a public channel
|
|
217
231
|
agent-slack channel new --name "incident-war-room"
|
|
218
232
|
|
|
@@ -231,6 +245,8 @@ agent-slack channel invite --channel "incident-war-room" --users "partner@vendor
|
|
|
231
245
|
|
|
232
246
|
Notes:
|
|
233
247
|
|
|
248
|
+
- `channel list` returns a single page plus `next_cursor`; use `--cursor` to fetch the next page.
|
|
249
|
+
- `channel list --all` and `channel list --user` are mutually exclusive.
|
|
234
250
|
- `--external` maps to `conversations.inviteShared` and expects email targets.
|
|
235
251
|
- External invites default to restricted mode (`external_limited=true`); add `--allow-external-user-invites` to disable that restriction.
|
|
236
252
|
- External invites require Slack Connect permissions/scopes in your workspace.
|