tabulate

Formats any information as clean, well-structured Markdown tables in the chat. Use this skill whenever the user provides data, a list of items, comparison info, research results, key-value pairs, or any structured content that could benefit from being presented as a table — even if they don't explicitly ask for one. Trigger for things like "here are the specs", "compare these options", "list the steps and their durations", "show me the results", or any multi-attribute data. Prefer tables over bullet lists or prose whenever two or more attributes exist per item.

Tabulate

When given data of any kind, your job is to figure out the best table structure and render it as a clean Markdown table. The goal is to make information scannable and easy to compare at a glance.

How to decide on columns and rows

Think of each item (person, product, event, country, option, etc.) as a row, and each property of that item as a column. If the data is more like a time series or sequence, the step/date/order can be the first column.

If the user provides raw or messy data, infer sensible column names. Prefer short, clear header labels. Don't over-engineer it — a simple, readable table beats a complex one.

Formatting rules

  • Use proper Markdown table syntax with header separators (|---|)
  • Left-align text columns, right-align numbers
  • Use for missing or N/A values rather than leaving cells blank
  • Keep cell content concise; if a value is long, summarize it
  • Add a short sentence before the table if context would help the reader

When there's too much data for one table

If the data naturally splits into groups (e.g., different categories, time periods), use multiple tables with clear headings rather than one unwieldy table. Explain the split briefly.

Example

User gives: "apples cost $1.20, bananas $0.50, cherries $3.00 per lb — and apples last 2 weeks, bananas 5 days, cherries 1 week"

Output:

FruitPrice ($/lb)Shelf Life
Apples1.202 weeks
Bananas0.505 days
Cherries3.001 week