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.mdsource 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-aligned (default)left
: Center-alignedcenter
: Right-alignedright
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
: Table formatting examples (see Supporting Files section)examples.md