Search

PythonReactSEOPDF
OpenClaw

table-image-generator

Generate clean table images from data. Perfect for Discord/Telegram where ASCII tables look broken. Supports dark/light mode, custom styling, and auto-sizing. No Puppeteer required. Companion to chart-image skill.

dannyshmueli0 source installs☆ 0 Repository starsv1.3.1

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install dannyshmueli/table-image-generator

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

Table Image Generator

⚠️ USE THIS INSTEAD OF ASCII TABLES — ALWAYS!

Generate PNG table images from JSON data. ASCII tables look broken on Discord, Telegram, WhatsApp, and most messaging platforms. This skill renders clean images that work everywhere.

Why This Skill?

  • ✅ REPLACES ASCII TABLES - Never use | col | col | formatting on messaging platforms
  • ✅ No ASCII hell - Clean images that render consistently everywhere
  • ✅ No Puppeteer - Pure Node.js with Sharp, lightweight
  • ✅ Dark mode - Matches Discord dark theme
  • ✅ Auto-sizing - Columns adjust to content
  • ✅ Fast - Generates in <100ms

Setup (one-time)

cd /data/clawd/skills/table-image/scripts && npm install

Quick Usage

⚠️ BEST PRACTICE: Use heredoc or --data-file to avoid shell quoting errors!

# RECOMMENDED: Write JSON to temp file first (avoids shell quoting issues)
cat > /tmp/data.json << 'JSONEOF'
[{"Name":"Alice","Score":95},{"Name":"Bob","Score":87}]
JSONEOF
node /data/clawd/skills/table-image/scripts/table.mjs \
  --data-file /tmp/data.json --dark --output table.png

# ALSO GOOD: Pipe via stdin
echo '[{"Name":"Alice","Score":95}]' | node /data/clawd/skills/table-image/scripts/table.mjs \
  --dark --output table.png

# SIMPLE (but breaks if data has quotes/special chars):
node /data/clawd/skills/table-image/scripts/table.mjs \
  --data '[{"Name":"Alice","Score":95}]' --output table.png

Options

Option Description Default
--data JSON array of row objects required
--output Output file path table.png
--title Table title none
--dark Dark mode (Discord-friendly) false
--columns Column order/subset (comma-separated) all keys
--headers Custom header names (comma-separated) field names
--max-width Maximum table width 800
--font-size Font size in pixels 14
--header-color Header background color #e6394...

Source information

Source
github
Repository
openclaw/skills
Path
skills/dannyshmueli/table-image-generator
Version
1.3.1
Commit
2a57d248b682a528f055bb443451aad3eb23e650
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

README

Table Image Generator 📋

Tests Tests Coverage Node ClawHub License: MIT

Generate clean PNG table images from JSON data. Stop using ASCII tables — they look broken on Discord, Telegram, WhatsApp, and every messaging platform. This renders pixel-perfect images instead.

Features

  • 🎨 Color Emoji — Full Twemoji rendering (✅🔥🏆 etc.)
  • 🌙 Dark Mode — Discord-style dark theme
  • 🔄 RTL Support — Auto-detects Hebrew/Arabic, reverses columns
  • 📝 Word Wrapping — Long text wraps (max 3 lines, configurable)
  • 📐 Smart Column Widths — Headers always visible, proportional distribution
  • ⚡ Fast — Generates in <100ms, no Puppeteer needed
  • 📁 Shell-Safe Input — --data-file avoids quoting issues

Installation

cd scripts && npm install

Usage

# Recommended: use --data-file to avoid shell quoting issues
cat > /tmp/data.json << 'EOF'
[{"Name":"Alice","Score":95},{"Name":"Bob","Score":87}]
EOF
node scripts/table.mjs --data-file /tmp/data.json --dark --output table.png

# Or pipe via stdin
echo '[{"Name":"Alice","Score":95}]' | node scripts/table.mjs --dark --output table.png

# Simple inline (works for basic data)
node scripts/table.mjs --data '[{"A":"1","B":"2"}]' --output...

Extracted content

SKILL.md
# Table Image Generator

**⚠️ USE THIS INSTEAD OF ASCII TABLES — ALWAYS!**

Generate PNG table images from JSON data. ASCII tables look broken on Discord, Telegram, WhatsApp, and most messaging platforms. This skill renders clean images that work everywhere.

## Why This Skill?

- ✅ **REPLACES ASCII TABLES** - Never use `| col | col |` formatting on messaging platforms
- ✅ **No ASCII hell** - Clean images that render consistently everywhere
- ✅ **No Puppeteer** - Pure Node.js with Sharp, lightweight
- ✅ **Dark mode** - Matches Discord dark theme
- ✅ **Auto-sizing** - Columns adjust to content
- ✅ **Fast** - Generates in <100ms

## Setup (one-time)

```bash
cd /data/clawd/skills/table-image/scripts && npm install
```

## Quick Usage

**⚠️ BEST PRACTICE: Use heredoc or --data-file to avoid shell quoting errors!**

```bash
# RECOMMENDED: Write JSON to temp file first (avoids shell quoting issues)
cat > /tmp/data.json << 'JSONEOF'
[{"Name":"Alice","Score":95},{"Name":"Bob","Score":87}]
JSONEOF
node /data/clawd/skills/table-image/scripts/table.mjs \
  --data-file /tmp/data.json --dark --output table.png

# ALSO GOOD: Pipe via stdin
echo '[{"Name":"Alice","Score":95}]' | node /data/clawd/skills/table-image/scripts/table.mjs \
  --dark --output table.png

# SIMPLE (but breaks if data has quotes/special chars):
node /data/clawd/skills/table-image/scripts/table.mjs \
  --data '[{"Name":"Alice","Score":95}]' --output table.png
```

## Options

| Option | Description | Default |
|--------|-------------|---------|
| `--data` | JSON array of row objects | required |
| `--output` | Output file path | table.png |
| `--title` | Table title | none |
| `--dark` | Dark mode (Discord-friendly) | false |
| `--columns` | Column order/subset (comma-separated) | all keys |
| `--headers` | Custom header names (comma-separated) | field names |
| `--max-width` | Maximum table width | 800 |
| `--font-size` | Font size in pixels | 14 |
| `--header-color` | Header background color | #e6394...
README
# Table Image Generator 📋

[![Tests](https://github.com/Cluka-399/table-image/actions/workflows/test.yml/badge.svg)](https://github.com/Cluka-399/table-image/actions/workflows/test.yml)
[![Tests](https://img.shields.io/badge/tests-37_passed-brightgreen)](https://github.com/Cluka-399/table-image/actions)
[![Coverage](https://img.shields.io/badge/coverage-100%25_features-brightgreen)](https://github.com/Cluka-399/table-image/blob/main/scripts/table.test.mjs)
[![Node](https://img.shields.io/badge/node-18%20|%2020%20|%2022-blue)](https://github.com/Cluka-399/table-image/actions)
[![ClawHub](https://img.shields.io/badge/ClawHub-v1.3.0-orange)](https://clawhub.ai/skills/table-image-generator)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/Cluka-399/table-image/blob/main/LICENSE)

Generate clean PNG table images from JSON data. **Stop using ASCII tables** — they look broken on Discord, Telegram, WhatsApp, and every messaging platform. This renders pixel-perfect images instead.

## Features

- 🎨 **Color Emoji** — Full Twemoji rendering (✅🔥🏆 etc.)
- 🌙 **Dark Mode** — Discord-style dark theme
- 🔄 **RTL Support** — Auto-detects Hebrew/Arabic, reverses columns
- 📝 **Word Wrapping** — Long text wraps (max 3 lines, configurable)
- 📐 **Smart Column Widths** — Headers always visible, proportional distribution
- ⚡ **Fast** — Generates in <100ms, no Puppeteer needed
- 📁 **Shell-Safe Input** — `--data-file` avoids quoting issues

## Installation

```bash
cd scripts && npm install
```

## Usage

```bash
# Recommended: use --data-file to avoid shell quoting issues
cat > /tmp/data.json << 'EOF'
[{"Name":"Alice","Score":95},{"Name":"Bob","Score":87}]
EOF
node scripts/table.mjs --data-file /tmp/data.json --dark --output table.png

# Or pipe via stdin
echo '[{"Name":"Alice","Score":95}]' | node scripts/table.mjs --dark --output table.png

# Simple inline (works for basic data)
node scripts/table.mjs --data '[{"A":"1","B":"2"}]' --output...

Related skills

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

0protocol

0isone

Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.

OpenClaw

0x0-messenger

eijiac24

Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.