teams-message-formatting

Installation
SKILL.md

Teams Message Formatting

Microsoft Teams has several incompatible text systems. Pick the surface first, then write the text for that surface — most rendering bugs come from using one surface's syntax on another.

CRITICAL: Four Markup Systems

System Used In Bold Link Mention
Bot text markdown Bot Framework/Teams SDK activity text (default) **bold** [text](url) <at>Name</at> plus activity entities
Bot text xml Bot activity textFormat: "xml" and hero/thumbnail card text <strong>bold</strong> <a href="url">text</a> <at>Name</at> plus activity entities
Adaptive Card Markdown TextBlock.text, Fact.title, Fact.value **bold** [text](url) <at>Name</at> plus root msteams.entities
Graph chatMessage HTML Microsoft Graph chatMessage.body.contentType: "html" <strong>bold</strong> <a href="url">text</a> <at id="0">Name</at> plus mentions array

Do not mix them. Slack mrkdwn (*bold*, <url|text>) is wrong everywhere in Teams. Full standard Markdown is also wrong in Adaptive Cards: headings, tables, images, preformatted text, and blockquotes are not supported in TextBlock.

Quick Decision Tree

Installs
23
GitHub Stars
57
First Seen
Jun 23, 2026
teams-message-formatting — ccheney/robust-skills