Claude-skill-registry format-markdown-table

Generate well-formatted markdown tables from data with proper alignment and spacing. Use for report statistics, comparison tables, or summary data presentation.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/format-markdown-table" ~/.claude/skills/majiayu000-claude-skill-registry-format-markdown-table-61c1e1 && rm -rf "$T"
manifest: skills/data/format-markdown-table/SKILL.md
source content

Format Markdown Table

Create properly formatted markdown tables with alignment and consistent spacing.

When to Use

  • Report statistics tables
  • Comparison tables
  • Summary data presentation
  • Metric dashboards in reports

Instructions

Step 1: Receive Table Data

Accept headers and rows as input.

Expected Input:

{
  "headers": ["Column 1", "Column 2", "Column 3"],
  "rows": [
    ["Value 1", "Value 2", "Value 3"],
    ["Value 4", "Value 5", "Value 6"]
  ],
  "alignment": ["left", "center", "right"]
}

Alignment (optional):

  • left
    : Left-aligned (default)
  • center
    : Center-aligned
  • right
    : Right-aligned

Step 2: Calculate Column Widths

Determine maximum width for each column.

Width Calculation:

  • Include header width
  • Include all row values
  • Add padding (1 space on each side)
  • Minimum width: 3 characters

Step 3: Format Header Row

Create header row with proper spacing.

Format:

| Header 1 | Header 2 | Header 3 |

Step 4: Format Separator Row

Create separator with alignment indicators.

Alignment Indicators:

  • Left:
    :---
    or
    ---
  • Center:
    :---:
  • Right:
    ---:

Format:

|----------|:--------:|---------:|

Step 5: Format Data Rows

Create data rows with consistent spacing.

Format:

| Value 1  | Value 2  | Value 3  |
| Value 4  | Value 5  | Value 6  |

Step 6: Return Complete Table

Return formatted markdown table.

Expected Output:

| Column 1 | Column 2 | Column 3 |
|----------|:--------:|---------:|
| Value 1  | Value 2  | Value 3  |
| Value 4  | Value 5  | Value 6  |

Error Handling

  • Empty Headers: Return error requesting headers
  • Empty Rows: Return warning, create table with headers only
  • Mismatched Columns: Pad short rows with empty cells
  • Invalid Alignment: Use 'left' as default, warn

Examples

Example 1: Simple Statistics Table

Input:

{
  "headers": ["Metric", "Count", "Percentage"],
  "rows": [
    ["Critical Bugs", "3", "13%"],
    ["High Bugs", "8", "35%"],
    ["Medium Bugs", "12", "52%"]
  ],
  "alignment": ["left", "right", "right"]
}

Output:

| Metric        | Count | Percentage |
|---------------|------:|-----------:|
| Critical Bugs |     3 |        13% |
| High Bugs     |     8 |        35% |
| Medium Bugs   |    12 |        52% |

Example 2: Comparison Table

Input:

{
  "headers": ["Feature", "Before", "After"],
  "rows": [
    ["Build Time", "45s", "12s"],
    ["Test Time", "2m 30s", "1m 15s"],
    ["Bundle Size", "2.3 MB", "1.8 MB"]
  ],
  "alignment": ["left", "center", "center"]
}

Output:

| Feature     | Before  |  After  |
|-------------|:-------:|:-------:|
| Build Time  |   45s   |   12s   |
| Test Time   | 2m 30s  | 1m 15s  |
| Bundle Size | 2.3 MB  | 1.8 MB  |

Example 3: Priority Distribution

Input:

{
  "headers": ["Priority", "Open", "Fixed", "Total"],
  "rows": [
    ["P0", "2", "5", "7"],
    ["P1", "5", "3", "8"],
    ["P2", "12", "8", "20"]
  ]
}

Output:

| Priority | Open | Fixed | Total |
|----------|------|-------|-------|
| P0       | 2    | 5     | 7     |
| P1       | 5    | 3     | 8     |
| P2       | 12   | 8     | 20    |

Example 4: Empty Rows (Header Only)

Input:

{
  "headers": ["Name", "Value", "Status"],
  "rows": []
}

Output:

| Name | Value | Status |
|------|-------|--------|

Validation

  • Formats headers correctly
  • Creates proper separators
  • Aligns columns as specified
  • Handles various data types (numbers, text)
  • Pads columns for consistent width
  • Handles empty rows gracefully

Supporting Files

  • examples.md
    : Table formatting examples (see Supporting Files section)