google-slides by odyssey4me/agent-skills
npx skills add https://github.com/odyssey4me/agent-skills --skill google-slides与 Google Slides 交互,用于演示文稿创建、幻灯片管理和内容插入。
依赖项:pip install --user google-auth google-auth-oauthlib google-api-python-client keyring pyyaml
安装后,验证技能是否已正确配置:
$SKILL_DIR/scripts/google-slides.py check
这将检查:
如果缺少任何内容,检查命令将提供设置说明。
Google Slides 使用 OAuth 2.0 进行身份验证。完整的设置说明,请参阅:
创建 ~/.config/agent-skills/google.yaml:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
oauth_client:
client_id: your-client-id.apps.googleusercontent.com
client_secret: your-client-secret
运行 $SKILL_DIR/scripts/google-slides.py check 以触发 OAuth 流程并验证设置。
如果出现作用域或身份验证错误,请参阅 OAuth 故障排除指南。
有关每个命令的读/写分类,请参阅 permissions.md。
# 设置和身份验证
$SKILL_DIR/scripts/google-slides.py check
$SKILL_DIR/scripts/google-slides.py auth setup --client-id ID --client-secret SECRET
$SKILL_DIR/scripts/google-slides.py auth reset
$SKILL_DIR/scripts/google-slides.py auth status
# 演示文稿
$SKILL_DIR/scripts/google-slides.py presentations create --title "Title"
$SKILL_DIR/scripts/google-slides.py presentations get PRESENTATION_ID
$SKILL_DIR/scripts/google-slides.py presentations read PRESENTATION_ID [--format text|pdf] [--output PATH]
# 幻灯片 — 使用 presentations get 查找幻灯片 ID
$SKILL_DIR/scripts/google-slides.py slides create PRESENTATION_ID --layout LAYOUT [--index N]
$SKILL_DIR/scripts/google-slides.py slides delete PRESENTATION_ID --slide-id SLIDE_ID
# 内容 — 坐标以点为单位;原点 (0,0) 在左上角
$SKILL_DIR/scripts/google-slides.py text insert PRESENTATION_ID --slide-id ID --text "..." [--x N --y N --width N --height N]
$SKILL_DIR/scripts/google-slides.py shapes create PRESENTATION_ID --slide-id ID --shape-type TYPE [--x N --y N --width N --height N]
$SKILL_DIR/scripts/google-slides.py images create PRESENTATION_ID --slide-id ID --image-url URL [--x N --y N --width N --height N]
完整的参数详情和示例,请参阅 command-reference.md。
# 创建演示文稿
$SKILL_DIR/scripts/google-slides.py presentations create --title "Team Update"
# 验证创建并获取默认幻灯片 ID
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# 添加标题文本
$SKILL_DIR/scripts/google-slides.py text insert $PRES_ID \
--slide-id $SLIDE_ID \
--text "Q4 Team Update" \
--x 50 --y 50 --width 600 --height 100
# 添加副标题
$SKILL_DIR/scripts/google-slides.py text insert $PRES_ID \
--slide-id $SLIDE_ID \
--text "December 2024" \
--x 50 --y 180 --width 600 --height 50
# 验证内容是否正确插入
$SKILL_DIR/scripts/google-slides.py presentations read $PRES_ID
#!/bin/bash
PRES_ID="your-presentation-id"
# 添加内容幻灯片
$SKILL_DIR/scripts/google-slides.py slides create $PRES_ID --layout TITLE_AND_BODY
# 验证幻灯片已添加并获取其 ID
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# 添加标题
$SKILL_DIR/scripts/google-slides.py text insert $PRES_ID \
--slide-id $SLIDE_ID \
--text "Key Metrics" \
--x 50 --y 30 --width 600 --height 60
# 添加图表图片
$SKILL_DIR/scripts/google-slides.py images create $PRES_ID \
--slide-id $SLIDE_ID \
--image-url "https://example.com/metrics.png" \
--x 100 --y 120 --width 500 --height 350
# 添加另一个带形状的幻灯片
$SKILL_DIR/scripts/google-slides.py slides create $PRES_ID --layout BLANK
# 验证并获取新幻灯片 ID
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# 添加装饰形状
$SKILL_DIR/scripts/google-slides.py shapes create $PRES_ID \
--slide-id $SLIDE2_ID \
--shape-type STAR_5 \
--x 550 --y 30 --width 80 --height 80
# 验证最终演示文稿内容
$SKILL_DIR/scripts/google-slides.py presentations read $PRES_ID
#!/bin/bash
# 创建演示文稿
$SKILL_DIR/scripts/google-slides.py presentations create --title "Sales Report"
# 验证创建
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# 为每个区域添加一个幻灯片
$SKILL_DIR/scripts/google-slides.py slides create $PRES_ID --layout TITLE_AND_BODY
# 验证幻灯片已添加并获取其 ID
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# 使用上面输出中的幻灯片 ID 在每个幻灯片上插入文本
$SKILL_DIR/scripts/google-slides.py text insert $PRES_ID \
--slide-id $SLIDE_ID \
--text "North Region Sales" \
--x 50 --y 30 --width 600 --height 80
# 验证内容
$SKILL_DIR/scripts/google-slides.py presentations read $PRES_ID
Google Slides 使用点进行定位和尺寸设定:
常见参考位置:
(0, 0) (720, 0)
┌───────────────────────────────────────┐
│ 标题区域 │
│ (50, 50, 620, 80) │
│ │
│ 内容区域 │
│ (50, 150, 620, 350) │
│ │
│ │
└───────────────────────────────────────┘
(0, 540) (720, 540)
身份验证和作用域错误不可重试。 如果命令因身份验证错误、作用域不足错误或权限被拒绝错误(退出代码 1)而失败,请停止并通知用户。不要重试或尝试自主修复问题 — 这些错误需要用户交互(基于浏览器的 OAuth 同意)。请引导用户查看 OAuth 故障排除指南。
可重试错误:速率限制(HTTP 429)和临时服务器错误(HTTP 5xx)可能在短暂等待后重试成功。所有其他错误都应报告给用户。
此技能需要进行结构化输入/输出的 API 调用。建议使用标准能力模型。
确保您使用的是来自 URL 的正确演示文稿 ID:
https://docs.google.com/presentation/d/1abc...xyz/edit1abc...xyz图片 URL 必须:
在浏览器中测试 URL。如果需要身份验证,您需要:
高级用法,请参阅:
每周安装次数
116
仓库
GitHub Stars
1
首次出现
2026年1月27日
安全审计
安装于
opencode101
gemini-cli98
claude-code94
github-copilot93
cursor92
codex92
Interact with Google Slides for presentation creation, slide management, and content insertion.
Dependencies : pip install --user google-auth google-auth-oauthlib google-api-python-client keyring pyyaml
After installation, verify the skill is properly configured:
$SKILL_DIR/scripts/google-slides.py check
This will check:
If anything is missing, the check command will provide setup instructions.
Google Slides uses OAuth 2.0 for authentication. For complete setup instructions, see:
Create ~/.config/agent-skills/google.yaml:
oauth_client: client_id: your-client-id.apps.googleusercontent.com client_secret: your-client-secret
Run $SKILL_DIR/scripts/google-slides.py check to trigger OAuth flow and verify setup.
On scope or authentication errors, see the OAuth troubleshooting guide.
See permissions.md for read/write classification of each command.
# Setup and auth
$SKILL_DIR/scripts/google-slides.py check
$SKILL_DIR/scripts/google-slides.py auth setup --client-id ID --client-secret SECRET
$SKILL_DIR/scripts/google-slides.py auth reset
$SKILL_DIR/scripts/google-slides.py auth status
# Presentations
$SKILL_DIR/scripts/google-slides.py presentations create --title "Title"
$SKILL_DIR/scripts/google-slides.py presentations get PRESENTATION_ID
$SKILL_DIR/scripts/google-slides.py presentations read PRESENTATION_ID [--format text|pdf] [--output PATH]
# Slides — use presentations get to find slide IDs
$SKILL_DIR/scripts/google-slides.py slides create PRESENTATION_ID --layout LAYOUT [--index N]
$SKILL_DIR/scripts/google-slides.py slides delete PRESENTATION_ID --slide-id SLIDE_ID
# Content — coordinates are in points; origin (0,0) is top-left
$SKILL_DIR/scripts/google-slides.py text insert PRESENTATION_ID --slide-id ID --text "..." [--x N --y N --width N --height N]
$SKILL_DIR/scripts/google-slides.py shapes create PRESENTATION_ID --slide-id ID --shape-type TYPE [--x N --y N --width N --height N]
$SKILL_DIR/scripts/google-slides.py images create PRESENTATION_ID --slide-id ID --image-url URL [--x N --y N --width N --height N]
See command-reference.md for full argument details and examples.
# Create presentation
$SKILL_DIR/scripts/google-slides.py presentations create --title "Team Update"
# Verify creation and get the default slide ID
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# Add title text
$SKILL_DIR/scripts/google-slides.py text insert $PRES_ID \
--slide-id $SLIDE_ID \
--text "Q4 Team Update" \
--x 50 --y 50 --width 600 --height 100
# Add subtitle
$SKILL_DIR/scripts/google-slides.py text insert $PRES_ID \
--slide-id $SLIDE_ID \
--text "December 2024" \
--x 50 --y 180 --width 600 --height 50
# Verify content was inserted correctly
$SKILL_DIR/scripts/google-slides.py presentations read $PRES_ID
#!/bin/bash
PRES_ID="your-presentation-id"
# Add content slide
$SKILL_DIR/scripts/google-slides.py slides create $PRES_ID --layout TITLE_AND_BODY
# Verify slide was added and get its ID
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# Add title
$SKILL_DIR/scripts/google-slides.py text insert $PRES_ID \
--slide-id $SLIDE_ID \
--text "Key Metrics" \
--x 50 --y 30 --width 600 --height 60
# Add chart image
$SKILL_DIR/scripts/google-slides.py images create $PRES_ID \
--slide-id $SLIDE_ID \
--image-url "https://example.com/metrics.png" \
--x 100 --y 120 --width 500 --height 350
# Add another slide with shapes
$SKILL_DIR/scripts/google-slides.py slides create $PRES_ID --layout BLANK
# Verify and get the new slide ID
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# Add decorative shape
$SKILL_DIR/scripts/google-slides.py shapes create $PRES_ID \
--slide-id $SLIDE2_ID \
--shape-type STAR_5 \
--x 550 --y 30 --width 80 --height 80
# Verify final presentation content
$SKILL_DIR/scripts/google-slides.py presentations read $PRES_ID
#!/bin/bash
# Create presentation
$SKILL_DIR/scripts/google-slides.py presentations create --title "Sales Report"
# Verify creation
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# Add a slide for each region
$SKILL_DIR/scripts/google-slides.py slides create $PRES_ID --layout TITLE_AND_BODY
# Verify slide was added and get its ID
$SKILL_DIR/scripts/google-slides.py presentations get $PRES_ID
# Insert text on each slide using the slide ID from the output above
$SKILL_DIR/scripts/google-slides.py text insert $PRES_ID \
--slide-id $SLIDE_ID \
--text "North Region Sales" \
--x 50 --y 30 --width 600 --height 80
# Verify content
$SKILL_DIR/scripts/google-slides.py presentations read $PRES_ID
Google Slides uses points for positioning and sizing:
Common reference positions:
(0, 0) (720, 0)
┌───────────────────────────────────────┐
│ Title area │
│ (50, 50, 620, 80) │
│ │
│ Content area │
│ (50, 150, 620, 350) │
│ │
│ │
└───────────────────────────────────────┘
(0, 540) (720, 540)
Authentication and scope errors are not retryable. If a command fails with an authentication error, insufficient scope error, or permission denied error (exit code 1), stop and inform the user. Do not retry or attempt to fix the issue autonomously — these errors require user interaction (browser-based OAuth consent). Point the user to the OAuth troubleshooting guide.
Retryable errors : Rate limiting (HTTP 429) and temporary server errors (HTTP 5xx) may succeed on retry after a brief wait. All other errors should be reported to the user.
This skill makes API calls requiring structured input/output. A standard-capability model is recommended.
Make sure you're using the correct presentation ID from the URL:
https://docs.google.com/presentation/d/1abc...xyz/edit1abc...xyzThe image URL must be:
Test the URL in a browser. If it requires authentication, you'll need to:
For advanced usage, see:
Weekly Installs
116
Repository
GitHub Stars
1
First Seen
Jan 27, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykFail
Installed on
opencode101
gemini-cli98
claude-code94
github-copilot93
cursor92
codex92
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
44,900 周安装
Telegram Bot Builder:从架构到盈利的完整机器人开发指南
1,600 周安装
Nest.js专家:企业级Node.js应用架构、依赖注入、测试与数据库集成解决方案
1,500 周安装
AI战略顾问工具 - 商业决策分析、竞争评估与战略规划框架指南
1,500 周安装
专业调试专家技能:系统化解决软件缺陷、性能问题与生产事故
1,500 周安装
App Store Connect CLI PPP定价技能:按区域定价与购买力平价策略指南
1,500 周安装
App Store Connect CLI 构建生命周期管理:查找、分发、清理构建全流程指南
1,600 周安装