Update docs and skills for Slack extended API#85
Merged
Conversation
Document all 45+ SlackClient methods organized by domain (messages, channels, users, files, pins, bookmarks, reminders, etc.) with signatures, parameters, and return types. Add 6 real-world examples: deploy notifier, project channel setup, real-time bot, morning digest, triage with search, and file pipeline.
Add missing commands to slack.mdx: auth logout, workspace remove, message get, message replies, channel history/open/users, and flags (--thread, --type dm, --cursor). Fix scheduled-delete argument name. Add --limit flag to slackbot message replies.
Fix 15 broken jq paths in common-patterns.md: remove non-existent .data wrapper and .success field checks, use correct output shapes (.ts, .[], .workspace, .recent_messages). Add --cursor pagination flags to drafts list and saved list in SKILL.md.
Add Pattern 7 (multi-bot setup, switching, per-command override) and Pattern 8 (fetch single message and thread replies by timestamp).
Expand Slack section with channel management, pins, bookmarks, reminders, scheduled messages, emoji, user profiles, and activity tracking. Fix slackbot reaction claim (list does not exist). Add WhatsApp and WhatsApp Bot sections with skill documentation links.
There was a problem hiding this comment.
7 issues found across 7 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".claude-plugin/README.md">
<violation number="1" location=".claude-plugin/README.md:81">
P2: This line is inaccurate: WhatsApp Bot is send-only and does not support reading chats or message history.</violation>
<violation number="2" location=".claude-plugin/README.md:82">
P2: This bullet documents a `message search` capability that the WhatsApp CLI does not implement; only `chat search` exists.</violation>
</file>
<file name="skills/agent-slackbot/references/common-patterns.md">
<violation number="1" location="skills/agent-slackbot/references/common-patterns.md:227">
P2: The reply-count example uses `jq -s 'length'`, which counts input documents instead of array elements and returns the wrong count.</violation>
</file>
<file name="docs/content/docs/cli/slack.mdx">
<violation number="1" location="docs/content/docs/cli/slack.mdx:81">
P2: The new `message list --thread` example is out of sync with the CLI: `--thread` is parsed but not applied, so this command does not actually filter by thread.</violation>
</file>
<file name="skills/agent-slack/references/common-patterns.md">
<violation number="1" location="skills/agent-slack/references/common-patterns.md:19">
P2: The new `.error`-based check can report success when the command actually failed, because CLI errors are emitted to stderr and `RESULT` may be empty.</violation>
</file>
<file name="docs/content/docs/sdk/slack.mdx">
<violation number="1" location="docs/content/docs/sdk/slack.mdx:23">
P2: The docs claim all SlackClient methods have automatic rate-limit retry, but at least `downloadFile` does not use the retry wrapper. This can mislead users about failure behavior.</violation>
<violation number="2" location="docs/content/docs/sdk/slack.mdx:51">
P3: This snippet redeclares `const messages` in the same scope, so the documented example is not valid TypeScript when pasted.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
- Fix WhatsApp Bot section to send-only (no read capability) - Fix WhatsApp search claim to 'Search chats' (not messages) - Fix jq -s 'length' to jq 'length' in slackbot patterns - Remove undocumented message list --thread from CLI docs - Use positive .ts check instead of .error check in error patterns - Change 'All methods' to 'Most API methods' for retry claim - Fix duplicate const messages declaration in SDK example
There was a problem hiding this comment.
1 issue found across 5 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="skills/agent-slack/references/common-patterns.md">
<violation number="1" location="skills/agent-slack/references/common-patterns.md:20">
P2: The failure message still parses `$RESULT` with `jq` even when `$RESULT` is empty, which can emit a jq parse error instead of a clean fallback error string.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
| else | ||
| echo "Failed: $(echo "$RESULT" | jq -r '.error.message')" | ||
| if [ -z "$RESULT" ] || ! echo "$RESULT" | jq -e '.ts' > /dev/null 2>&1; then | ||
| echo "Failed: $(echo "$RESULT" | jq -r '.error // "unknown_error"')" |
There was a problem hiding this comment.
P2: The failure message still parses $RESULT with jq even when $RESULT is empty, which can emit a jq parse error instead of a clean fallback error string.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At skills/agent-slack/references/common-patterns.md, line 20:
<comment>The failure message still parses `$RESULT` with `jq` even when `$RESULT` is empty, which can emit a jq parse error instead of a clean fallback error string.</comment>
<file context>
@@ -16,8 +16,8 @@ agent-slack message send general "Deployment completed successfully!"
-if echo "$RESULT" | jq -e '.error' > /dev/null 2>&1; then
- echo "Failed: $(echo "$RESULT" | jq -r '.error')"
+if [ -z "$RESULT" ] || ! echo "$RESULT" | jq -e '.ts' > /dev/null 2>&1; then
+ echo "Failed: $(echo "$RESULT" | jq -r '.error // "unknown_error"')"
exit 1
else
</file context>
Suggested change
| echo "Failed: $(echo "$RESULT" | jq -r '.error // "unknown_error"')" | |
| echo "Failed: $(echo "$RESULT" | jq -r '.error // "unknown_error"' 2>/dev/null || echo "unknown_error")" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Sync all documentation, skills, and plugin README with the newly merged Slack extended API commands (#84).
SDK Docs (
docs/content/docs/sdk/slack.mdx)SlackClientAPI reference — all 45+ methods organized by domain (messages, channels, users, files, pins, bookmarks, reminders, emoji, etc.) with signatures, parameters, and return typesSlackPin,SlackBookmark,SlackScheduledMessage,SlackReminder,SlackUserProfileCLI Docs (
docs/content/docs/cli/)slack.mdx:auth logout,workspace remove,message get,message replies,channel history/open/users--threadon message list,--type dmon channel list,--cursoron drafts/savedscheduled-deleteargument name to match source (<scheduled-message-id>)--limitflag to slackbotmessage repliesSkills
agent-slack/references/common-patterns.md— remove non-existent.datawrapper and.successfield checks, use correct output shapes (.ts,.[],.workspace,.recent_messages)--cursorpagination flags todrafts listandsaved listin agent-slack SKILL.mdPlugin README (
.claude-plugin/README.md)listsubcommand does not exist)Summary by cubic
Syncs SDK/CLI docs, skills, and plugin README to the new Slack extended API. Adds a full
SlackClientreference with examples, updates CLI commands/flags, fixes Slack/Slackbot skill patterns, and expands the plugin README with WhatsApp notes.Docs
SlackClientAPI reference (45+ methods) with 6 examples; clarified that most methods auto-retry on rate limits; added types (SlackPin,SlackBookmark,SlackScheduledMessage,SlackReminder,SlackUserProfile) and fixed minor example issues.auth logout,workspace remove,message get,message replies,channel history/open/users; flags--type dm,--cursoron drafts/saved; fixedscheduled-deletearg name; added--limittoslackbotreplies; removed undocumented message list--thread..claude-plugin/README.mdSlack section (channel management, pins, bookmarks, reminders, scheduled messages, emoji, user profiles, activity); corrected Slackbot reactions claim (no list); added WhatsApp/WhatsApp Bot sections with skill links and corrected capabilities (WhatsApp: search chats; WhatsApp Bot: send-only).Skills
agent-slack: fixed jq paths and error checks (use.ts, remove.dataand.success), aligned with new shapes (.workspace,.recent_messages); added--cursortodrafts listandsaved listinSKILL.md.agent-slackbot: added Pattern 7 (multi-bot switching) and Pattern 8 (message get + thread replies); correctedjq 'length'usage in reply count.Written for commit e077aba. Summary will update on new commits.