agent-slack 0.3.0 → 0.4.1

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 CHANGED
@@ -27,6 +27,7 @@ npm i -g agent-slack
27
27
  - **Search**: messages + files (with filters)
28
28
  - **Artifacts**: auto-download snippets/images/files to local paths for agents
29
29
  - **Write**: reply, edit/delete messages, add reactions
30
+ - **Channels**: create channels and invite users by id/handle/email
30
31
  - **Canvas**: fetch Slack canvases as Markdown
31
32
 
32
33
  ## Agent skill
@@ -50,6 +51,7 @@ bash ./scripts/install-skill.sh
50
51
 
51
52
  ```text
52
53
  agent-slack
54
+ ├── update # self-update (detects npm/bun/binary)
53
55
  ├── auth
54
56
  │ ├── whoami
55
57
  │ ├── test
@@ -60,11 +62,15 @@ agent-slack
60
62
  │ ├── get <target> # fetch 1 message (+ thread meta )
61
63
  │ ├── list <target> # fetch thread or recent channel messages
62
64
  │ ├── send <target> <text> # send / reply (does the right thing)
65
+ │ ├── draft <target> [text] # open Slack-like editor in browser
63
66
  │ ├── edit <target> <text> # edit a message
64
67
  │ ├── delete <target> # delete a message
65
68
  │ └── react
66
69
  │ ├── add <target> <emoji>
67
70
  │ └── remove <target> <emoji>
71
+ ├── channel
72
+ │ ├── new # create channel
73
+ │ └── invite # invite users to channel
68
74
  ├── user
69
75
  │ ├── list
70
76
  │ └── get <user>
@@ -168,6 +174,23 @@ Optional:
168
174
  agent-slack message get "https://workspace.slack.com/archives/C123/p1700000000000000" --include-reactions
169
175
  ```
170
176
 
177
+ ### Draft a message (browser editor)
178
+
179
+ Opens a Slack-like WYSIWYG editor in your browser for composing messages with full formatting support (bold, italic, strikethrough, links, lists, quotes, code, code blocks).
180
+
181
+ ```bash
182
+ # Open editor for a channel
183
+ agent-slack message draft "#general"
184
+
185
+ # Open editor with initial text
186
+ agent-slack message draft "#general" "Here's my update"
187
+
188
+ # Reply in a thread
189
+ agent-slack message draft "https://workspace.slack.com/archives/C123/p1700000000000000"
190
+ ```
191
+
192
+ After sending, the editor shows a "View in Slack" link to the posted message.
193
+
171
194
  ### Reply, edit, delete, and react
172
195
 
173
196
  ```bash
@@ -185,6 +208,31 @@ agent-slack message edit "#general" "Updated text" --workspace "myteam" --ts "17
185
208
  agent-slack message delete "#general" --workspace "myteam" --ts "1770165109.628379"
186
209
  ```
187
210
 
211
+ ### Create channels and invite users
212
+
213
+ ```bash
214
+ # Create a public channel
215
+ agent-slack channel new --name "incident-war-room"
216
+
217
+ # Create a private channel
218
+ agent-slack channel new --name "incident-leads" --private
219
+
220
+ # Invite users by id, handle, or email
221
+ agent-slack channel invite --channel "incident-war-room" --users "U01AAAA,@alice,bob@example.com"
222
+
223
+ # Invite external Slack Connect users by email (restricted by default)
224
+ agent-slack channel invite --channel "incident-war-room" --users "partner@vendor.com" --external
225
+
226
+ # External invite with permission for invitees to invite others
227
+ agent-slack channel invite --channel "incident-war-room" --users "partner@vendor.com" --external --allow-external-user-invites
228
+ ```
229
+
230
+ Notes:
231
+
232
+ - `--external` maps to `conversations.inviteShared` and expects email targets.
233
+ - External invites default to restricted mode (`external_limited=true`); add `--allow-external-user-invites` to disable that restriction.
234
+ - External invites require Slack Connect permissions/scopes in your workspace.
235
+
188
236
  ### Message get vs list
189
237
 
190
238
  **`message get`** fetches a single message. If the message is in a thread, it also returns thread metadata (reply count, participants) but **not** the full thread contents: