skills/ascii-tables/SKILL.md
Markdown table generation with pixel-perfect alignment via mandatory post-processing
npx skillsauth add adilkalam/orca tableInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
LLMs cannot align markdown tables correctly because:
No amount of prompt engineering fixes this. The problem is fundamental to how LLMs generate text.
Two-phase approach:
When generating markdown tables, you MUST follow this protocol:
Focus on correctness and completeness. Do NOT waste effort on manual alignment.
| Column A | Column B | Column C |
|---|---|---|
| Short | Much longer content here | X |
| Another row | Data | More data |
After generating any markdown table, you MUST run:
python3 ~/.claude/scripts/md-table-formatter.py /path/to/file.md
Or for stdin/stdout:
echo "table content" | python3 ~/.claude/scripts/md-table-formatter.py
Check stderr for verification report:
TABLE_FORMAT_CHECK:
- Tables processed: N
- Column widths: [W1, W2, W3, ...]
- Status: ALIGNED
</CRITICAL-PROTOCOL>
When creating table content:
|---|---|---| not |:---:|:---:|:---:|| Name | Description | Price |
|---|---|---|
| Widget | A small widget | $10.00 |
| Super Mega Deluxe Widget Pro | The ultimate widget | $99.99 |
| X | Minimal | $1 |
| Name | Description | Price |
|------------------------------|----------------------|--------|
| Widget | A small widget | $10.00 |
| Super Mega Deluxe Widget Pro | The ultimate widget | $99.99 |
| X | Minimal | $1 |
| Language | Greeting | Notes |
|---|---|---|
| English | Hello | Common |
| Japanese | こんにちは | Formal |
| Emoji | Hello! 👋 | Casual |
| Language | Greeting | Notes |
|----------|------------|--------|
| English | Hello | Common |
| Japanese | こんにちは | Formal |
| Emoji | Hello! 👋 | Casual |
Usage: md-table-formatter.py <file.md>
cat file.md | md-table-formatter.py
Tables with inconsistent column counts are skipped with a warning:
WARNING: Skipping malformed table at line 15 (inconsistent column count)
ALWAYS apply when:
DO NOT SKIP because:
| Name | Age |
|---|---|
| Alice | 30 |
| Bob | 25 | <-- Looks aligned in editor
| Charlie | 35 | <-- Breaks in different font
Tables from external sources have unpredictable spacing. Formatter normalizes them.
CJK characters are 2 cells wide. The formatter uses wcwidth if available, or a pure-Python fallback that handles common cases correctly.
| Phrase | Why Rejected | |--------|--------------| | "I'll align it manually" | Manual alignment always fails across fonts/viewers | | "Looks aligned to me" | Subjective; run formatter for verification | | "Too small to matter" | Consistency requires no exceptions | | "I forgot to run the formatter" | Protocol is MANDATORY, not optional |
After formatting, the script reports to stderr:
TABLE_FORMAT_CHECK:
- Tables processed: 2
- Table 1: 3 columns, widths [28, 22, 8]
- Table 2: 4 columns, widths [12, 15, 10, 8]
- Status: ALIGNED
This format follows the ALIGNMENT_CHECK pattern from alignment-verification skill.
Required:
Optional (for better CJK/emoji support):
pip3 install --user wcwidth (user install)pipx install wcwidth (via pipx)Script location:
~/.claude/scripts/md-table-formatter.pyLast Updated: 2026-02-04 Purpose: Eliminate markdown table misalignment through mandatory post-processing Success Metric: Zero misaligned tables in generated output
content-media
Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube. Also use when user wants to transcribe or get captions/subtitles from a YouTube video.
development
Web UI quality rules: interactions, forms, loading, animations, layout, content, performance, accessibility, design. Apply to all web UI work. Adapted from Vercel Design Guidelines.
testing
MANDATORY protocol enforcing knowledge check before EVERY response - prevents explaining systems without reading docs, claiming without verification, and ignoring auto-loaded context
testing
Typography hierarchy and spacing scale fallbacks. Yields to project design-dna when present.