Claude CodeでGAS開発を
効率化する実践プロンプト集
新規実装・リファクタリング・デバッグ・制約を踏まえた設計相談まで、そのまま使えるプロンプト例とコツを紹介します。
Table of Contents
なぜGAS開発とClaude Codeの相性がいいのか
GASにはHtmlServiceのiframe制限や6分の実行時間制限など、通常のWeb開発にはない独自の制約があります。 こうした制約を依頼文の中に明記することで、Claude Codeは制約を踏まえた実装パターンを提案しやすくなります。 対象のシート構成や業務フローを具体的に伝えるほど、手戻りの少ない実装に近づきます。
プロンプト例1:新規スクリプトの実装依頼
対象のシート名・列構成・条件・出力先を具体的に書くのがポイントです。
新規のGoogle Apps Scriptを作りたいです。
対象: 「受注管理」シート(A列:受注日, B列:顧客名, C列:金額, D列:ステータス)
やりたいこと: ステータスが「未処理」の行を検出し、
Slackへ通知を送るスクリプトを書いてください。
1時間おきに自動実行するトリガーの設定コードも含めてください。プロンプト例2:既存コードのリファクタリング依頼
「挙動は変えない」という制約を明記すると、意図しない仕様変更を防ぎやすくなります。
このGASファイルのdoPost関数が長すぎて読みにくいです。
リクエストの検証、データ保存、レスポンス作成の3つの責務に
関数を分割してリファクタリングしてください。
挙動は変えずに、命名をわかりやすくしてください。プロンプト例3:エラーデバッグの依頼
エラーメッセージと発生条件をセットで伝えると、原因調査がスムーズになります。
以下のエラーが発生しました。原因を調査して修正してください。
エラーメッセージ:
Exception: Range not found in DataRange
発生した操作:
「集計」ボタンを押したとき、集計対象のシートに
データが1行もない状態で実行されたと思われます。プロンプト例4:GAS特有の制約を踏まえた設計相談
GAS特有の制約(iframe制限、実行時間制限など)を伝えると、既知の回避パターンを踏まえた提案を受けやすくなります。
GASのHtmlServiceで作ったWebアプリで、
iframe内からカメラを起動しようとしたら
getUserMedia()がブロックされました。
PC・スマホの両方で使える回避策を実装してください。
既存のUIコードは維持したままにしてください。効果的なプロンプトのコツ
対象を具体的にする
シート名・列構成・関数名など、実物の情報を伝える
制約条件を明記する
「挙動は変えない」「既存UIは維持する」など、守ってほしい前提を伝える
期待する完成形を示す
何ができれば依頼が完了なのかを一文で添える
背景の業務目的も伝える
何のための機能かを伝えると、より適切な設計判断をしてもらいやすい
注意点
生成されたコードは、必ずテスト環境で動作確認してから本番のスプレッドシートに反映しましょう。 特に既存データを書き換える処理は、事前にバックアップを取った上で実行するのが安全です。
まとめ
対象・制約・完成形を具体的に伝えることで、Claude CodeによるGAS開発の効率は大きく変わります。 新規実装からリファクタリング、デバッグまで、日々の開発作業に組み込んでみてください。
よくある質問
GASはHtmlServiceの制約や6分の実行時間制限など独自の癖が多く、実装の型がある程度パターン化されています。そのため、制約を明示した上で依頼すると、Claude Codeが実務に沿った実装を提案しやすくなります。
変わります。「スプレッドシートを自動化して」のような曖昧な依頼よりも、対象のシート名・列構成・実行タイミング・出力形式まで具体的に伝えた方が、手戻りの少ない実装になります。
依頼できます。既存コードを読み込ませた上で「この関数を分割してほしい」「命名をわかりやすくしてほしい」といった具体的な改善方針を伝えると、意図に沿った変更をしてもらいやすくなります。
エラーメッセージをそのまま貼り付け、どの操作をしたときに発生したかを添えて伝えるのが効果的です。GASの実行ログ(Logger.log)の内容も一緒に共有すると、原因の特定が早くなります。
そのまま使うのではなく、一度テスト用のスプレッドシートやスクリプトで動作確認してから本番に反映することをおすすめします。特に既存データを書き換える処理は、事前にバックアップを取った上で実行しましょう。