{"id":"bc40758a-85e7-426f-adbb-6a69cc200dab","shortId":"86RZgF","kind":"skill","title":"slack-mrkdwn","tagline":"Proactively apply when generating any Slack text content, chat.postMessage text fields, or text objects with type \"mrkdwn\". Triggers on mrkdwn, Slack formatting, Slack markdown, Slack bold, Slack italic, Slack link syntax, Slack mentions, Slack date formatting, Slack escaping, Sl","description":"# Slack mrkdwn\n\nSlack's custom text formatting syntax for messages and text objects. Not standard Markdown.\n\n## CRITICAL: Two Markup Systems\n\nSlack has two completely different markup syntaxes. Using the wrong one is the most common formatting mistake.\n\n| System | Used In | Bold | Link | Heading |\n|--------|---------|------|------|---------|\n| **Slack mrkdwn** | `text` field, text objects (`type: \"mrkdwn\"`), section fields | `*bold*` | `<url\\|text>` | Not supported |\n| **Standard Markdown** | `markdown` block only | `**bold**` | `[text](url)` | `# Heading` |\n\nStandard Markdown syntax (`**bold**`, `[text](url)`, `# Heading`) renders as literal text in mrkdwn contexts. Slack mrkdwn syntax (`*bold*`, `<url|text>`) renders as literal text in markdown blocks. Never mix them.\n\nThe `markdown` block (`type: \"markdown\"`) accepts standard Markdown and translates it for Slack rendering. Supports: headings, bold, italic, strikethrough, lists, links, blockquotes, code blocks with optional syntax highlighting, horizontal rules/dividers, tables, task lists, and images (rendered as link text). A single input block may produce multiple output blocks. Cumulative limit across all `markdown` blocks in one payload: 12,000 characters.\n\n## mrkdwn Syntax\n\n| Format | Syntax | Notes |\n|--------|--------|-------|\n| Bold | `*bold*` | Not `**bold**` |\n| Italic | `_italic_` | Not `*italic*` |\n| Strikethrough | `~strikethrough~` | Not `~~strikethrough~~` |\n| Inline code | `` `code` `` | Same as standard Markdown |\n| Code block | ` ```code``` ` | No syntax highlighting in mrkdwn; use a `markdown` block with language-tagged fences for highlighting |\n| Blockquote | `> quoted text` | Prefix each line |\n| Link | `<https://example.com\\|display text>` | Not `[text](url)` |\n| Emoji | `:emoji_name:` | Standard or custom. Direct Unicode also works |\n| Newline | `\\n` | Literal newline in string |\n| Ordered list | `1. item` | Plain text, no special rendering |\n| Bullet list | `- item` | Rendered properly in `rich_text` blocks only |\n\nInline code disables all other formatting within it — use it to display literal text like `*not bold*`.\n\n### Nested Formatting\n\nCombining adjacent format markers without spaces (e.g., `*bold*_italic_`) is **unreliable** and may not render correctly. Always add a space between differently-formatted segments:\n\n```\n*bold* _italic_              ← works reliably\n*bold*_italic_               ← may fail to render\n```\n\nFor reliable combined formatting on a single word, use `rich_text` blocks with explicit style objects (`{\"bold\": true, \"italic\": true}`).\n\n## Links\n\n```\n<https://example.com>                            Auto-detected URL\n<https://example.com|Display Text>               URL with custom text\n<mailto:user@example.com|Email Link>             Email link\n```\n\nURLs posted in text are auto-linked by Slack. Use `<url|text>` for custom display text. Spaces in URLs will break parsing — remove them. mrkdwn formatting inside link labels (e.g., `<url|*bold*>`) works for basic styles.\n\n### Link Unfurling\n\nSlack previews (\"unfurls\") linked content. Control this per message:\n\n| Parameter | Controls | Default (API) |\n|-----------|----------|---------------|\n| `unfurl_links` | Text-based content previews | `false` |\n| `unfurl_media` | Media (images, video, audio) previews | `true` |\n\nSet both to `false` to suppress all previews. These are `chat.postMessage` parameters, not mrkdwn syntax.\n\n## Mentions and References\n\n### User Mentions\n\n```\n<@U0123ABC456>\n```\n\nTriggers a notification for the mentioned user. Auto-converts to display name.\n\n### Channel References\n\n```\n<#C0123ABC456>\n```\n\nAuto-converts to channel name. Users without access see \"private channel\".\n\n### User Group Mentions\n\n```\n<!subteam^SAZ94GDB8>\n```\n\nNotifies all members of the user group.\n\n### Special Mentions\n\n| Syntax | Scope | Caution |\n|--------|-------|---------|\n| `<!here>` | Active members in channel | Use sparingly |\n| `<!channel>` | All channel members | Triggers push notifications for everyone |\n| `<!everyone>` | All non-guest workspace members | Very disruptive |\n\n### Best Practice\n\nAlways use IDs, not names. IDs are stable; names change:\n\n```\n  <@U0123ABC456>       (user ID)\n  @chris                (name — may not resolve)\n\n  <#C0123ABC456>       (channel ID)\n  #general              (name — may not resolve)\n```\n\nTo enable name-based parsing, set `link_names: 1` in the API call. This is fragile and discouraged.\n\n## Date Formatting\n\nDisplays dates/times localized to the reader's **device timezone** (not their Slack preference timezone).\n\n### Syntax\n\n```\n<!date^{unix_timestamp}^{token_string}^{optional_link}|{fallback_text}>\n```\n\n### Tokens\n\n| Token | Example Output |\n|-------|---------------|\n| `{date_num}` | 2014-02-18 |\n| `{date}` | February 18th, 2014 (omits year if within ~6 months) |\n| `{date_short}` | Feb 18, 2014 |\n| `{date_long}` | Tuesday, February 18th, 2014 |\n| `{date_pretty}` | Yesterday / February 18th, 2014 |\n| `{date_short_pretty}` | Yesterday / Feb 18, 2014 |\n| `{date_long_pretty}` | Yesterday / Tuesday, February 18th, 2014 |\n| `{time}` | 6:39 AM (12h) or 06:39 (24h) |\n| `{time_secs}` | 6:39:42 AM |\n| `{ago}` | 3 minutes ago / 4 hours ago |\n\n`_pretty` variants use relative terms (\"yesterday\", \"today\", \"tomorrow\") when applicable.\n\n### Examples\n\n```\n<!date^1392734382^{date} at {time}|February 18th, 2014 at 6:39 AM PST>\n<!date^1392734382^{date_short_pretty} {time}|Feb 18, 2014 6:39 AM>\n<!date^1392734382^{ago}|February 18th, 2014>\n```\n\nTokens can be mixed with literal text in the token string. The optional link (third `^`-separated parameter) makes the date a clickable hyperlink. Fallback text (after `|`) displays for clients that cannot render date formatting.\n\n## Escaping\n\nOnly three characters require escaping in mrkdwn:\n\n| Character | Escape Sequence |\n|-----------|----------------|\n| `&` | `&amp;` |\n| `<` | `&lt;` |\n| `>` | `&gt;` |\n\nDo NOT encode other characters as HTML entities. Only these three are control characters in Slack's markup system.\n\nWhen displaying user-generated content that may contain these characters, always escape them to prevent unintended formatting or link injection.\n\n## Text Object\n\nThe text object is the most common composition object in Block Kit. It determines how text is rendered.\n\n```json\n[\n  { \"type\": \"mrkdwn\", \"text\": \"*bold* and _italic_\", \"verbatim\": false },\n  { \"type\": \"plain_text\", \"text\": \"No formatting\", \"emoji\": true }\n]\n```\n\n`mrkdwn` supports Slack mrkdwn syntax. `plain_text` renders literally. `emoji: true` converts `:emoji:` to rendered emoji (plain_text only). Min 1 char, max 3000 chars (section `fields` max 2000 chars each, max 10 fields).\n\n### Where Each Type Is Allowed\n\n| Context | Allowed Types |\n|---------|--------------|\n| Header block text | `plain_text` only |\n| Section text / fields | `mrkdwn` or `plain_text` |\n| Context elements | `mrkdwn` or `plain_text` |\n| Button text | `plain_text` only |\n| Placeholder | `plain_text` only |\n| Input label / hint | `plain_text` only |\n| Modal title / submit / close | `plain_text` only |\n| Option text | `plain_text` only |\n| Option description | `mrkdwn` or `plain_text` |\n\n### Verbatim Behavior\n\nWhen `verbatim: false` (default):\n- URLs auto-convert to clickable links\n- Channel names auto-convert to channel links\n- Mentions auto-parse\n\nWhen `verbatim: true`:\n- Markdown formatting still processes\n- No auto-linking or mention parsing\n- Useful for displaying raw URLs or text containing `@` or `#` that aren't mentions\n\n```json\n{ \"type\": \"mrkdwn\", \"text\": \"Check the log at http://example.com/debug\", \"verbatim\": true }\n```\n\n## Auto-Parsing Behavior\n\n### The `parse` Parameter (chat.postMessage)\n\n| Value | Effect |\n|-------|--------|\n| `\"none\"` (default) | mrkdwn formatting enabled; minimal auto-parsing of names/URLs |\n| `\"full\"` | Disables mrkdwn formatting; auto-parses URLs, channel names, user mentions |\n\n### Disabling Auto-Parsing\n\n**In text objects:** Set `verbatim: true` (see above).\n\n**In message payloads:**\n- Omit `link_names` argument (or set to `0`)\n- Set `parse: \"none\"` to disable all auto-parsing\n\n## Disabling Formatting Entirely\n\n| Context | Method |\n|---------|--------|\n| Text objects | Set `type` to `\"plain_text\"` |\n| Top-level message `text` | Set `mrkdwn: false` |\n| Attachments | Exclude field from `mrkdwn_in` array |\n\n## Anti-Patterns\n\n| Anti-Pattern | Problem | Fix |\n|--------------|---------|-----|\n| `**bold**` in mrkdwn | Renders literally | Use `*bold*` |\n| `[text](url)` in mrkdwn | Renders literally | Use `<url\\|text>` |\n| `# Heading` in mrkdwn | Renders as plain text | Use `header` block or `markdown` block |\n| `*bold*` in markdown block | Renders as italic | Use `**bold**` |\n| `link_names: 1` for mentions | Fragile — names change, IDs don't | Use `<@USERID>` directly |\n| HTML-encoding beyond `&<>` | Renders literally | Only escape `&`, `<`, `>` |\n| Spaces in URLs | Breaks link parsing | URL-encode spaces as `%20` |\n| Combining `*bold*_italic_` without space | Rendering unreliable | Add space: `*bold* _italic_` |\n\n## Secondary Attachments (Legacy)\n\nThe `attachments` array adds secondary content below the main message. One of `fallback` or `text` is required (unless using `blocks`).\n\n| Field | Description |\n|-------|-------------|\n| `fallback` | Plain-text summary for limited clients (always plain text) |\n| `color` | Hex color or `\"good\"` / `\"warning\"` / `\"danger\"` |\n| `pretext` | Text above the attachment block |\n| `author_name`, `author_link`, `author_icon` | Small author line (16px icon) |\n| `title`, `title_link` | Large heading with optional hyperlink |\n| `text` | Main body (auto-collapses at 700+ chars) |\n| `fields` | Array of `{ title, value, short }` objects |\n| `image_url` | Full-width image (GIF, JPEG, PNG, BMP) |\n| `thumb_url` | Thumbnail (75px max) |\n| `footer`, `footer_icon`, `ts` | Footer metadata (footer max 300 chars) |\n| `mrkdwn_in` | Array of fields to format with mrkdwn: `\"text\"`, `\"pretext\"`, `\"fields\"` |\n\nOnly `\"text\"`, `\"pretext\"`, and `\"fields\"` are accepted values in `mrkdwn_in`. Fields not listed render as plain text. `fallback` is always plain text.\n\n**Prefer Block Kit blocks** over attachments for new development.\n\n## Reference Documentation\n\n| File | Purpose |\n|------|---------|\n| [references/CHEATSHEET.md](references/CHEATSHEET.md) | Quick reference: mrkdwn syntax, mentions, dates, escaping at a glance |\n\n## Sources\n\n- [Formatting Message Text](https://docs.slack.dev/messaging/formatting-message-text) — Slack\n- [Block Kit Composition Objects — Text Object](https://docs.slack.dev/reference/block-kit/composition-objects/text-object) — Slack\n- [Markdown Block](https://docs.slack.dev/reference/block-kit/blocks/markdown-block/) — Slack\n- [Legacy Secondary Message Attachments](https://docs.slack.dev/legacy/legacy-messaging/legacy-secondary-message-attachments/) — Slack\n- [Messaging Overview](https://docs.slack.dev/messaging) — Slack","tags":["slack","mrkdwn","robust","skills","ccheney","agent-skills","clean-architecture","domain-driven-design","drizzle-orm","feature-sliced-design","hexagonal-architecture","mermaid-diagrams"],"capabilities":["skill","source-ccheney","skill-slack-mrkdwn","topic-agent-skills","topic-clean-architecture","topic-domain-driven-design","topic-drizzle-orm","topic-feature-sliced-design","topic-hexagonal-architecture","topic-mermaid-diagrams","topic-modern-javascript","topic-postgres","topic-skills","topic-slack-block-kit","topic-slack-mrkdwn"],"categories":["robust-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ccheney/robust-skills/slack-mrkdwn","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ccheney/robust-skills","source_repo":"https://github.com/ccheney/robust-skills","install_from":"skills.sh"}},"qualityScore":"0.469","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 39 github stars · SKILL.md body (10,928 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-01T18:56:47.910Z","embedding":null,"createdAt":"2026-04-18T22:18:47.543Z","updatedAt":"2026-05-01T18:56:47.910Z","lastSeenAt":"2026-05-01T18:56:47.910Z","tsv":"'-02':623 '-18':624 '/debug':1009 '/legacy/legacy-messaging/legacy-secondary-message-attachments/)':1394 '/messaging)':1400 '/messaging/formatting-message-text)':1370 '/reference/block-kit/blocks/markdown-block/)':1386 '/reference/block-kit/composition-objects/text-object)':1380 '0':1067 '000':198 '06':673 '1':274,580,873,1152 '10':885 '12':197 '12h':671 '1392734382':701,714,726 '16px':1253 '18':638,657,720 '18th':627,644,650,665,706,729 '20':1183 '2000':881 '2014':622,628,639,645,651,658,666,707,721,730 '24h':675 '3':683 '300':1302 '3000':876 '39':669,674,679,710,723 '4':686 '42':680 '6':633,668,678,709,722 '700':1270 '75px':1292 'accept':145,1322 'access':497 'across':190 'activ':519 'add':327,1191,1201 'adjac':311 'ago':682,685,688,727 'allow':891,893 'also':264 'alway':326,545,806,1228,1336 'anti':1105,1108 'anti-pattern':1104,1107 'api':435,583 'appli':5 'applic':698 'aren':996 'argument':1063 'array':1103,1200,1273,1306 'attach':1097,1196,1199,1242,1344,1391 'audio':449 'author':1244,1246,1248,1251 'auto':368,390,481,490,955,963,970,981,1013,1029,1038,1047,1075,1267 'auto-collaps':1266 'auto-convert':480,489,954,962 'auto-detect':367 'auto-link':389,980 'auto-pars':969,1012,1028,1037,1046,1074 'base':440,575 'basic':419 'behavior':948,1015 'best':543 'beyond':1167 'block':104,136,142,163,182,187,193,225,235,289,356,828,896,1137,1140,1144,1217,1243,1340,1342,1372,1383 'blockquot':161,243 'bmp':1288 'bodi':1265 'bold':29,83,96,106,113,127,156,205,206,208,307,317,335,339,361,416,840,1112,1118,1141,1149,1185,1193 'break':405,1175 'bullet':281 'button':914 'c0123abc456':488,563 'call':584 'cannot':761 'caution':517 'chang':554,1157 'channel':486,493,500,522,525,527,564,960,966,1041 'char':874,877,882,1271,1303 'charact':199,768,773,780,789,805 'chat.postmessage':12,462,1019 'check':1003 'chris':558 'clickabl':752,958 'client':759,1227 'close':932 'code':162,218,219,224,226,292 'collaps':1268 'color':1231,1233 'combin':310,347,1184 'common':77,824 'complet':66 'composit':825,1374 'contain':803,993 'content':11,427,441,800,1203 'context':123,892,908,1080 'control':428,433,788 'convert':482,491,864,956,964 'correct':325 'critic':59 'cumul':188 'custom':47,261,376,398 'danger':1237 'date':38,590,607,620,625,635,640,646,652,659,700,702,713,715,725,750,763,1359 'dates/times':593 'default':434,952,1023 'descript':942,1219 'detect':369 'determin':831 'develop':1347 'devic':599 'differ':67,332 'differently-format':331 'direct':262,1163 'disabl':293,1034,1045,1072,1077 'discourag':589 'display':251,302,372,399,484,592,757,796,988 'disrupt':542 'docs.slack.dev':1369,1379,1385,1393,1399 'docs.slack.dev/legacy/legacy-messaging/legacy-secondary-message-attachments/)':1392 'docs.slack.dev/messaging)':1398 'docs.slack.dev/messaging/formatting-message-text)':1368 'docs.slack.dev/reference/block-kit/blocks/markdown-block/)':1384 'docs.slack.dev/reference/block-kit/composition-objects/text-object)':1378 'document':1349 'e.g':316,414 'effect':1021 'element':909 'email':380,382 'emoji':256,257,851,862,865,868 'enabl':572,1026 'encod':778,1166,1180 'entir':1079 'entiti':783 'escap':41,765,770,774,807,1171,1360 'everyon':533,534 'exampl':618,699 'example.com':250,366,371,1008 'example.com/debug':1007 'exclud':1098 'explicit':358 'fail':342 'fallback':614,754,1210,1220,1334 'fals':443,455,844,951,1096 'feb':637,656,719 'februari':626,643,649,664,705,728 'fenc':240 'field':14,89,95,879,886,903,1099,1218,1272,1308,1315,1320,1327 'file':1350 'fix':1111 'footer':1294,1295,1298,1300 'format':25,39,49,78,202,296,309,312,333,348,410,591,764,812,850,976,1025,1036,1078,1310,1365 'fragil':587,1155 'full':1033,1282 'full-width':1281 'general':566 'generat':7,799 'gif':1285 'glanc':1363 'good':1235 'group':502,512 'guest':538 'head':85,109,116,155,1128,1259 'header':895,1136 'hex':1232 'highlight':167,229,242 'hint':925 'horizont':168 'hour':687 'html':782,1165 'html-encod':1164 'hyperlink':753,1262 'icon':1249,1254,1296 'id':547,550,557,565,1158 'imag':174,447,1279,1284 'inject':815 'inlin':217,291 'input':181,923 'insid':411 'ital':31,157,209,210,212,318,336,340,363,842,1147,1186,1194 'item':275,283 'jpeg':1286 'json':836,999 'kit':829,1341,1373 'label':413,924 'languag':238 'language-tag':237 'larg':1258 'legaci':1197,1388 'level':1091 'like':305 'limit':189,1226 'line':248,1252 'link':33,84,160,177,249,365,381,383,391,412,421,426,437,578,613,744,814,959,967,982,1061,1150,1176,1247,1257 'list':159,172,273,282,1329 'liter':119,132,268,303,736,861,1116,1124,1169 'local':594 'log':1005 'long':641,660 'mailto':378 'main':1206,1264 'make':748 'markdown':27,58,102,103,111,135,141,144,147,192,223,234,975,1139,1143,1382 'marker':313 'markup':61,68,793 'max':875,880,884,1293,1301 'may':183,322,341,560,568,802 'media':445,446 'member':508,520,528,540 'mention':36,467,471,478,503,514,968,984,998,1044,1154,1358 'messag':52,431,1058,1092,1207,1366,1390,1396 'metadata':1299 'method':1081 'min':872 'minim':1027 'minut':684 'mistak':79 'mix':138,734 'modal':929 'month':634 'mrkdwn':3,20,23,44,87,93,122,125,200,231,409,465,772,838,853,856,904,910,943,1001,1024,1035,1095,1101,1114,1122,1130,1304,1312,1325,1356 'multipl':185 'n':267 'name':258,485,494,549,553,559,567,574,579,961,1042,1062,1151,1156,1245 'name-bas':573 'names/urls':1032 'nest':308 'never':137 'new':1346 'newlin':266,269 'non':537 'non-guest':536 'none':1022,1070 'note':204 'notif':475,531 'notifi':506 'num':621 'object':17,55,91,360,817,820,826,1051,1083,1278,1375,1377 'omit':629,1060 'one':73,195,1208 'option':165,612,743,936,941,1261 'order':272 'output':186,619 'overview':1397 'paramet':432,463,747,1018 'pars':406,576,971,985,1014,1017,1030,1039,1048,1069,1076,1177 'pattern':1106,1109 'payload':196,1059 'per':430 'placehold':919 'plain':276,846,858,869,898,906,912,916,920,926,933,938,945,1087,1133,1222,1229,1332,1337 'plain-text':1221 'png':1287 'post':385 'practic':544 'prefer':604,1339 'prefix':246 'pretext':1238,1314,1318 'pretti':647,654,661,689,717 'prevent':810 'preview':424,442,450,459 'privat':499 'proactiv':4 'problem':1110 'process':978 'produc':184 'proper':285 'pst':712 'purpos':1351 'push':530 'quick':1354 'quot':244 'raw':989 'reader':597 'refer':469,487,1348,1355 'references/cheatsheet.md':1352,1353 'relat':692 'reliabl':338,346 'remov':407 'render':117,130,153,175,280,284,324,344,762,835,860,867,1115,1123,1131,1145,1168,1189,1330 'requir':769,1214 'resolv':562,570 'rich':287,354 'rules/dividers':169 'saz94gdb8':505 'scope':516 'sec':677 'secondari':1195,1202,1389 'section':94,878,901 'see':498,1055 'segment':334 'separ':746 'sequenc':775 'set':452,577,1052,1065,1068,1084,1094 'short':636,653,716,1277 'singl':180,351 'skill' 'skill-slack-mrkdwn' 'sl':42 'slack':2,9,24,26,28,30,32,35,37,40,43,45,63,86,124,152,393,423,603,791,855,1371,1381,1387,1395,1401 'slack-mrkdwn':1 'small':1250 'sourc':1364 'source-ccheney' 'space':315,329,401,1172,1181,1188,1192 'spare':524 'special':279,513 'stabl':552 'standard':57,101,110,146,222,259 'still':977 'strikethrough':158,213,214,216 'string':271,611,741 'style':359,420 'submit':931 'subteam':504 'summari':1224 'support':100,154,854 'suppress':457 'syntax':34,50,69,112,126,166,201,203,228,466,515,606,857,1357 'system':62,80,794 'tabl':170 'tag':239 'task':171 'term':693 'text':10,13,16,48,54,88,90,98,107,114,120,129,133,178,245,252,254,277,288,304,355,373,377,387,396,400,439,615,737,755,816,819,833,839,847,848,859,870,897,899,902,907,913,915,917,921,927,934,937,939,946,992,1002,1050,1082,1088,1093,1119,1127,1134,1212,1223,1230,1239,1263,1313,1317,1333,1338,1367,1376 'text-bas':438 'third':745 'three':767,786 'thumb':1289 'thumbnail':1291 'time':667,676,704,718 'timestamp':609 'timezon':600,605 'titl':930,1255,1256,1275 'today':695 'token':610,616,617,731,740 'tomorrow':696 'top':1090 'top-level':1089 'topic-agent-skills' 'topic-clean-architecture' 'topic-domain-driven-design' 'topic-drizzle-orm' 'topic-feature-sliced-design' 'topic-hexagonal-architecture' 'topic-mermaid-diagrams' 'topic-modern-javascript' 'topic-postgres' 'topic-skills' 'topic-slack-block-kit' 'topic-slack-mrkdwn' 'translat':149 'trigger':21,473,529 'true':362,364,451,852,863,974,1011,1054 'ts':1297 'tuesday':642,663 'two':60,65 'type':19,92,143,837,845,889,894,1000,1085 'u0123abc456':472,555 'unfurl':422,425,436,444 'unicod':263 'unintend':811 'unix':608 'unless':1215 'unreli':320,1190 'url':97,108,115,128,255,370,374,384,395,403,415,953,990,1040,1120,1126,1174,1179,1280,1290 'url-encod':1178 'use':70,81,232,299,353,394,523,546,691,986,1117,1125,1135,1148,1161,1216 'user':470,479,495,501,511,556,798,1043 'user-gener':797 'user@example.com':379 'userid':1162 'valu':1020,1276,1323 'variant':690 'verbatim':843,947,950,973,1010,1053 'video':448 'warn':1236 'width':1283 'within':297,632 'without':314,496,1187 'word':352 'work':265,337,417 'workspac':539 'wrong':72 'year':630 'yesterday':648,655,662,694","prices":[{"id":"195845ac-d4d8-4d0c-9e83-44319a145e5e","listingId":"bc40758a-85e7-426f-adbb-6a69cc200dab","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ccheney","category":"robust-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:18:47.543Z"}],"sources":[{"listingId":"bc40758a-85e7-426f-adbb-6a69cc200dab","source":"github","sourceId":"ccheney/robust-skills/slack-mrkdwn","sourceUrl":"https://github.com/ccheney/robust-skills/tree/main/skills/slack-mrkdwn","isPrimary":false,"firstSeenAt":"2026-04-18T22:18:47.543Z","lastSeenAt":"2026-05-01T18:56:47.910Z"}],"details":{"listingId":"bc40758a-85e7-426f-adbb-6a69cc200dab","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ccheney","slug":"slack-mrkdwn","github":{"repo":"ccheney/robust-skills","stars":39,"topics":["agent-skills","clean-architecture","domain-driven-design","drizzle-orm","feature-sliced-design","hexagonal-architecture","mermaid-diagrams","modern-javascript","postgres","skills","slack-block-kit","slack-mrkdwn","slack-work-objects"],"license":"mit","html_url":"https://github.com/ccheney/robust-skills","pushed_at":"2026-04-27T15:23:12Z","description":"Robust skills for Agents","skill_md_sha":"373338d8e28ef18a68a868dc8abce918388deb58","skill_md_path":"skills/slack-mrkdwn/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ccheney/robust-skills/tree/main/skills/slack-mrkdwn"},"layout":"multi","source":"github","category":"robust-skills","frontmatter":{"name":"slack-mrkdwn","description":"Proactively apply when generating any Slack text content, chat.postMessage text fields, or text objects with type \"mrkdwn\". Triggers on mrkdwn, Slack formatting, Slack markdown, Slack bold, Slack italic, Slack link syntax, Slack mentions, Slack date formatting, Slack escaping, Slack text object, verbatim, plain_text, Slack mrkdwn vs markdown, Slack blockquote, Slack code block, Slack strikethrough, Slack user mention, Slack channel mention, Slack emoji, link_names, auto-parsing. Use when formatting Slack message text, writing mrkdwn strings, constructing text objects, escaping user content for Slack, adding mentions or date formatting to messages, or debugging text rendering issues. Slack mrkdwn text formatting syntax for messages, text objects, and attachments."},"skills_sh_url":"https://skills.sh/ccheney/robust-skills/slack-mrkdwn"},"updatedAt":"2026-05-01T18:56:47.910Z"}}