
Skill
slack-outgoing-message
compose and refine outbound Slack messages
Description
Primary skill for composing, drafting, or refining any outbound Slack content. Use this whenever the task will require using `slack_send_message`, `slack_send_message_draft`, or `slack_create_canvas`. Use `slack` to read or analyze Slack context; use this skill to produce the final outgoing message.
SKILL.md
Slack Outgoing Message
Overview
Use this skill whenever the task involves producing final Slack text for a send, draft, scheduled message, or canvas. If another Slack skill is used to read or summarize source context, switch to this skill before finalizing outgoing text.
Intent Rules
- If the user explicitly asks to send, post, reply, share, or create something in Slack, perform that write action directly. Do not create a draft or ask for approval only because the message text is being generated during the turn.
- Use a draft only when the user explicitly asks for a draft, review-first workflow, or later/manual send.
- If the destination, wording, or requested action is unclear, clarify before writing.
- If the user asks for an unsupported Slack write action, say so immediately and offer the closest supported path instead of drafting something unrelated.
Reference Notes
Read this reference before finalizing any outgoing Slack text:
| Task | Reference |
|---|---|
| Exact Slack Markdown syntax for emphasis, lists, links, code, and mentions | ../slack/references/markdown.md |
Formatting Rules
- Write concise Slack-ready text that follows the live tool contract plus
../slack/references/markdown.md. - Prefer a short opener, a few tight bullets, and a clear ask or next step.
- Use explicit Slack mention syntax only when you resolved the target successfully.
- Preserve source links, code, owners, dates, and commitments unless the user asked for edits.
- Do not invent approvals, decisions, or follow-through.
Workflow
- Identify the intended destination before drafting: channel, thread, DM, or group DM.
- Determine the execution mode from the user's request:
- explicit send/post/reply/share: use the direct write action
- explicit draft/review/later-send: use the draft action
- future delivery: use
slack_schedule_message - canvas/doc request: use
slack_create_canvas
- Read
../slack/references/markdown.mdand use that authoring contract.
Tool Guardrails
- Treat optional Slack tool parameters as absent-by-default.
thread_tsis valid only for replies in an existing thread. For normal channel posts, DMs, and new group DMs, omit thethread_tskey entirely.slack_create_canvasis an immediate write, not a draft. Use it only when the user explicitly asked for a canvas, doc, or immediate Slack write of that form.- Use
slack_schedule_messageonly when the user explicitly asked for future delivery or supplied a send time. slack_send_message_draftcannot overwrite an existing attached draft, and do not claim that you verified the destination is draft-free before calling the tool.- If
slack_send_message_draftreturnsdraft_already_exists, stop immediately. Tell the user there is already an attached draft in that destination and that Slack cannot overwrite it. - Current Slack app support here is centered on messages, drafts, scheduled messages, canvases, and read/search flows. Do not claim support for creating channels, editing messages, deleting messages, or resolving Slack user groups when the runtime does not expose those actions.
Destination Safety
- If the user wants to cc, mention, or tag someone, first check whether that person is already in the destination channel or group DM when the connector makes that practical. If you cannot verify it, do not imply the mention will notify them.
- Treat
@here,@channel,@everyone, and similar broad notifications as high-impact. Do not add them unless the user explicitly asked for them.
Mention Rules
- Resolve user mentions before writing when the message should tag a person, and use Slack mention syntax:
<@U123456>. - Resolve Slack user groups before writing only when the runtime exposes a way to do so, and use Slack mention syntax:
<!subteam^S123456>. - Do not rely on bare
@nametext in outgoing Slack messages. - If you cannot resolve the correct user or group, tell the user and compose the draft or message without implying the mention will work.
More skills from the plugins repository
View all 600 skillsaccessibility-and-inclusive-visualization
make data visualizations accessible
Jun 30AccessibilityChartsData VisualizationDesignagent-browser
automate browser interactions for agents
Apr 6AgentsBrowser AutomationTestingagent-browser-verify
verify dev server output with automated browser
Apr 6Browser AutomationLocal DevelopmentTestingagents-sdk
build AI agents on Cloudflare Workers
Apr 6AgentsCloudflare WorkersSDKServerless +1ai-elements
build chat UIs with AI Elements
Apr 6FrontendReactshadcn/uiUI Components +1ai-gateway
configure Vercel AI Gateway
Apr 6AI InfrastructureCost OptimizationLLMPerformance +1
More from OpenAI
View publisherprior-auth-packet-builder
build healthcare prior authorization packets
openai-agents-python
Apr 16DocumentsHealthcareInsuranceRegulatory Complianceaspnet-core
build ASP.NET Core web applications
skills
Apr 12.NETASP.NET CoreBlazorC# +1chatgpt-apps
build ChatGPT Apps SDK applications
skills
Apr 12Apps SDKChatGPTMCPOpenAIcli-creator
build CLIs from API docs
skills
Apr 12API DevelopmentCLICodexcloudflare-deploy
deploy projects to Cloudflare
skills
Apr 12CloudflareCloudflare PagesCloudflare WorkersDeploymentdefine-goal
define and set measurable project goals
skills
May 23ProductivityProject ManagementStrategyTask Management