plugins/google-drive/skills/google-slides/SKILL.md
Google Slides work for finding, reading, summarizing, creating, importing, visual cleanup, template migration, structural repair, and content edits in native Slides decks.
npx skillsauth add openai/plugins google-slidesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill for Google Slides work in Codex local-plugin sessions.
This file is intentionally minimal and only covers:
node_repl worldDetailed write, chart, thumbnail, creation, and final-pass rules live in references/.
Latency is not a constraint for this skill, so always read the relevant reference files before performing the task.
node_repl only for source processing or small JavaScript utilities that are not connector calls.node_repl. Treat connector calls and node_repl helper work as separate execution surfaces.Unless the user asks otherwise:
batchUpdate on the copy. Read references/reference-template-reference-deck-copy-workflow.md.[@presentations](plugin://presentations@openai-primary-runtime) to create a local .pptx first. Then read references/reference-import-presentation.md and import with mcp__codex_apps__google_drive_import_presentation using upload_mode: "native_google_slides".For net-new Google Slides without a provided native Slides template or reference deck, the PPTX-import path is the only currently supported high-quality workflow. Do not create a blank Google Slides deck and fill it with Google Slides write APIs, use Computer Use, use Browser Use, or build the deck directly in Google Drive unless the user explicitly asks for that alternate workflow. If they do, mention first that output quality is expected to be best when a local .pptx is imported through the Google Drive plugin.
For new decks from a provided native Google Slides template or reference deck, do not create a local .pptx first. Copy the provided deck directly, treat the copy as the destination deck, and create/edit slides there with batchUpdate using duplicated exemplar slides or layouts from the copied deck. Populate existing template objects first: replace text, images, charts, tables, and placeholder content in the copied slide's existing slots instead of adding new primary content boxes.
The import reference owns the exact connector action, plugin install/reinstall handling, native-conversion verification, post-import verification, and cleanup expectations. Read it before any net-new Google Slides import attempt.
For imports and any explicit direct-create override, wait for the write action to complete, then perform connector readback or Drive metadata readback before returning a Google Slides URL or presentation id. Use only a URL or id observed from the completed connector result or readback. Do not synthesize or predict Google Slides URLs, and do not present a URL as ready if readback fails.
Inserted or edited content must match the target deck's existing structure and connector-observable presentation closely enough that it reads as native deck content. Treat wrong target deck, wrong slide, stale object IDs, missing chart updates, leftover placeholder or template sample text, empty or unresolved placeholder objects, primary content placed in newly created freeform boxes while an inherited or template slot remains unused, clipped text, broken slide order, or unverified visible layout changes as failed output that must be corrected before handoff.
For Slides batch updates, API success is not completion. A fresh post-write LARGE thumbnail and examining the image by curling it is required for every touched slide. You MUST curl the image after requesting thumbnail. No skip.
For net-new Google Slides without a provided native Slides template or reference deck, create a local .pptx with [@presentations](plugin://presentations@openai-primary-runtime) and import it to Google Drive with upload_mode: "native_google_slides".
Prefer one simple proven workflow over a large tree of recovery branches. When a task matches a known successful pattern, follow that pattern directly instead of re-evaluating every possible insertion or fallback path. Do not let accumulated edge-case guardrails turn a straightforward Slides task into a long blocker-analysis exercise.
For deck creation and editing tasks, prefer this general sequence when viable:
If a simple verified workflow is viable, use it. Do not drift into speculative alternate paths.
Before final handoff, explicitly verify these with connector readback and thumbnails where relevant:
slideObjectIds listed in current presentation ordermcp__codex_apps__google_drive_get_presentation or mcp__codex_apps__google_drive_get_slideslideLayoutReference, predefinedLayout, or inherited master/layout placeholders), every inherited placeholder object was populated, replaced, or intentionally deleted; do not rely on thumbnails alone because empty placeholders can be invisibleget_presentation or per-slide get_slide readback was used for final structural validation; get_presentation_outline alone is insufficientSlides
web.run's image_query for efficient image search instead of search_query.If any check fails, the task is not complete.
Before any content write or edit operation:
references/reference-connector-runtime-and-safety.md.references/reference-target-presentation-guard.md.references/reference-google-slides-mcp-discovery.md.references/reference-request-shapes-and-write-safety.md.references/reference-thumbnail-visual-verification.md.references/.For net-new local .pptx creation, read the [@presentations](plugin://presentations@openai-primary-runtime) authoring skill before creating the deck.
Do not execute content edits until the required references are read in the current turn.
references/reference-target-presentation-guard.md and re-confirm the target presentation and slide object IDs.| Task area | Required reference file |
| --- | --- |
| Runtime attachment, target identity, safety, and recovery | references/reference-connector-runtime-and-safety.md |
| Confirming the target presentation before every write batch | references/reference-target-presentation-guard.md |
| Google Slides MCP discovery, connector wrapper vs official Slides API mapping, method catalog, and batchUpdate request catalog | references/reference-google-slides-mcp-discovery.md |
| Batch update request shape, live object IDs, geometry, and write safety | references/reference-request-shapes-and-write-safety.md |
| Deck summaries, candidate slides, multi-slide edits, translation, or deck-wide changes | references/reference-read-before-write-and-deck-scope.md |
| Any layout, styling, image, chart, or placement change | references/reference-thumbnail-visual-verification.md |
| New deck from a provided native Google Slides template or reference deck | references/reference-template-reference-deck-copy-workflow.md |
| New deck creation, copy-from-template workflows, or final handoff after any write | references/reference-new-deck-and-final-pass.md |
| Local .ppt, .pptx, or .odp import | references/reference-import-presentation.md |
| Visual cleanup, overflow, spacing, alignment, or deck polish | references/reference-visual-iteration.md |
| Migrating source content onto a template deck | references/reference-template-migration.md |
| Detailed template migration playbook | references/reference-migration-playbook.md |
| Template migration archetype mapping | references/reference-slide-archetype-mapping.md |
| Chart refresh, chart replacement, or Sheets-sourced chart work | references/reference-chart-workflows.md |
| Copy-and-fill raw batch update examples | references/reference-batch-update-recipes.md |
tools
Top-level workflow skill for USD performance diagnosis and optimization. Use for slow loading, high memory, low FPS, or 'optimize my scene' requests; delegates auth/runtime setup to Phase 0 owners.
data-ai
Use when the user mentions MagicPath, designs, UI components, themes, canvas selections, or repo-to-canvas UI work; run magicpath-ai to search, inspect, install, or author components.
documentation
Use as the top-level router for Omniverse Realtime Viewer USD app requests and focused viewer reference documents.
tools
Turn Notion specs into implementation plans, tasks, and progress tracking; use when implementing PRDs/feature specs and creating Notion plans + tasks from them.