AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Gws Slides Analyzer

skill-aipcc-cicd-claudio-skills-gws-slides-analyzer · by aipcc-cicd

Search, read, create, and add diagrams to Google Slides presentations. Use when the user asks to find a presentation, read slide content, create a new Google Slides deck, or add visual diagrams to existing slides. Uses the Google Workspace CLI (gws). Requires prior authentication via `gws auth login` or a service account credential file.

No reviews yet
0 installs
30 views
0.0% view→install

Install

$ agentstack add skill-aipcc-cicd-claudio-skills-gws-slides-analyzer

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-aipcc-cicd-claudio-skills-gws-slides-analyzer)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Gws Slides Analyzer? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Google Slides Analyzer

Overview

Search, read, create, and add visual diagrams to Google Slides presentations using the Google Workspace CLI (gws).

Prerequisites:

  • gws command is available and in PATH
  • User is already authenticated (gws auth login or service account)
  • jq for JSON parsing
  • python3 for presentation creation and diagrams

Authentication

| Method | How to set up | |--------|--------------| | Interactive OAuth | gws auth login — browser-based consent flow | | Service Account | Set GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE=/path/to/sa.json | | Pre-obtained token | Set GOOGLE_WORKSPACE_CLI_TOKEN= |

Available Scripts

search_slides.sh

Search for Google Slides presentations by name or content.

Usage:

/output/gws-slides-analyzer/scripts/search_slides.sh  [OPTIONS]

Options:

| Option | Default | Description | |--------|---------|-------------| | --limit N | 20 | Maximum results | | --human | — | Human-readable table output |

Examples:

/output/gws-slides-analyzer/scripts/search_slides.sh "quarterly review"
/output/gws-slides-analyzer/scripts/search_slides.sh "portfolio" --limit 5 --human

read_slide.sh

Read the text content of a Google Slides presentation.

Usage:

/output/gws-slides-analyzer/scripts/read_slide.sh  [OPTIONS]

Options:

| Option | Default | Description | |--------|---------|-------------| | --human | — | Print slide content in readable format |

Examples:

/output/gws-slides-analyzer/scripts/read_slide.sh 
/output/gws-slides-analyzer/scripts/read_slide.sh  --human

create_presentation.sh

Create a new Google Slides presentation, or overwrite an existing one, from a JSON content file.

Usage:

# Create new
/output/gws-slides-analyzer/scripts/create_presentation.sh \
  --title "My Deck" --content /path/to/content.json [--human]

# Overwrite existing
/output/gws-slides-analyzer/scripts/create_presentation.sh \
  --presentation-id  --content /path/to/content.json [--human]

Content JSON format:

{
  "slides": [
    {"layout": "TITLE",        "title": "Presentation Title", "subtitle": "Subtitle"},
    {"layout": "SECTION_HEADER","title": "Section Name",      "subtitle": "Optional"},
    {"layout": "TITLE_AND_BODY","title": "Slide Title",       "body": ["Bullet 1", "Bullet 2"]},
    {"layout": "TITLE_ONLY",   "title": "Title only slide"},
    {"layoutId": "", "title": "Using a branded layout by object ID"}
  ]
}

Supported predefined layouts:

| Layout | Placeholders | Best for | |--------|-------------|----------| | TITLE | title + subtitle | Cover slide | | SECTION_HEADER | title + subtitle | Section dividers | | TITLE_AND_BODY | title + body (bullets) | Content slides | | TITLE_ONLY | title | Visual slides | | BLANK | none | Custom layouts |

Use layoutId (object ID from the presentation's layouts) instead of layout when working with branded templates that have custom masters.


add_diagrams.py

Add visual diagrams to specific slides in an existing presentation. Targets slides by their title.

Usage:

python3 /output/gws-slides-analyzer/scripts/add_diagrams.py \
  --presentation-id  \
  --target "Slide Title=" \
  [--target "Another Slide=" ...]

Diagram types:

| Type | Description | |------|-------------| | layer | Stacked horizontal bars — for architecture/layer diagrams | | table | 3-column comparison table with styled header row | | two-column | Side-by-side comparison boxes with shared footer bar | | three-box | Three product/concept boxes with role tags and arrows |

Examples:

python3 /output/gws-slides-analyzer/scripts/add_diagrams.py \
  --presentation-id  \
  --target "Architecture Overview=layer" \
  --target "Product Comparison=table" \
  --target "A vs B=two-column" \
  --target "How It Works=three-box"

Notes:

  • Old diagram shapes on the targeted slides are removed and recreated
  • Body placeholder text on targeted slides is cleared to make room
  • Slide canvas dimensions are hardcoded constants (13.33" × 7.5" standard widescreen)
  • The table, two-column, and three-box diagram types contain Red Hat product content (OpenShift AI, RHEL AI, RHAIIS) and are not generic

Common Workflows

Find and Read a Presentation

# Step 1: Search
/output/gws-slides-analyzer/scripts/search_slides.sh "quarterly review"

# Step 2: Read using the ID from results
/output/gws-slides-analyzer/scripts/read_slide.sh  --human

Create a Presentation from Scratch

cat > /tmp/my_slides.json  \
  --content /tmp/my_slides.json \
  --human

Add Diagrams to Specific Slides

python3 /output/gws-slides-analyzer/scripts/add_diagrams.py \
  --presentation-id  \
  --target "Architecture=layer" \
  --target "Comparison=table"

Error Handling

| Scenario | Behavior | |----------|----------| | Not authenticated | gws exits with auth error; run gws auth login | | Presentation not found | gws exits with 404 error | | No permission | gws exits with 403 error | | No search results | Returns {"total": 0, "files": []} | | Invalid predefined layout | Google Slides API rejects the createSlide request | | Slide title not found | Script reports NOT FOUND and skips that target |

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.