| name | format-table |
| description | Formats markdown tables with fixed-width columns for consistent alignment. Use when creating tables, reformatting existing tables, or ensuring table readability. Triggers on terms like "format table", "align table", "fix table", "table columns". |
Markdown Table Formatting Skill
This skill formats markdown tables with fixed-width columns for consistent alignment and readability.
Table Format Rules
Column Width Calculation
- Find the maximum content width in each column (including header)
- Add padding (minimum 1 space on each side)
- Apply consistent width to all cells in that column
Alignment
- Left-aligned (default):
| content | with space padding on right
- Right-aligned:
:--- becomes ---: in separator
- Center-aligned:
:---: in separator
Separator Row
The separator row uses dashes matching the column width:
- Left-aligned:
|----------|
- Right-aligned:
|---------:|
- Center-aligned:
|:--------:|
Example Transformation
Before (inconsistent widths)
| Option | Description | Example |
|--------|-------------|---------|
| `--use-context` | Enable contextual intelligence | `--use-context` |
| `--batch-size N` | Set batch size for large ranges | `--batch-size 3` |
| `--auto-apply` | Apply without confirmation | `--auto-apply` |
After (fixed-width columns)
| Option | Description | Example |
|------------------|---------------------------------|------------------|
| `--use-context` | Enable contextual intelligence | `--use-context` |
| `--batch-size N` | Set batch size for large ranges | `--batch-size 3` |
| `--auto-apply` | Apply without confirmation | `--auto-apply` |
Formatting Algorithm
For each column:
1. width = max(len(cell) for cell in column)
2. width = max(width, 3) # Minimum 3 chars for separator
For each row:
1. For each cell:
- Pad content to column width
- Add single space before and after content
2. Join cells with '|' delimiter
3. Add '|' at start and end
Special Cases
Code in Cells
Preserve backticks when calculating width:
`--flag` counts as 8 characters (including backticks)
Empty Cells
Empty cells get full padding:
| Column A | Column B |
|----------|----------|
| value | |
Multi-word Headers
Headers determine minimum column width:
| Long Header Name | Short |
|------------------|-------|
| value | x |
Instructions
When formatting tables:
- Read the table - Identify all rows and columns
- Calculate widths - Find max content width per column
- Format header - Apply consistent width with padding
- Format separator - Match column widths with dashes
- Format data rows - Apply same widths to all cells
- Preserve alignment - Keep
: markers for right/center alignment
Quick Reference
| Element | Format |
|---|
| Cell padding | Single space each side |
| Min width | 3 characters (for ---) |
| Separator | Dashes matching column width |
| Pipe spacing | No space adjacent to pipes |
| Line ending | No trailing whitespace |