Use when creating or formatting tables in markdown. Covers table syntax, alignment, escaping, and best practices.
Limited to specific tools
Additional assets for this skill
This skill is limited to using the following tools:
name: markdown-tables description: Use when creating or formatting tables in markdown. Covers table syntax, alignment, escaping, and best practices. allowed-tools:
Comprehensive guide to creating and formatting tables in markdown.
| Header 1 | Header 2 | Header 3 |
|----------|----------|----------|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
Renders as:
| Header 1 | Header 2 | Header 3 |
|---|---|---|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
| Left | Center | Right |
|:---------|:--------:|---------:|
| Left | Center | Right |
| aligned | aligned | aligned |
Renders as:
| Left | Center | Right |
|---|---|---|
| Left | Center | aligned |
| text | text | text |
:--- Left align (default):--: Center align---: Right alignThe pipes and dashes don't need to align:
|Header|Header|
|-|-|
|Cell|Cell|
However, aligned tables are more readable in source.
Use \| to include a literal pipe in a cell:
| Command | Description |
|---------|-------------|
| `a \| b` | Pipe operator |
| `cmd \|\| exit` | Or operator |
Tables support inline markdown:
| Feature | Syntax |
|---------|--------|
| **Bold** | `**text**` |
| *Italic* | `*text*` |
| `Code` | `` `code` `` |
| [Link](url) | `[text](url)` |
Standard markdown tables don't support multi-line cells. Workarounds:
<br> Tags| Step | Description |
|------|-------------|
| 1 | First line<br>Second line |
| 2 | Another step |
For complex layouts, use HTML:
<table>
<tr>
<th>Header</th>
<th>Description</th>
</tr>
<tr>
<td>Item</td>
<td>
<ul>
<li>Point one</li>
<li>Point two</li>
</ul>
</td>
</tr>
</table>
Use a space or leave empty:
| A | B | C |
|---|---|---|
| 1 | | 3 |
| 4 | 5 | |
For tables with many columns, consider:
<div style="overflow-x: auto;">
| Col 1 | Col 2 | Col 3 | Col 4 | Col 5 | Col 6 |
|-------|-------|-------|-------|-------|-------|
| Data | Data | Data | Data | Data | Data |
</div>
Transform wide tables into key-value pairs:
### Item 1
| Property | Value |
|----------|-------|
| Name | Foo |
| Type | Bar |
| Status | Active |
| Feature | Free | Pro | Enterprise |
|---------|:----:|:---:|:----------:|
| Users | 5 | 50 | Unlimited |
| Storage | 1GB | 10GB| 100GB |
| Support | ❌ | ✅ | ✅ |
| Parameter | Type | Required | Description |
|-----------|------|:--------:|-------------|
| `id` | string | ✅ | Unique identifier |
| `name` | string | ✅ | Display name |
| `limit` | number | ❌ | Max results (default: 10) |
| Action | Windows/Linux | macOS |
|--------|---------------|-------|
| Copy | `Ctrl+C` | `⌘+C` |
| Paste | `Ctrl+V` | `⌘+V` |
| Undo | `Ctrl+Z` | `⌘+Z` |
| Version | Date | Changes |
|---------|------|---------|
| 2.0.0 | 2024-01-15 | Breaking: New API |
| 1.2.0 | 2024-01-01 | Added feature X |
| 1.1.0 | 2023-12-15 | Bug fixes |
\| for literal pipes| Rule | Description |
|---|---|
| MD055 | Table pipe style should be consistent |
| MD056 | Table column count should match header |
| MD058 | Tables should be surrounded by blank lines |
Term 1
: Definition 1
Term 2
: Definition 2
- **Name**: John Doe
- **Email**: john@example.com
- **Role**: Developer
- Item 1
- Property A: Value
- Property B: Value
- Item 2
- Property A: Value
- Property B: Value