---
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)
### Inline Example
Input: `headers=["Name", "Role", "Status"]`, `rows=[["Alice", "Engineer", "Active"], ["Bob", "Designer", "Away"]]`
**tableCompact:**
```
Name Role Status
Alice Engineer Active
Bob Designer Away
```
**tableReadable:**
```
+-------+----------+--------+
| Name | Role | Status |
+-------+----------+--------+
| Alice | Engineer | Active |
| Bob | Designer | Away |
+-------+----------+--------+
```
## 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 表格, 对齐, 列宽, 截断, 换行, 终端, 日志, 工单