google-slides について
Markdownからプレゼンテーションを作成・編集するスキルです。スライドを扱うユーザー向けで、PPTXをローカル生成し、必要に応じてGoogle Slidesへアップロードできます。
主な機能
- 01MarkdownからPPTXを生成
- 02YAML frontmatterで設定
- 03Google Slidesへアップロード
- 04プレゼンテーションの取得と再構築
- 05画像またはテキストでスライドをプレビュー
活用シーン
- 01Markdownファイルからスライドを作成
- 02取得したGoogle Slidesの資料を編集して再構築
- 03共有前にPPTXをプレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ odyssey4me/ agent-skills --skill google-slidesインストール後、Claude Code で/google-slidesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/command-reference.mdpermissions.mdpresentations-guide.mdscripts/google-slides.pytemplates/default.pptxgenerate_template.py詳細
Google Slides
YAML frontmatter を含む Markdown ファイルからプレゼンテーションを作成します。このスキルは python-pptx を使用してローカルで .pptx ファイルを生成し、必要に応じて Drive API 経由で Google Slides にアップロードできます。既存のプレゼンテーションを Markdown としてダウンロードし、編集して再構築し、再アップロードするラウンドトリップワークフローにも対応しています。
インストール
必須の Python パッケージ:
pip install --user google-auth google-auth-oauthlib google-api-python-client keyring pyyaml
ローカルで .pptx を作成する場合:
pip install --user python-pptx cairosvg
任意のシステム依存関係: LibreOffice(preview コマンド用)。このスキルは libreoffice、soffice、Flatpak、または環境変数 LIBREOFFICE_PATH で設定されたパスを自動検出します。
セットアップの確認
インストール後、スキルが正しく設定されていることを確認します。
$SKILL_DIR/scripts/google-slides.py check
次の項目が確認されます。
- Python の依存関係(google-auth、google-auth-oauthlib、google-api-python-client、keyring、pyyaml、python-pptx、cairosvg)
- 認証設定
- Google API への接続
- LibreOffice の利用可否(任意)
不足している項目がある場合、確認コマンドにセットアップ手順が表示されます。
認証
Google Slides では、認証に OAuth 2.0 を使用します。セットアップの詳細については、以下を参照してください。
- GCP プロジェクトのセットアップガイド - プロジェクトを作成し、Drive API を有効にします
- Google OAuth のセットアップガイド - 認証情報を設定します
クイックスタート
-
~/.config/agent-skills/google.yamlを作成します。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 を参照してください。
# 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
# Build a presentation from Markdown
$SKILL_DIR/scripts/google-slides.py create --file deck.md
$SKILL_DIR/scripts/google-slides.py create --file deck.md --output deck.pptx --palette redhat-brand
$SKILL_DIR/scripts/google-slides.py create --file deck.md --title "My Deck" # build and upload
# Download a presentation as Markdown
$SKILL_DIR/scripts/google-slides.py get PRESENTATION_ID
$SKILL_DIR/scripts/google-slides.py get PRESENTATION_ID -o deck.md
# Upload or replace slides in an existing presentation
$SKILL_DIR/scripts/google-slides.py update PRESENTATION_ID --file deck.pptx
$SKILL_DIR/scripts/google-slides.py update PRESENTATION_ID --file deck.pptx --mode append
# Preview and verify
$SKILL_DIR/scripts/google-slides.py preview --file deck.pptx
$SKILL_DIR/scripts/google-slides.py preview --file deck.pptx --format summary
$SKILL_DIR/scripts/google-slides.py verify --file deck.pptx
# List available color palettes
$SKILL_DIR/scripts/google-slides.py palettes
引数の詳細と例については、command-reference.md を参照してください。
Markdown 形式
プレゼンテーションは、YAML frontmatter を含む Markdown ファイルとして記述します。スライドは、単独の行に --- を置いて区切ります。スライドの種類は HTML コメントディレクティブで指定します。
---
title: Team Update
subtitle: Q2 2026
author: Jane Smith
date: 2026-06-23
palette: redhat-brand
---
# Team Update
## Q2 2026
> Speaker notes go in blockquotes.
---
# Progress Review
---
## Key Metrics
- Revenue: $1.2M (up 15%)
- Active users: 50,000
- NPS: 72
::icon:trending-up::
> Mention the NPS improvement from last quarter.
---
## Comparison
### Before
- Manual process
- 3-day turnaround
- Error-prone
### After
- Fully automated
- 15-minute turnaround
- 99.9% accuracy
---
# Architecture

