Awesome-omni-skill md-to-image
Convert Markdown tables to PNG images for Telegram, WhatsApp, and other chat interfaces that don't support table formatting.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/md-to-image" ~/.claude/skills/diegosouzapw-awesome-omni-skill-md-to-image && rm -rf "$T"
manifest:
skills/development/md-to-image/SKILL.mdsource content
md-to-image
Convert Markdown tables to PNG images for chat interfaces that don't support table formatting (like Telegram).
When to use (trigger phrases)
Use this skill immediately when:
- Any response contains a markdown table destined for Telegram or WhatsApp
- User says "use table to image" or "convert this table"
- Output has
pattern and channel is Telegram| column | column |
Quick start
# Convert markdown file to PNG node ~/.openclaw/workspace/md-to-image/md-to-image.js input.md output.png --scale=2 # Convert from stdin echo "| A | B |\n|---|---|" | node md-to-image.js - output.png
Auto-apply
This skill auto-applies at 95% confidence when:
- Channel is Telegram or WhatsApp
- Content contains
pattern| table | - 2+ rows, 2+ columns
- Data is informational (not ASCII art)
Options
| Option | Default | Description |
|---|---|---|
| 2 | Image scale (2x for retina) |
| calm | Color theme: calm, dark, colorful |
| auto | Table width in pixels |
Color themes
- calm (default): Black/gray headers, minimal
- dark: Dark mode friendly
- colorful: Blue/purple gradient headers
How it works
- Parses markdown table syntax
- Generates HTML with CSS styling
- Renders via Puppeteer (headless Chrome)
- Captures screenshot of rendered table
- Returns PNG file path
Configuration
Add to agent config for auto-convert:
{ "skills": { "md-to-image": { "enabled": true, "autoConvert": ["telegram", "whatsapp"], "scale": 2, "theme": "calm" } } }
Requirements
- Node.js 16+
- npm
- Puppeteer-core (auto-installed)
- ~100MB disk space for Chromium
Location
Converter script:
~/.openclaw/workspace/md-to-image/md-to-image.js