Skip to content

Commit 9b80cb8

Browse files
committed
Add general Google Slides skills
1 parent 92554d2 commit 9b80cb8

5 files changed

Lines changed: 161 additions & 4 deletions

File tree

plugins/google-slides/.codex-plugin/plugin.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "google-slides",
33
"version": "0.1.0",
4-
"description": "Work with Google Slides using the configured Google Slides app connector.",
4+
"description": "Work with Google Slides decks and import presentation files using the configured Google Slides app connector.",
55
"author": {
66
"name": "OpenAI",
77
"email": "support@openai.com",
@@ -12,6 +12,8 @@
1212
"license": "MIT",
1313
"keywords": [
1414
"google-slides",
15+
"pptx",
16+
"presentation-import",
1517
"presentations",
1618
"template-migration",
1719
"visual-iteration",
@@ -21,8 +23,8 @@
2123
"apps": "./.app.json",
2224
"interface": {
2325
"displayName": "Google Slides",
24-
"shortDescription": "Edit Google Slides decks",
25-
"longDescription": "Use Google Slides to polish slide layouts, repair repeated template issues, and migrate deck content onto a company template through the connected Google Slides app.",
26+
"shortDescription": "Inspect and edit Google Slides decks",
27+
"longDescription": "Use Google Slides to import presentation files, inspect deck structure, polish slide layouts, repair repeated template issues, and migrate deck content onto a company template through the connected Google Slides app.",
2628
"developerName": "OpenAI",
2729
"category": "Productivity",
2830
"capabilities": [
@@ -32,7 +34,7 @@
3234
"websiteURL": "https://workspace.google.com/products/slides/",
3335
"privacyPolicyURL": "https://policies.google.com/privacy",
3436
"termsOfServiceURL": "https://policies.google.com/terms",
35-
"defaultPrompt": "Use Google Slides to inspect a deck, clean up slide layouts, repair template structure, or migrate content onto a branded template.",
37+
"defaultPrompt": "Use Google Slides to import a PPTX, inspect a deck, clean up slide layouts, repair template structure, or migrate content onto a branded template.",
3638
"brandColor": "#F9AB00",
3739
"composerIcon": "./assets/google-slides-small.svg",
3840
"logo": "./assets/google-slides.svg",
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
name: google-slides-import-presentation
3+
description: Import a local `.ppt`, `.pptx`, or `.odp` file into Google Slides, verify the resulting native deck, and hand it off to the right follow-on workflow. Use when the user wants to convert a presentation file into a native Google Slides deck before summarizing, editing, cleaning up, or migrating it.
4+
---
5+
6+
# Google Slides Import Presentation
7+
8+
## Overview
9+
10+
Use this skill when the source material is a presentation file rather than an existing Google Slides deck. The goal is to create a native Google Slides copy first, then continue work on the imported deck.
11+
12+
## Required Tooling
13+
14+
Confirm the runtime exposes:
15+
- `import_presentation`
16+
- `get_presentation` or `get_presentation_text`
17+
- `get_slide_thumbnail` when visual verification matters
18+
19+
If `import_presentation` is unavailable, stop and say the file cannot be converted into native Google Slides from Codex.
20+
21+
## Workflow
22+
23+
1. Confirm the input file.
24+
- Accept `.ppt`, `.pptx`, or `.odp`.
25+
- Use the uploaded file path directly when available.
26+
27+
2. Import the presentation.
28+
- Use `import_presentation` to create a new native Google Slides deck.
29+
- If the user gives a destination title, use it. Otherwise keep the imported title.
30+
31+
3. Read the imported deck.
32+
- Capture the resulting presentation ID or URL, slide count, and major slide titles.
33+
- Treat the imported deck as the new source of truth for follow-on work.
34+
35+
4. Verify the conversion.
36+
- Compare the imported slide count to the source file when that information is available.
37+
- Use thumbnails for spot checks when layout fidelity matters or the user plans visual cleanup next.
38+
39+
5. Hand off to the right next skill.
40+
- Use [google-slides](../google-slides/SKILL.md) for general summaries or edits.
41+
- Use [google-slides-visual-iteration](../google-slides-visual-iteration/SKILL.md) for post-import layout cleanup.
42+
- Use [google-slides-template-migration](../google-slides-template-migration/SKILL.md) when the imported deck should move onto a branded template.
43+
44+
## Import Rules
45+
46+
- Treat import as conversion into a new native Google Slides deck, not in-place editing of the original file.
47+
- Preserve source slide order and content by default.
48+
- Do not promise perfect fidelity for animations, transitions, SmartArt, or other Office-specific features.
49+
- If import introduces layout drift, fix it in the native Google Slides deck rather than editing the source file.
50+
- When the user says "edit this PPTX," import first and then operate on the resulting Google Slides deck.
51+
52+
## Output Conventions
53+
54+
- Return the resulting deck title and link or ID when the runtime exposes it.
55+
- Call out any obvious import drift or unsupported formatting that needs follow-up.
56+
- If no further edit was requested, stop after confirming that the native deck is ready.
57+
58+
## Example Requests
59+
60+
- "Import this PPTX into Google Slides so I can edit it."
61+
- "Convert this deck to native Google Slides and then summarize the first five slides."
62+
- "Bring this ODP into Google Slides and clean up any layout drift."
63+
64+
## Light Fallback
65+
66+
If the file is missing, unreadable, or the runtime cannot import it, say that presentation import may be unavailable or the provided file may be invalid, then ask for a valid local file or a connected Google Slides deck instead.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
interface:
2+
display_name: "Google Slides Import"
3+
short_description: "Convert PPTX or ODP into Google Slides"
4+
brand_color: "#F9AB00"
5+
default_prompt: "Use $google-slides-import-presentation to import a local PPTX into native Google Slides and verify the resulting deck."
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
name: google-slides
3+
description: Inspect, create, import, summarize, and update Google Slides presentations through connected Google Slides data. Use when the user wants to find a deck, read slide structure, summarize a presentation, create a new presentation, import a `.ppt`, `.pptx`, or `.odp`, update slide text or layout, or route a Slides task to a more specific workflow such as visual iteration, template surgery, or template migration.
4+
---
5+
6+
# Google Slides
7+
8+
## Overview
9+
10+
Use this skill as the default entrypoint for Google Slides work. Read the deck first, preserve content by default, and route to a narrower sibling skill only when the task is specifically import, visual cleanup, structural repair, or template migration.
11+
12+
## Preferred Deliverables
13+
14+
- Deck briefs that summarize slide order, titles, structure, and obvious issues.
15+
- Edit plans that name the target presentation, slide numbers or object IDs, and the intended changes.
16+
- Native Google Slides presentations that are ready for follow-on cleanup or content edits.
17+
18+
## Required Tooling
19+
20+
Confirm the runtime exposes the relevant Google Slides actions before editing:
21+
- `search_presentations` when the user does not provide a target deck
22+
- `get_presentation` or `get_presentation_text`
23+
- `get_slide`
24+
- `batch_update`
25+
- `create_presentation` for new decks
26+
- `import_presentation` when starting from a local `.ppt`, `.pptx`, or `.odp`
27+
- `get_slide_thumbnail` when visual verification matters
28+
29+
## Default Workflow
30+
31+
1. Identify the target presentation.
32+
- If the user names a deck but does not provide a URL, search for it first.
33+
- If the user provides a local presentation file, import it before trying to edit slides.
34+
35+
2. Read before writing.
36+
- Use `get_presentation` or `get_presentation_text` to capture slide order, titles, and overall structure.
37+
- Use `get_slide` before any slide-level write so object IDs and layout context come from the live deck.
38+
39+
3. Choose the right depth of work.
40+
- For deck summaries, content review, or light text edits, stay in this skill.
41+
- Use [google-slides-import-presentation](../google-slides-import-presentation/SKILL.md) when the source is a local presentation file.
42+
- Use [google-slides-visual-iteration](../google-slides-visual-iteration/SKILL.md) for spacing, overlap, alignment, and visual polish.
43+
- Use [google-slides-template-surgery](../google-slides-template-surgery/SKILL.md) when the repeated layout structure is broken.
44+
- Use [google-slides-template-migration](../google-slides-template-migration/SKILL.md) when content should move onto a company or team template deck.
45+
46+
4. Keep edits grounded.
47+
- Restate the target slide numbers, titles, or object IDs before making changes.
48+
- Prefer small `batch_update` requests over large speculative batches.
49+
- Use thumbnails for verification whenever the task is visual, not just textual.
50+
51+
5. Report the outcome clearly.
52+
- Say which presentation and slides were read or changed.
53+
- Call out any remaining issues that need a narrower workflow or human design judgment.
54+
55+
## Write Safety
56+
57+
- Preserve slide order, titles, body text, charts, notes, and supporting evidence unless the user asks for a change.
58+
- Use live object IDs from the current deck state. Never guess IDs or request shapes.
59+
- Treat deck-wide rewrites, slide deletions, and broad template changes as explicit actions that should be clearly scoped.
60+
- If the user asks to edit a `.pptx`, convert it into native Google Slides first instead of promising in-place Office edits.
61+
- Do not promise pixel-perfect fidelity when importing Office formats into Google Slides.
62+
63+
## Output Conventions
64+
65+
- Reference slide numbers and titles when summarizing or planning edits.
66+
- Distinguish clearly between a proposed edit plan and changes that were actually applied.
67+
- When the request is exploratory, lead with the deck's purpose, major slide groups, and obvious weak spots.
68+
- When the request is write-oriented, state the exact slides or objects that will change before editing.
69+
70+
## Example Requests
71+
72+
- "Find the Q2 board deck and summarize the storyline slide by slide."
73+
- "Create a new Google Slides presentation from this outline."
74+
- "Import this PPTX into Google Slides and then clean up the layout."
75+
- "Update slide 6 so the title and chart description match the latest numbers."
76+
77+
## Light Fallback
78+
79+
If the presentation is missing or the Google Slides connector does not return deck data, say that Google Slides access may be unavailable, the wrong deck may be in scope, or the file may need to be imported first.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
interface:
2+
display_name: "Google Slides"
3+
short_description: "Inspect decks and plan Slides edits"
4+
brand_color: "#F9AB00"
5+
default_prompt: "Use $google-slides to inspect a deck, import a PPTX, or plan an exact Google Slides edit."

0 commit comments

Comments
 (0)