Skip to content

Slides: add read-slide, update-notes, and replace-slide commands #1

@chrismdp

Description

@chrismdp

Problem

When editing existing Google Slides presentations (e.g. regenerating individual slides after content changes), the current workflow requires:

  1. list-slides to get IDs — but IDs tell you nothing about content
  2. Export entire deck as PDF to visually identify which slide is which
  3. delete-slide + add-slide --before to replace a single slide
  4. Export again to verify

This is error-prone. Without being able to read individual slide content, it's easy to delete the wrong slide (e.g. deleting Exploration Mode when you meant to delete a duplicate What Is Claude Code).

Proposed Commands

gog slides read-slide <presentationId> <slideId>

Show slide content: speaker notes text, any text elements on the slide, and image references. Even just the speaker notes would be hugely helpful for identifying slides without exporting.

gog slides update-notes <presentationId> <slideId> --notes-file <path>

Update speaker notes on an existing slide without deleting/re-adding. Currently the only way to update notes is delete + re-add with the same image, which risks position errors.

gog slides replace-slide <presentationId> <slideId> <image> [--notes-file]

Atomic replace: swap the image (and optionally notes) on an existing slide in-place. This would be much safer than the current delete + add-before dance, which can go wrong if you pick the wrong anchor ID.

Context

These came up during a real editing session where 6 slides needed updating in an existing 39-slide deck. The delete/add-before workflow worked but caused two bugs:

  • Deleted wrong slide because IDs are opaque
  • Created a duplicate because I couldn't verify content before editing

The --before anchor approach also requires careful reverse-order processing when replacing multiple slides, since deletions shift subsequent positions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions