slack-outgoing-message
$
npx mdskill add openai/plugins/slack-outgoing-messageComposes and finalizes outbound Slack messages, drafts, or canvases for sending or scheduling.
- Helps users create and refine content for posting in Slack channels or direct messages.
- Integrates with Slack's send_message, send_message_draft, and create_canvas tools for message handling.
- Decides based on user intent, using direct sends for clear requests and drafts for review workflows.
- Presents results as formatted Slack messages, following markdown syntax for emphasis and mentions.
SKILL.md
.github/skills/slack-outgoing-messageView on GitHub ↗
--- name: slack-outgoing-message 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. --- # 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](../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 1. Identify the **intended destination** before drafting: channel, thread, DM, or group DM. 2. 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` 3. Read `../slack/references/markdown.md` and use that authoring contract. ## Tool Guardrails - Treat optional Slack tool parameters as absent-by-default. - `thread_ts` is valid only for replies in an existing thread. For normal channel posts, DMs, and new group DMs, omit the `thread_ts` key entirely. - `slack_create_canvas` is 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_message` only when the user explicitly asked for future delivery or supplied a send time. - `slack_send_message_draft` cannot 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_draft` returns `draft_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 `@name` text 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 from openai/plugins
- accessibility-and-inclusive-visualizationMake data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.
- agent-browserBrowser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.
- agent-browser-verifyAutomated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass/fail before continuing.
- agents-sdkBuild AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.
- ai-elementsAI Elements component library guidance — pre-built React components for AI interfaces built on shadcn/ui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.
- ai-gatewayVercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.
- ai-generation-persistenceAI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation
- ai-sdkVercel AI SDK expert guidance. Use when building AI-powered features — chat interfaces, text generation, structured output, tool calling, agents, MCP integration, streaming, embeddings, reranking, image generation, or working with any LLM provider.
- aiq-deploy|
- aiq-research|