Claude-skill-registry google-slides-tables

Create proper tables in Google Slides presentations using the Slides API. Use when building tabular data, metrics, comparisons, or any slide that needs rows and columns.

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/google-slides-tables" ~/.claude/skills/majiayu000-claude-skill-registry-google-slides-tables && rm -rf "$T"
manifest: skills/data/google-slides-tables/SKILL.md
source content

Google Slides Tables Skill

Create proper tables in Google Slides presentations using the Slides API.

When to Use

Use this skill when:

  • Creating tabular data in Google Slides presentations
  • Displaying user metrics, costs, or statistics
  • Building comparison tables or data grids
  • Any time you need formatted rows and columns

Key Principle: Use Real Tables, Not Text

WRONG: Creating "tables" with text characters like dashes and pipes:

USER     COST    STATUS
─────────────────────────
tom      $100    Active
dan      $50     Active

This renders as bullet points and looks terrible in Google Slides!

CORRECT: Use the

ai_first_slides_create_table
MCP tool to create actual Google Slides table objects.

Available Tool

ai_first_slides_create_table

Creates a native Google Slides table with proper formatting.

Parameters:

  • slideId
    (required): The slide object ID where the table will be placed
  • data
    (required): 2D array of strings - rows of cells
  • presentationUrl
    (optional): Presentation URL or ID
  • headerRow
    (optional, default: true): Style first row as header (bold, colored)
  • position
    (optional):
    {x: number, y: number}
    in points
  • size
    (optional):
    {width: number, height: number}
    in points

Example:

{
  "slideId": "SLIDES_API12345_0",
  "presentationUrl": "19f8Px6u-gf7DXnI1k8xhnm9lAYAqCNKvcfvoX5Dbrtk",
  "data": [
    ["User", "Cursor $", "API Tokens", "Lines", "Status"],
    ["tom", "$1,283", "44M", "7,438", "🟢 Power"],
    ["daniel", "-", "-", "10,755", "🟢 Power"],
    ["yuval", "$184", "-", "425", "🟡 Regular"],
    ["assaf", "$164", "0.8M", "-", "🟡 Regular"]
  ],
  "headerRow": true
}

Workflow: Adding Tables to Presentations

Step 1: Get the Presentation Structure

ai_first_slides_get_presentation
  presentationUrl: "YOUR_PRESENTATION_ID"

This returns all slides with their IDs.

Step 2: Choose Target Slide

Either:

  • Use an existing slide's ID
  • Create a new blank slide with
    ai_first_slides_duplicate_template

Step 3: Create the Table

ai_first_slides_create_table
  slideId: "SLIDES_API12345_0"
  presentationUrl: "YOUR_PRESENTATION_ID"
  data: [["Header1", "Header2"], ["Val1", "Val2"]]
  headerRow: true

Step 4: Verify (Optional)

Use the browser MCP to take a screenshot and verify the table looks correct.

Table Formatting

Header Row (Default: enabled)

  • Bold text
  • Blue background (#336699)
  • White text color

Data Rows

  • Normal weight
  • Default background
  • Auto-sized cells

Positioning

Default position is

{x: 50, y: 120}
(in points from top-left). Adjust if you have a title at the top of the slide.

Sizing

Default width is 620pt (fits most slides). Height auto-calculates based on number of rows (30pt per row).

Best Practices

  1. Keep tables concise - Max 10-12 rows per slide for readability
  2. Use clear headers - First row should describe each column
  3. Align data types - Numbers right-aligned, text left-aligned (default)
  4. Split large tables - Create multiple slides for many rows
  5. Add a title - Use a text box or slide title above the table

Common Data Patterns

User Metrics Table

[
  ["User", "Cost", "Tokens", "Status"],
  ["user1@example.com", "$100", "10M", "Active"],
  ["user2@example.com", "$50", "5M", "Exploring"]
]

Model Usage Table

[
  ["Model", "Cost", "Requests", "% of Total"],
  ["claude-4.5-opus", "$1,465", "8,910", "76.5%"],
  ["gpt-5.2", "$157", "1,594", "8.2%"]
]

Status Summary Table

[
  ["Status", "Count", "Percentage"],
  ["🟢 Power User", "6", "21%"],
  ["🟡 Regular", "5", "17%"],
  ["🟠 Exploring", "10", "34%"],
  ["⚪ Not Started", "8", "28%"]
]

Troubleshooting

"Table looks cramped"

  • Increase
    size.height
    in the options
  • Reduce number of rows per table

"Table overlaps title"

  • Increase
    position.y
    to move table down

"Columns too narrow"

  • Increase
    size.width
  • Reduce number of columns
  • Shorten cell text

"Can't find slide ID"

  • Run
    ai_first_slides_get_presentation
    first
  • Slide IDs look like
    SLIDES_API12345_0
    or
    g3b635182008_0_0