mcpField
S
slack-mrkdwn

slack-mrkdwn

github.com/ccheneyProductivity61121 installsUpdated 7w ago
Repository

About slack-mrkdwn

A skill for formatting content according to Slack's receiving field, such as mrkdwn, Markdown, rich text, or plain text. It helps people preparing Slack messages or payloads preserve controls, mentions, links, and field-specific rules.

Key features

  1. 01Choose syntax for the destination field
  2. 02Escape untrusted mrkdwn characters
  3. 03Preserve mentions and link controls
  4. 04Check field limits and method rules
  5. 05Consult focused formatting references

Use cases

  1. 01Format ordinary Slack message text
  2. 02Prepare content for rich_text or plain_text fields
  3. 03Correct a payload for its receiving renderer

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ccheney/robust-skills --skill slack-mrkdwn

After installing, type/slack-mrkdwnin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
CHEATSHEET.md
MESSAGE-BEHAVIOR.md
RENDERERS.md
SYNTAX.md

Details

From the project README

Slack Text Formatting

Format the supplied content for the actual receiving field. The user's explicit instructions take precedence over this skill's guidelines.

Select the renderer

Use the text and destination field/method as input. Infer the destination from the existing payload; if it is unclear and changes the syntax, ask which surface receives the text. For an ordinary Slack message with no other context, state that you are using message text and mrkdwn.

DestinationFormat
Message text, type: "mrkdwn" objectsSlack mrkdwn: *bold*, `<url
markdown block, markdown_text, Work Object Markdown fieldsStandard Markdown: **bold**, [label](url)
rich_text blockNested elements and style objects, not markup strings
Labels or plain_text objectsLiteral text

Preserve content and controls

  • Escape untrusted &, <, and > in mrkdwn, in that order. JSON escaping is separate. verbatim: true does not neutralize explicit <...> controls.
  • Use real IDs for mentions and channels. If an ID is missing, leave a clearly labeled template value or ask for it when the output must be ready to send; do not guess from a display name.
  • Preserve intended mentions and links without introducing broad notifications. Date controls need a fallback containing timezone information.
  • Keep supplied fallback text complete and aligned with block content. Do not assume block rendering supplies mobile notification text.
  • Check field-specific limits and method combination rules; non-streaming markdown_text cannot be combined with text or blocks on the documented chat methods.

Return the requested formatted string, text object, or corrected payload. Preserve meaning and explain a renderer mismatch when fixing one. A formatting task can be completed without posting; send only when that action is requested or already authorized.

References

Read only the part needed for the destination or control syntax.

TaskReference
Markdown surfaces, text objects, rich text, Work Object textRENDERERS.md
mrkdwn syntax, mentions, date tokens, escapingSYNTAX.md
Links/unfurls, parse flags, notifications, legacy attachmentsMESSAGE-BEHAVIOR.md
Compact field and syntax lookupCHEATSHEET.md

For changing surface support, use Slack's formatting guide and the receiving field/method reference.

Comments

Markdown supported