Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions plugins/slack/skills/slack-outgoing-message/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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: `<!subteam^S123456>`.
- 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.
Original file line number Diff line number Diff line change
Expand Up @@ -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."
10 changes: 6 additions & 4 deletions plugins/slack/skills/slack/references/markdown.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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 | `<!subteam^S123456>` |
| Bulleted list | `- item` |
Expand All @@ -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.