Skip to content
cccskills
FreePublished on GitHub

gslides-parser

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

The English summary is being prepared. Showing the original description.

See how to install

Files included (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 (original)

Review the instructions the agent will receive before you install.

/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 プロジェクト管理

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

See all skills by minicoohei

Report a problem with this skill