google-apps-script について
このスキルは、Google Workspaceサービスを自動化するクラウド型JavaScriptプラットフォーム、Google Apps Scriptのガイドと例を提供します。主要サービス、トリガー、検証、テスト、実装上の指針を扱います。
主な機能
- 01Sheets、Docs、Gmail、Drive、Calendarの自動化
- 02時間ベースおよびイベント駆動型トリガー
- 03付属チェックによるスクリプト検証
- 04バッチ処理、キャッシュ、エラー処理
活用シーン
- 01スプレッドシートデータからのレポート生成
- 02メール、ドキュメント、カレンダー作業の自動化
- 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.jstrigger-setup-template.jsreferences/apps-script-api-reference.mdbest-practices.mdexamples.mdpatterns.mdscripts/validators.py詳細
Google Apps Script
概要
Google Workspace サービスを自動化するクラウドベースの JavaScript プラットフォームです。Sheets、Docs、Gmail、Drive、Calendar などにわたって、OAuth が自動的に統合されたサーバーサイドの V8 ランタイムを提供します。
コアサービス
- SpreadsheetApp - Google Sheets の自動化(読み取り、書き込み、書式設定、データ検証)
- DocumentApp - Google Docs の作成と編集
- GmailApp & MailApp - メール操作(送信、検索、ラベル管理)
- DriveApp - ファイルとフォルダーの管理、共有、権限設定
- CalendarApp - カレンダーの予定、繰り返しの予定、リマインダー
- 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 - 再利用可能な一般的パターン(データ検証、再試行ロジック、フォーム回答の処理)
コメント
Markdown 対応