---
# Thank You
## Questions?
スライドの種類
| 種類 | ディレクティブ | 説明 |
|---|---|---|
| タイトル | (最初のスライドとして自動検出) | プレゼンテーションのタイトルとサブタイトル |
| セクション | `` | 大きな見出しを含むセクション区切り |
| コンテンツ | (デフォルト) | 見出しと箇条書きで構成される標準スライド |
| 2 列 | `` | / マーカーで左右に分けたコンテンツ |
| 画像 | `` | 任意の見出しを含むスライド全体の画像 |
| クロージング | `` | クロージングスライド(例:「Thank You」) |
書式設定
# H1-- スライドのタイトル## H2-- スライドのサブタイトル- bullets-- 箇条書き(入れ子にも対応)> blockquote-- 発表者ノート(スライドには表示されません)-- 画像::icon:name::-- Red Hat アイコンリポジトリのアイコン
Markdown 形式の仕様、アイコンのカテゴリ、カラーパレットについて詳しくは、presentations-guide.md を参照してください。
カラーパレット
組み込みのカラーパレットは 7 種類あり、Red Hat ブランドのパレットが 4 種類、汎用パレットが 3 種類です。palettes を使用すると一覧を表示できます。
frontmatter(palette: name)またはコマンドライン(--palette name)でパレットを設定します。コマンドラインフラグを指定すると、frontmatter の設定が上書きされます。
例
スライド資料を作成してプレビューする
# Create .pptx from Markdown
$SKILL_DIR/scripts/google-slides.py create --file deck.md --output deck.pptx
# Preview as images (requires LibreOffice)
$SKILL_DIR/scripts/google-slides.py preview --file deck.pptx --format images
# Get a text summary instead
$SKILL_DIR/scripts/google-slides.py preview --file deck.pptx --format summary
作成とアップロードを一度に行う
$SKILL_DIR/scripts/google-slides.py create --file deck.md --title "Q2 Team Update"
# Builds .pptx, uploads to Google Drive, returns the presentation URL
ラウンドトリップワークフロー
# Download existing presentation as Markdown
$SKILL_DIR/scripts/google-slides.py get 1abc...xyz -o deck.md
# Edit deck.md in your editor...
# Rebuild
$SKILL_DIR/scripts/google-slides.py create --file deck.md --output deck.pptx
# Verify quality and accessibility
$SKILL_DIR/scripts/google-slides.py verify --file deck.pptx
# Replace slides in the original presentation
$SKILL_DIR/scripts/google-slides.py update 1abc...xyz --file deck.pptx --mode replace
クラウド版と照合する
$SKILL_DIR/scripts/google-slides.py verify --file deck.pptx --presentation-id 1abc...xyz
エラー処理
認証エラーとスコープエラーは再試行できません。 コマンドが認証エラー、不十分なスコープのエラー、またはアクセス拒否エラー(終了コード 1)で失敗した場合は、停止してユーザーに知らせてください。再試行したり、自動で問題を解決しようとしたりしないでください。これらのエラーにはユーザーの操作(ブラウザーでの OAuth 同意)が必要です。ユーザーにOAuth トラブルシューティングガイドを案内してください。
再試行できるエラー:レート制限(HTTP 429)と一時的なサーバーエラー(HTTP 5xx)は、少し待ってから再試行すると解決する場合があります。それ以外のエラーはすべてユーザーに報告してください。
モデルに関するガイダンス
このスキルでは、構造化された入出力を必要とする API 呼び出しを行います。標準的な能力を備えたモデルを推奨します。
トラブルシューティング
プレゼンテーションが見つからない
URL から正しいプレゼンテーション ID を使用していることを確認してください。
- URL:
https://docs.google.com/presentation/d/1abc...xyz/edit - プレゼンテーション ID:
1abc...xyz
LibreOffice が見つからない
preview コマンドには LibreOffice が必要です。パッケージマネージャーからインストールするか、LIBREOFFICE_PATH にバイナリの場所を設定してください。このスキルは libreoffice、soffice、Flatpak のインストールを自動的に確認します。
リファレンス
- コマンドリファレンス -- 引数の詳細
- 権限 -- 読み取り/書き込みの分類
- プレゼンテーションガイド -- Markdown 形式、パレット、アイコン