google-chat-formatting

v2026.09.24

Convert Markdown to Google Chat formatting. Use when formatting messages for Google Chat or converting Markdown documents to Google Chat syntax.

GitHub
Install command
npx skhub add laurigates/google-chat-formatting
Markdown
SKILL.md

Google Chat Formatting

Expert knowledge for converting Markdown and plain text to Google Chat's limited formatting syntax. Google Chat supports a subset of formatting that differs from standard Markdown.

When to Use This Skill

Use this skill when...Use ticket-drafting-guidelines instead when...
Converting Markdown to Google Chat's single-asterisk bold and bullet syntaxDrafting a GitHub issue, PR description, or technical ticket
Formatting status updates, meeting notes, or release notes for posting in Google ChatWriting a structured What/Why/How bug report or feature request
Stripping headers and tables for a chat-channel announcementProducing prose intended for a GitHub or docs surface (keep standard Markdown)

Core Expertise

Format Conversion

  • Transform Markdown headers to bold text
  • Convert list markers to bullet symbols
  • Adapt bold/emphasis syntax to Google Chat format
  • Preserve code blocks and inline code
  • Ensure mobile-friendly spacing and readability

Google Chat Limitations

  • No native header support (use bold instead)
  • Limited text formatting (bold, italic, strikethrough, code)
  • Bullet symbols (U+2022) instead of hyphen lists
  • No nested formatting (bold inside italic, etc.)
  • No tables, images, or advanced Markdown features

Conversion Rules

Headers to Bold Text

Google Chat has no header support. Convert all headers to bold text:

# Header           → *Header*
## Subheader       → *Subheader*
### Section        → *Section*

Pattern: Remove all # symbols and wrap text in single asterisks.

Text Formatting

Google Chat uses single asterisks for bold (not double):

**bold**          → *bold*
__bold__          → *bold*
*italic*          → _italic_
_italic_          → _italic_
~~strikethrough~~ → ~strikethrough~

Key differences:

  • Bold: Single asterisks *text* (not **text**)
  • Italic: Single underscores _text_ (not *text*)
  • Strikethrough: Single tildes ~text~
  • No nested formatting support

Code Formatting

Preserve code blocks and inline code unchanged:

`inline code`     → `inline code` (unchanged)
```code block```  → ```code block``` (unchanged)

Lists

Replace Markdown list markers with bullet symbols:

- item            → • item
* item            → • item
+ item            → • item
1. numbered       → 1. numbered (keep numbered lists)

Pattern: Replace -, *, + at line start with bullet symbol.

Special Patterns

Label formatting (common in structured messages):

**Label:**        → *Label:*
**Status:** text  → *Status:* text

Whitespace

Normalize spacing for readability:

  • Collapse multiple blank lines to single blank line
  • Strip trailing whitespace

Essential Commands

Convert Markdown File

# Read file, convert, write output
cat input.md | sed -E 's/^#{1,6} (.+)$/*\1*/g' | \
  sed -E 's/\*\*([^*]+)\*\*/\*\1\*/g' | \
  sed -E 's/^[*+-] /• /g' > output.txt

Convert Inline Text

# Quick conversion of text string
echo "## Header\n**bold** text\n- item" | \
  sed -E 's/^#{1,6} (.+)$/*\1*/g' | \
  sed -E 's/\*\*([^*]+)\*\*/\*\1\*/g' | \
  sed -E 's/^[*+-] /• /g'

Process Clipboard (macOS)

# Convert clipboard content
pbpaste | sed -E 's/^#{1,6} (.+)$/*\1*/g' | \
  sed -E 's/\*\*([^*]+)\*\*/\*\1\*/g' | \
  sed -E 's/^[*+-] /• /g' | pbcopy

Batch Processing

# Convert all .md files in directory
for file in *.md; do
  sed -E 's/^#{1,6} (.+)$/*\1*/g' "$file" | \
    sed -E 's/\*\*([^*]+)\*\*/\*\1\*/g' | \
    sed -E 's/^[*+-] /• /g' > "${file%.md}.gchat.txt"
done

For common conversion patterns (meeting notes, status updates, release notes), best practices, troubleshooting, integration examples, limitations, and advanced patterns, see REFERENCE.md.

Quick Reference

Conversion Patterns

MarkdownGoogle ChatNotes
# Header*Header*All header levels
**bold***bold*Single asterisks
__bold__*bold*Underscores to asterisks
*italic*_italic_Single underscores
- item• itemBullet symbol
`code``code`Unchanged

Sed Commands

# Headers
sed -E 's/^#{1,6} (.+)$/*\1*/g'

# Bold (asterisks)
sed -E 's/\*\*([^*]+)\*\*/\*\1\*/g'

# Bold (underscores)
sed -E 's/__([^_]+)__/\*\1\*/g'

# Lists
sed -E 's/^[*+-] /• /g'

# Collapse blank lines
sed -E '/^$/N;/^\n$/D'

# Strip trailing whitespace
sed -E 's/[ \t]+$//'

Agentic Optimizations

ContextCommand
Quick convert filesed -E 's/^#{1,6} (.+)$/*\1*/g' file.md | sed -E 's/\*\*([^*]+)\*\*/\*\1\*/g'
Check for unconvertedgrep -E '^\#|^\*\*' output.txt
Clipboard convertpbpaste | sed -E 's/^#{1,6} (.+)$/*\1*/g' | pbcopy

Resources

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

communication-plugin/skills/google-chat-formatting

Default branch

main

Latest commit

1668324

Tree SHA

b2d4cc3