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-maslennikov-ig-buhbot" ~/.claude/skills/majiayu000-claude-skill-registry-format-markdown-table && rm -rf "$T"
manifest: skills/data/format-markdown-table-maslennikov-ig-buhbot/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)