fix(slides): enable reliable Slides tool usage and write operations#237
fix(slides): enable reliable Slides tool usage and write operations#237nlhogsten wants to merge 2 commits intogemini-cli-extensions:mainfrom
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
Summary of ChangesHello @nlhogsten, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the Google Slides integration within the Gemini CLI by enabling full write capabilities. It introduces a suite of new tools for creating and manipulating presentations, slides, and text, ensuring reliable operation and improved error handling. The changes allow users to programmatically generate and modify Google Slides content, expanding the utility of the Slides integration beyond read-only access. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request is a great addition, enabling write operations for Google Slides and adding a comprehensive set of tools. The inclusion of robust error handling with rollback logic for creation and extensive test coverage is commendable.
I have two main suggestions for improvement:
- Refactoring the slide creation logic to use layout placeholders instead of creating new shapes with hardcoded geometry. This will make the tool more robust and behave as users would expect with standard layouts.
- Standardizing the error response format across all new write-operation methods for better API consistency.
|
Addressed both Gemini review suggestions in commit 6e3b16c.
Validation:
|
Why this PR
Was using the Google Workspace MCP and found that Google Slides tools were either unavailable or failing when the agent attempted write operations.
This PR fixes the underlying Slides integration so Slides tools are actually usable and added a few tools to create slides files and individual slides.
Future PRs Planned
Created a small PR as requested by the contributing document - looking to create advanced Slides tools to decorate slides for things such as changing fonts, background colors and patterns, adding comments, manipulating layouts of elements present, ect.
What was broken
slides.createand related flows could fail on shape creation in common agent-generated requests.What this PR changes
slides.createslides.addSlideslides.insertTextslides.replaceTextslides.deleteSlideslides.batchUpdateslides.createseeded deck behavior and rollback logic so failed seeded creates are cleaned up.Outcome
After these changes, Slides tool calls work in Gemini CLI with local MCP development setup, and presentations are created successfully in Google Slides.
Validation
Screenshots
Gemini CLI successful Slides tool execution
Google Slides deck successfully created in Drive