本文へ移動
cccskills
無料GitHub で公開

gslides-parser

Google Slides の構造を GAS 経由でパースし、YAML マッピングを出力するスキル。「スライドをパースして」「スライドの構造を解析」「YAMLマッピング作成」等のリクエストで発動。pptx-converter 互換のセマンティック解析 + プレースホルダー付与。

インストール方法を見る

含まれるファイル(8)

  • SKILL.md6.1 KB
  • agents/openai.yaml150 B
  • gas/appsscript.json318 B
  • gas/parseSlides.js14.7 KB
  • scripts/gas_to_yaml.py14.4 KB
  • scripts/gslides_parser.py12.8 KB
  • SKILL.en.md5.2 KB
  • SKILL.es.md5.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

/gslides-parser - Google Slides パーサー

Google Slides プレゼンテーションの構造を GAS 経由でパースし、pptx-converter 互換のマッピング YAML を出力する。

前提条件

# clasp は npx 経由で実行(インストール不要)
# Google アカウントでログイン
npx -y @google/clasp login

# Google Apps Script API を有効化
# https://script.google.com/home/usersettings

クイックスタート

# 1. GAS プロジェクト初期設定(初回のみ)
python skills/gslides-parser/scripts/gslides_parser.py setup

# 2. GAS エディタで一度手動実行して権限を付与
npx @google/clasp open --cwd skills/gslides-parser/gas/

# 3. パース実行
python skills/gslides-parser/scripts/gslides_parser.py analyze \
  1ZVAI8Cjts1N44lYXgoCoZXfb0gz7BAx7A1A5-bhapvQ \
  -o output/slides/mapping.yaml

サブコマンド

コマンド説明
setupGAS プロジェクト初期設定(clasp create + push)
analyze <id>プレゼンテーションをパース → YAML 出力
json <id>GAS パース結果の JSON だけ出力

オプション

analyze

オプション説明デフォルト
-o, --output出力 YAML パスoutput/slides/gslides_<id>_<timestamp>.yaml
--no-geminiGemini セマンティック解析を無効化false
--skip-pushclasp push をスキップfalse

json

オプション説明デフォルト
-o, --output出力 JSON パスstdout
--skip-pushclasp push をスキップfalse

出力 YAML スキーマ(pptx-converter 互換)

source: "Google Slides: プレゼン名"
presentation_id: "1ZVAI8..."
presentation_url: "https://docs.google.com/presentation/d/1ZVAI8.../edit"
generated_at: "2026-02-10T12:00:00"
slide_width_pt: 720
slide_height_pt: 405

slides:
  - slide_number: 1
    object_id: "p6"
    layout: "TITLE"
    elements:
      - id: "g1234abcd"
        type: text
        role: title
        hint: "メインタイトル。"
        position: { left: 36, top: 150, width: 648, height: 80 }
        style: { font: "Noto Sans JP", size: 36, bold: true, color: "333333" }
        value: "タイトルテキスト"
        placeholder: "{{slide_1_title}}"

placeholders:
  - key: "{{slide_1_title}}"
    type: text
    role: title
    current: "タイトルテキスト"

処理フロー

[ユーザー] → python gslides_parser.py analyze <id>
                    │
        ┌───────────┴───────────┐
        │  1. clasp push        │  GAS コードを反映
        │     (gas/ → GAS)      │
        └───────────┬───────────┘
                    │
        ┌───────────┴───────────┐
        │  2. clasp run         │  parsePresentation() 実行
        │     parsePresentation │  → JSON 構造を返す
        └───────────┬───────────┘
                    │
        ┌───────────┴───────────┐
        │  3. gas_to_yaml.py    │  セマンティック解析
        │     JSON → YAML 変換  │  + プレースホルダー付与
        └───────────┬───────────┘
                    │
        ┌───────────┴───────────┐
        │  4. YAML 出力         │  pptx-converter 互換
        └───────────┘

GAS パーサーがパースする要素

要素タイプ抽出情報
Shape (テキスト)テキスト、スタイル(font/size/bold/color)、プレースホルダー判定、塗りつぶし色
ImageソースURL、コンテンツURL、リンク
Table全セルテキスト、行列数、ヘッダー検出、セルスタイル
Group子要素の再帰的パース
SheetsChartスプレッドシートID、チャートID
Line線種、太さ、色
WordArtレンダリングテキスト
Videoソース、URL、動画ID

セマンティック解析

ヒューリスティックで以下のロールを自動判定:

  • テキスト: title, subtitle, heading, body, caption, label, footnote, page_number, bullet_list
  • 画像: hero_image, logo, icon, photo, decorative, background
  • テーブル: data_table, comparison_table, schedule_table
  • チャート: revenue_chart, trend_chart, comparison_chart
  • シェイプ: accent_decoration, callout, divider, background_shape
  • グループ: process_flow, feature_cards, step_diagram

トラブルシューティング

エラー原因対処法
Not logged inclasp 未ログインnpx @google/clasp login
Script API disabledGAS API 無効GAS API 設定 で有効化
PERMISSION_DENIEDOAuth スコープ未承認GAS エディタで一度手動実行して権限付与
Function not foundpush 未完了npx @google/clasp push --force
タイムアウト大きなプレゼンGAS エディタから直接実行

関連スキル

  • gslides-creator: パース結果の YAML を使ってテンプレートから新スライドを作成
  • pptx-converter: PPTX ファイルの同等機能(extract → build → convert)
  • gas-clasp-ops: clasp プロジェクト管理

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

ab-test-setup

無料日本語概要

A/Bテストや実験の設計・実装を支援するスキル。 「A/Bテストを設計して」「スプリットテストしたい」「仮説を立ててテストしたい」「バリアントを比較」等のリクエストで発動。 トラッキング実装は analytics-tracking を参照。

minicoohei/ai-agent-camp3472026年10月7日 更新

agent-designer

無料日本語概要

マルチエージェントシステムのアーキテクチャ設計ツールキット。 「エージェントを設計して」「マルチエージェント構成」「エージェントのアーキテクチャ」「オーケストレーション設計」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

aiagent-check-setup

無料日本語概要

ai-agent-campのローカル環境セットアップを確認するスキル。 「セットアップ確認」「環境チェック」「初期設定できてる?」「インストール確認」「依存関係チェック」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

aiagent-command-router

無料日本語概要

ai-agent-campのスラッシュコマンドをCodexでルーティングするスキル。 「/start-0-1を実行」「スラッシュコマンドを使いたい」「コマンドルーティング」「Cursorのコマンドを使いたい」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

aiagent-env-manager

無料日本語概要

ai-agent-campの環境変数・認証情報を安全に管理するスキル。 「APIキーを設定」「.envを管理」「環境変数の設定」「credential managerを使いたい」「秘密情報の管理」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

aiagent-guide

無料日本語概要

ai-agent-campリポジトリの案内・オリエンテーションスキル。 「リポジトリ案内」「次のレッスンは?」「どこから始める」「ツールの違い」「aiagent概要」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

minicoohei のスキルをすべて見る

このスキルの問題を報告する