google-slides by sanjay3290/ai-skills
npx skills add https://github.com/sanjay3290/ai-skills --skill google-slides轻量级 Google Slides 集成,具备独立的 OAuth 身份验证。无需 MCP 服务器。提供完整的读写权限。
需要 Google Workspace 账户。 不支持个人 Gmail 账户。
使用 Google 进行身份验证(会打开浏览器):
python scripts/auth.py login
检查身份验证状态:
python scripts/auth.py status
需要时登出:
python scripts/auth.py logout
所有操作均通过 scripts/slides.py 进行。首次使用时若未登录,将自动进行身份验证。
# 从演示文稿中获取所有文本内容
python scripts/slides.py get-text "1abc123xyz789"
python scripts/slides.py get-text "https://docs.google.com/presentation/d/1abc123xyz789/edit"
# 通过搜索查询查找演示文稿
python scripts/slides.py find "quarterly report"
python scripts/slides.py find "project proposal" --limit 5
# 获取演示文稿元数据(标题、幻灯片数量、幻灯片对象 ID)
python scripts/slides.py get-metadata "1abc123xyz789"
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
# 创建新的空白演示文稿
python scripts/slides.py create "Q4 Sales Report"
# 在末尾添加空白幻灯片
python scripts/slides.py add-slide "1abc123xyz789"
# 添加具有特定版式的幻灯片
python scripts/slides.py add-slide "1abc123xyz789" --layout TITLE_AND_BODY
# 在特定位置添加幻灯片(基于 0 的索引)
python scripts/slides.py add-slide "1abc123xyz789" --layout TITLE --at 0
# 在所有幻灯片中查找并替换文本
python scripts/slides.py replace-text "1abc123xyz789" "old text" "new text"
python scripts/slides.py replace-text "1abc123xyz789" "Draft" "Final" --match-case
# 按对象 ID 删除幻灯片(使用 get-metadata 查找 ID)
python scripts/slides.py delete-slide "1abc123xyz789" "g123abc456"
# 批量更新(高级功能 - 用于格式化、插入形状、图片等)
python scripts/slides.py batch-update "1abc123xyz789" '[{"replaceAllText":{"containsText":{"text":"foo"},"replaceText":"bar"}}]'
add-slide --layout 可用的版式:
BLANK - 空白幻灯片(默认)TITLE - 标题幻灯片TITLE_AND_BODY - 带正文的标题TITLE_AND_TWO_COLUMNS - 带两列文本的标题TITLE_ONLY - 仅标题栏SECTION_HEADER - 章节分隔符ONE_COLUMN_TEXT - 单列文本MAIN_POINT - 要点高亮BIG_NUMBER - 大数字显示您可以使用以下任一格式:
1abc123xyz789https://docs.google.com/presentation/d/1abc123xyz789/edit脚本会自动从 URL 中提取 ID。
返回从所有幻灯片中提取的文本,包括:
返回匹配的演示文稿列表:
{
"presentations": [
{"id": "1abc...", "name": "Q4 Report", "modifiedTime": "2024-01-15T..."}
],
"nextPageToken": "..."
}
返回演示文稿详细信息:
{
"presentationId": "1abc...",
"title": "My Presentation",
"slideCount": 15,
"pageSize": {"width": {...}, "height": {...}},
"hasMasters": true,
"hasLayouts": true
}
令牌使用系统密钥环安全存储:
服务名称:google-slides-skill-oauth
使用 Google 的云函数自动刷新过期的令牌。
每周安装数
83
仓库
GitHub 星标数
172
首次出现
Jan 23, 2026
安全审计
安装于
opencode72
gemini-cli72
codex72
claude-code70
cursor67
github-copilot66
Lightweight Google Slides integration with standalone OAuth authentication. No MCP server required. Full read/write access.
Requires Google Workspace account. Personal Gmail accounts are not supported.
Authenticate with Google (opens browser):
python scripts/auth.py login
Check authentication status:
python scripts/auth.py status
Logout when needed:
python scripts/auth.py logout
All operations via scripts/slides.py. Auto-authenticates on first use if not logged in.
# Get all text content from a presentation
python scripts/slides.py get-text "1abc123xyz789"
python scripts/slides.py get-text "https://docs.google.com/presentation/d/1abc123xyz789/edit"
# Find presentations by search query
python scripts/slides.py find "quarterly report"
python scripts/slides.py find "project proposal" --limit 5
# Get presentation metadata (title, slide count, slide object IDs)
python scripts/slides.py get-metadata "1abc123xyz789"
# Create a new empty presentation
python scripts/slides.py create "Q4 Sales Report"
# Add a blank slide to the end
python scripts/slides.py add-slide "1abc123xyz789"
# Add a slide with a specific layout
python scripts/slides.py add-slide "1abc123xyz789" --layout TITLE_AND_BODY
# Add a slide at a specific position (0-based index)
python scripts/slides.py add-slide "1abc123xyz789" --layout TITLE --at 0
# Find and replace text across all slides
python scripts/slides.py replace-text "1abc123xyz789" "old text" "new text"
python scripts/slides.py replace-text "1abc123xyz789" "Draft" "Final" --match-case
# Delete a slide by object ID (use get-metadata to find IDs)
python scripts/slides.py delete-slide "1abc123xyz789" "g123abc456"
# Batch update (advanced - for formatting, inserting shapes, images, etc.)
python scripts/slides.py batch-update "1abc123xyz789" '[{"replaceAllText":{"containsText":{"text":"foo"},"replaceText":"bar"}}]'
Available layouts for add-slide --layout:
BLANK - Empty slide (default)TITLE - Title slideTITLE_AND_BODY - Title with body textTITLE_AND_TWO_COLUMNS - Title with two text columnsTITLE_ONLY - Title bar onlySECTION_HEADER - Section dividerONE_COLUMN_TEXT - Single column textMAIN_POINT - Main point highlightBIG_NUMBER - Large number displayYou can use either:
1abc123xyz789https://docs.google.com/presentation/d/1abc123xyz789/editThe scripts automatically extract the ID from URLs.
Returns extracted text from all slides, including:
Returns list of matching presentations:
{
"presentations": [
{"id": "1abc...", "name": "Q4 Report", "modifiedTime": "2024-01-15T..."}
],
"nextPageToken": "..."
}
Returns presentation details:
{
"presentationId": "1abc...",
"title": "My Presentation",
"slideCount": 15,
"pageSize": {"width": {...}, "height": {...}},
"hasMasters": true,
"hasLayouts": true
}
Tokens stored securely using the system keyring:
Service name: google-slides-skill-oauth
Automatically refreshes expired tokens using Google's cloud function.
Weekly Installs
83
Repository
GitHub Stars
172
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykFail
Installed on
opencode72
gemini-cli72
codex72
claude-code70
cursor67
github-copilot66
README 国际化工具:自动化翻译与多语言文档管理 | readme-i18n
46,000 周安装