Google Slides
SkillDocs & knowledgeRead, create, and edit the user's Google Slides presentations.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Google Slides skill
What this skill tells your AI
The instructions your AI receives, as published by win4r/museai-skills in opt/hatch/skills/google-slides/SKILL.md and read by ahel’s review.
Purpose
Manage Google Slides through hatch_gws_cli; the vendored Google Workspace CLI is the only implementation path.
Tooling
Use exec to run:
hatch_gws_cli slides <resource> <method> [flags]
Connection management
hatch_gws_cli slides status
hatch_gws_cli slides disconnect
Slides operations
Core patterns:
hatch_gws_cli slides statushatch_gws_cli slides disconnecthatch_gws_cli schema slides.presentations.gethatch_gws_cli schema slides.presentations.createhatch_gws_cli schema slides.presentations.batchUpdate
Common raw API calls:
hatch_gws_cli slides presentations get --params '{"presentationId":"<presentation_id>"}'hatch_gws_cli slides presentations create --json '{"title":"Quarterly Review"}'hatch_gws_cli slides presentations batchUpdate --params '{"presentationId":"<presentation_id>"}' --json '{"requests":[{"createSlide":{"slideLayoutReference":{"predefinedLayout":"TITLE_AND_BODY"}}}]}'
JSON output contract:
status: parsestatus,connect_url, anddisconnect_urldisconnect: parseok,action,status, anddisconnect_url
Composing presentation content
Never compose a deck through presentations create plus batchUpdate element inserts, whether new or rebuilt. Build it as a presentation artifact first. The artifacts tool writes a .pptx under ~/workspace/your_files/<artifact-slug>/. Then put it in Google.
- Mint the empty presentation with
hatch_gws_cli slides presentations create --json '{"title":"<title>"}'. - Fill it from the built file:
hatch_gws_cli drive files update --params '{"fileId":"<presentation_id>"}' --upload "$JARVIS_HOME/workspace/your_files/<artifact-slug>/<name>.pptx". Drive converts the upload into the Google Slides deck in place. The path must be absolute and inside the home directory. Relative and/tmppaths fail. - Read it back with
presentations.getbefore you call it ready, and confirm the page count matches the artifact. Say in your reply that the slides are pictures, so the text cannot be edited in Slides. - To revise, edit the artifact and re-upload to the same presentation ID. The artifact is the working copy. The upload replaces every slide, so it discards any edits made in Google since, including the user's. Read the published copy back first. If it changed, say so and wait for a yes.
Auth
Authentication is handled by the wrapper's status and disconnect subcommands. Do not hand-write credential files or run raw gws auth ....
First-use setup flow
- Run
hatch_gws_cli slides status. - If
statusisunavailable, tell the user that Google Slides is not available on this device. Do not offer alternative integration approaches or ask the user for credentials. - If
statusisnot_connectedandconnect_urlis present, replace<connect_url>with the returned URL and share exactly this Markdown link:[Connect Google Slides](<connect_url>); do not paste the raw URL separately. Wait for the user to reconnect. - Once
statusisconnected, proceed with Slides operations.
Operating Rules
- Use
schemabefore unfamiliar Slides methods so--paramsand--jsonmatch the current vendored CLI contract. - Creating a presentation and editing a presentation owned only by the user may proceed from a clear request. Confirm before editing a shared presentation because its contents can be exposed to or changed for other people.
- Treat presentation IDs, page object IDs, and element IDs as opaque strings.
- Run
hatch_gws_cli slides disconnect. After running it, whendisconnect_urlis present, replace<disconnect_url>with the returned URL and share exactly this Markdown link:[Disconnect Google Slides](<disconnect_url>); do not paste the raw URL separately. - Use
presentations.getbefore modifying an existing deck so you understand the current page and object structure. - After a read or write action, confirm the user-visible result only. Do not surface raw API identifiers (presentation, page object, and element IDs) or other internal response fields (revision IDs, raw JSON) in text shown to the user unless the user asks for them or you need them to troubleshoot a failure; keep using them internally to chain follow-up commands.
Signals
- GitHub stars
- 293
- Forks
- 93
- Last commit
- Sep 2026
ahel review
S4info
community integration, published by win4r, not google
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
google-slides-win4r- Source
- github.com/win4r/museai-skills