diff --git a/plugins/slack/skills/slack-outgoing-message/SKILL.md b/plugins/slack/skills/slack-outgoing-message/SKILL.md index 964ba800..d3029823 100644 --- a/plugins/slack/skills/slack-outgoing-message/SKILL.md +++ b/plugins/slack/skills/slack-outgoing-message/SKILL.md @@ -29,7 +29,8 @@ Read this reference **before finalizing any outgoing Slack text**: - 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. +- For drafts, use human-readable Slack profile names for people instead of raw user IDs or Slack mention syntax. +- For direct sends, scheduled messages, and canvases, 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. @@ -60,7 +61,8 @@ Read this reference **before finalizing any outgoing Slack text**: ## Mention Rules -- Resolve **user mentions** before writing when the message should tag a person, and use Slack mention syntax: `<@U123456>`. +- For `slack_send_message_draft`, resolve each referenced person's Slack profile and write their human-readable profile name in the draft text, preferring `display_name` and falling back to `real_name` or the clearest available profile name. Do not put raw Slack user IDs or `<@U123456>` syntax in draft bodies unless the user explicitly asks for raw Slack mention markup. +- For direct sends, scheduled messages, and canvases, 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: ``. -- Do not rely on bare `@name` text in outgoing Slack messages. +- Do not rely on bare `@name` text for actual sends, scheduled messages, or canvases. - If you cannot resolve the correct user or group, **tell the user** and compose the draft or message without implying the mention will work. diff --git a/plugins/slack/skills/slack-outgoing-message/agents/openai.yaml b/plugins/slack/skills/slack-outgoing-message/agents/openai.yaml index 23a3905f..27688fca 100644 --- a/plugins/slack/skills/slack-outgoing-message/agents/openai.yaml +++ b/plugins/slack/skills/slack-outgoing-message/agents/openai.yaml @@ -4,4 +4,4 @@ interface: icon_small: "./assets/slack-small.svg" icon_large: "./assets/slack.png" brand_color: "#611F69" - default_prompt: "Use $slack-outgoing-message to turn source context into final Slack-ready text for a draft, send, or canvas with correct Markdown and explicit Slack mentions." + default_prompt: "Use $slack-outgoing-message to turn source context into final Slack-ready text for a draft, send, or canvas with correct Markdown, readable draft names, and explicit Slack mentions when sending." diff --git a/plugins/slack/skills/slack/references/markdown.md b/plugins/slack/skills/slack/references/markdown.md index e236f7ed..1d97ce26 100644 --- a/plugins/slack/skills/slack/references/markdown.md +++ b/plugins/slack/skills/slack/references/markdown.md @@ -4,9 +4,9 @@ Use this reference when writing Slack-ready text for these skills. ## Authoring Contract -- Write clean Markdown-style text plus explicit Slack mention syntax. +- Write clean Markdown-style text. Use explicit Slack mention syntax for actual sends, but use human-readable Slack profile names in draft bodies. - The active Slack runtime may convert Markdown into Slack mrkdwn or blocks before sending. Follow the live tool contract if it is more specific than this file. -- Keep Slack-specific mention syntax for users and channels. Use user-group mention syntax only when the runtime can actually resolve the group. +- Keep Slack-specific mention syntax for users and channels in direct sends, scheduled messages, and canvases. Use user-group mention syntax only when the runtime can actually resolve the group. ## Common Syntax @@ -19,7 +19,8 @@ Use this reference when writing Slack-ready text for these skills. | Code block | `` ```text``` `` | | Quote | `> text` | | Link | `[label](https://example.com)` | -| User mention | `<@U123456>` | +| User mention in sends, scheduled messages, and canvases | `<@U123456>` | +| User reference in drafts | Resolved human-readable profile name, such as `Jane Doe` | | Channel mention | `<#C123456>` | | User group mention | `` | | Bulleted list | `- item` | @@ -29,5 +30,6 @@ Use this reference when writing Slack-ready text for these skills. - Prefer short paragraphs and `-` bullets for Slack posts. - Use heading-like standalone lines sparingly. Keep them short. -- Do not rely on bare `@name` text for mentions. +- Do not rely on bare `@name` text for mentions in actual sends, scheduled messages, or canvases. +- In draft bodies, do not expose raw Slack user IDs such as `U123456`, `@U123456`, or `<@U123456>` unless the user explicitly asks for raw Slack mention markup. - Avoid `@here`, `@channel`, and similar broad notifications unless the user explicitly asked for them.