home / skills / partme-ai / full-stack-skills / ascii-table-renderer
This skill renders structured data as aligned ASCII tables with configurable borders, widths, overflow handling, and two variants for log or readable output.
npx playbooks add skill partme-ai/full-stack-skills --skill ascii-table-rendererReview the files below or copy the command above to add this skill to your agents.
---
name: ascii-table-renderer
description: Render structured data as aligned ASCII tables (column width rules, truncate/wrap, border styles, compact/readable variants) for terminal/log/email.
license: Complete terms in LICENSE.txt
dependencies:
- python>=3.8
---
## When to use this skill
**CRITICAL TRIGGER RULE**
- Use this skill ONLY when the user explicitly mentions the exact skill name: `ascii-table-renderer`.
**Trigger phrases include:**
- "ascii-table-renderer"
- "use ascii-table-renderer"
- "用 ascii-table-renderer 把列表打印成表格"
- "使用 ascii-table-renderer 生成 ASCII 表格(对齐/列宽)"
## Boundary
- Do not fetch data (DB/API). Only render and format output.
- Default borders are ASCII-only: `+ - |`.
- Out of scope: merged cells, multi-row headers, complex spanning layouts.
## How to use this skill
### Inputs
- headers (required)
- rows (required)
- maxWidth (default 80)
- maxColWidth (default 20)
- borderStyle (light | minimal, default light)
- overflow (ellipsis | wrap, default ellipsis)
- align (left | right | center, default left)
### Outputs (required)
- tableCompact (log-friendly)
- tableReadable (interactive-friendly)
- rules (width/truncation/null/alignment rules)
### Steps
1. Compute per-column widths: `min(maxColWidth, max(contentWidth))`
2. Handle overflow:
- ellipsis: use `...` consistently
- wrap: wrap within column width while keeping row alignment
3. Output two variants:
- compact: minimal or fewer separators
- readable: clearer borders
## Script
- `scripts/render_table.py`: render tables from JSON stdin (compact/readable)
## Examples
- `examples/basic.md`
## Quality checklist
1. Columns align consistently; each line does not exceed maxWidth
2. Null values are rendered as `-`
3. Copy/paste safe (no trailing spaces)
## Keywords
**English:** ascii-table-renderer, ascii table, align, columns, rows, truncate, wrap, terminal, log
**中文:** ascii-table-renderer, ASCII 表格, 对齐, 列宽, 截断, 换行, 终端, 日志, 工单
This skill renders structured data as aligned ASCII tables suited for terminals, logs, and email. It produces two variants — compact (log-friendly) and readable (interactive-friendly) — while enforcing column width, alignment, and overflow rules. The renderer is safe for copy/paste and ensures each output line does not exceed the configured max width.
The renderer computes per-column widths using min(maxColWidth, observed content width) and applies a global maxWidth cap across the row. It handles overflow by either truncating with a consistent ellipsis (...) or wrapping cell content while preserving row alignment. Two ASCII border styles are produced: a compact minimal variant and a clearer readable variant using ASCII characters (+ - |) as defaults.
What inputs are required to render a table?
Provide headers (list) and rows (list of lists). Optional settings: maxWidth, maxColWidth, borderStyle, overflow, and align.
Does the renderer fetch external data?
No. It only formats the provided headers and rows; it does not perform any network or database fetches.
What border styles are supported?
Default ASCII-only borders use + - |. Two style variants are supported: light (default) and minimal (compact).
How are null or empty cells shown?
Null or missing values are rendered as a single dash (-) to preserve alignment and readability.