Back to skills
extension
Category: Development & EngineeringNo API key required

format-table

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".

personAuthor: jakexiaohubgithub

Markdown Table Formatting Skill

This skill formats markdown tables with fixed-width columns for consistent alignment and readability.

Table Format Rules

Column Width Calculation

  1. Find the maximum content width in each column (including header)
  2. Add padding (minimum 1 space on each side)
  3. 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:

  1. Read the table - Identify all rows and columns
  2. Calculate widths - Find max content width per column
  3. Format header - Apply consistent width with padding
  4. Format separator - Match column widths with dashes
  5. Format data rows - Apply same widths to all cells
  6. 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 |