Skip to content

Commit 0d4f541

Browse files
authored
[codex] Add Slack skill rate limit guidance (#258)
## Summary - Add Slack skill guidance for bucketed per-minute RPM limits. - Tell agents to avoid immediate same-bucket retries on 429s, respect explicit wait hints, and back off on repeated 429s. - Clarify that useful work can continue through other Slack tool buckets while one bucket is cooling down. ## Why Slack tools share quotas by bucket rather than by individual tool. Without bucket-aware retry guidance, agents can amplify rate-limit pressure by retrying equivalent tools immediately or by serially exhausting the same quota bucket. ## Validation - Ran `git diff --check`. - Markdown-only skill update; no automated test suite run.
1 parent ed8ce2e commit 0d4f541

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

plugins/slack/skills/slack/SKILL.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ If the task will produce outgoing Slack text or perform a Slack write, switch to
3939
- If the user asks for Slack analysis only, return the result in chat unless they also asked for Slack delivery.
4040
- If the user asks for an unsupported Slack write action, say so and offer the closest supported path instead of forcing a draft.
4141

42+
## Tool Rate Limits
43+
44+
- Slack tools have per-minute RPM quotas by bucket, not by individual tool. Treat `slack_search_*` tools as the search bucket, `slack_read_*`, `slack_list_*`, and lookup-style tools as the read bucket, and message, draft, schedule, or canvas creation tools as the send/write bucket.
45+
- If a Slack tool returns a 429, do not retry immediately and do not switch to an equivalent tool in the same bucket. If the response includes `Retry-After` or another explicit wait hint, follow it. Otherwise wait about 30 seconds before calling that bucket again.
46+
- If the same bucket returns another 429 during the task, wait about 1 minute before the next retry, then about 2 minutes after the next 429, continuing with exponential backoff as needed.
47+
- A 429 in one bucket does not imply the other buckets are exhausted. While waiting on one bucket, continue making useful progress with other buckets when that can advance the task safely.
48+
- If the task cannot be completed without the exhausted bucket after reasonable backoff, explain the rate limit to the user and return the best partial result or next step.
49+
4250
## DM Routing
4351

4452
- When the same message is meant for multiple specific people, first look for an existing group DM with the right people and prefer that over duplicate one-to-one DMs.

0 commit comments

Comments
 (0)