mcpField
G
google-apps-script

google-apps-script

github.com/henkisdabro生産性93140 回インストール4 週間前に更新
リポジトリ

google-apps-script について

このスキルは、Google Workspaceサービスを自動化するクラウド型JavaScriptプラットフォーム、Google Apps Scriptのガイドと例を提供します。主要サービス、トリガー、検証、テスト、実装上の指針を扱います。

主な機能

  1. 01Sheets、Docs、Gmail、Drive、Calendarの自動化
  2. 02時間ベースおよびイベント駆動型トリガー
  3. 03付属チェックによるスクリプト検証
  4. 04バッチ処理、キャッシュ、エラー処理

活用シーン

  1. 01スプレッドシートデータからのレポート生成
  2. 02メール、ドキュメント、カレンダー作業の自動化
  3. 03複数のトリガーを使った大規模ジョブの実行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/henkisdabro/wookstar-claude-plugins --skill google-apps-script

インストール後、Claude Code で/google-apps-scriptを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
spreadsheet-automation-template.js
trigger-setup-template.js
references/
apps-script-api-reference.md
best-practices.md
examples.md
patterns.md
scripts/
validators.py

詳細

Google Apps Script

概要

Google Workspace サービスを自動化するクラウドベースの JavaScript プラットフォームです。Sheets、Docs、Gmail、Drive、Calendar などにわたって、OAuth が自動的に統合されたサーバーサイドの V8 ランタイムを提供します。

コアサービス

  1. SpreadsheetApp - Google Sheets の自動化(読み取り、書き込み、書式設定、データ検証)
  2. DocumentApp - Google Docs の作成と編集
  3. GmailApp & MailApp - メール操作(送信、検索、ラベル管理)
  4. DriveApp - ファイルとフォルダーの管理、共有、権限設定
  5. CalendarApp - カレンダーの予定、繰り返しの予定、リマインダー
  6. Triggers & ScriptApp - 時間ベースおよびイベント駆動型の自動化

クイックスタート

function generateWeeklyReport() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Data');
  const data = sheet.getRange('A2:D').getValues();

  const report = data.filter(row => row[0]);
  const summarySheet = ss.getSheetByName('Summary') || ss.insertSheet('Summary');
  summarySheet.clear();
  summarySheet.appendRow(['Name', 'Value', 'Status']);
  report.forEach(row => summarySheet.appendRow([row[0], row[1], row[2]]));

  MailApp.sendEmail({
    to: Session.getEffectiveUser().getEmail(),
    subject: 'Weekly Report Generated',
    body: `Report generated with ${report.length} records.`
  });
}

ベストプラクティス

  • 一括操作 - 範囲をまとめて読み書きし、ループ内でセルを1つずつ処理しないでください
  • データのキャッシュ - 頻繁にアクセスするデータには CacheService(TTL 25 分)を使用してください
  • エラー処理 - 操作を try/catch で囲み、監査証跡のためにエラーをシートに記録してください
  • 制限の遵守 - 実行タイムアウトは 6 分です。大規模なジョブは複数のトリガーに分割してください
  • スコープの最小化 - appsscript.json では必要な OAuth 権限のみをリクエストしてください
  • 永続ストレージ - 設定と状態の保存には PropertiesService を使用してください
  • 入力の検証 - プロパティにアクセスする前に、オブジェクトが存在することを必ず確認してください

各プラクティスの詳しい例については、references/best-practices.md を参照してください。

検証とテスト

デプロイ前のチェックには、scripts/ の検証スクリプトを使用してください。

  • scripts/validators.py - スプレッドシート操作、範囲表記、データ構造を検証します

Logger.log() でデバッグし、View > Logs(Cmd/Ctrl + Enter)から出力を確認してください。ステップ実行によるデバッグには Apps Script エディタのブレークポイントを使用してください。

他のスキルとの連携

  • google-ads-scripts - レポート用に Google Ads のデータを Sheets にエクスポートします
  • google-tagmanager - Apps Script によってトリガーされるトラッキングイベントについて GTM と連携します
  • google-analytics - Apps Script から GA4 BigQuery エクスポートをクエリし、結果を Sheets に書き込みます

トラブルシューティング

問題解決策
実行タイムアウト作業を小さなバッチに分割するか、複数のトリガーを使用してください
認証エラーマニフェストファイルの OAuth スコープを確認してください
クォータ超過API 呼び出しの頻度を下げ、キャッシュを使用してください
NULL 参照エラープロパティにアクセスする前に、オブジェクトが存在することを確認してください

参考資料

詳細な内容は、参照ファイルから必要に応じて読み込めます。

  • references/apps-script-api-reference.md - すべての組み込みサービス、トリガー、認証、パフォーマンス最適化を網羅した完全な API リファレンス
  • references/examples.md - 本番環境向けのコード例(スプレッドシートのレポート、Gmail の自動返信、ドキュメント生成、トリガー設定)
  • references/best-practices.md - 一括操作、キャッシュ、エラー処理、スコープ、永続化に関するコードブロック付きの詳しいベストプラクティス
  • references/patterns.md - 再利用可能な一般的パターン(データ検証、再試行ロジック、フォーム回答の処理)

コメント