Skip to content
gas-automation logo

Google Apps Script開発スキル

gas-automation

Google Apps Script開発スキル。GAS作成、スプレッドシート自動化、Google API連携時に使用。

SKILL.md

Full skill instructions

Google Apps Script開発スキル

基本方針

  • JSDoc形式のコメント必須
  • try-catchでエラーハンドリング
  • ログ出力: console.log / Logger.log
  • トリガー設定を考慮した設計

標準テンプレート

/​**
 * メイン処理
 * @description 処理の説明
 */
function main() {
  try {
    const ss = SpreadsheetApp.getActiveSpreadsheet();
    const sheet = ss.getSheetByName('シート名');

    // 処理

    console.log('処理完了');
  } catch (e) {
    console.error('エラー: ' + e.message);
    throw e;
  }
}

よく使うパターン

スプレッドシート操作

// 最終行取得
const lastRow = sheet.getLastRow();

// 範囲取得
const range = sheet.getRange(row, col, numRows, numCols);

// 値の一括取得/設定
const values = range.getValues();
range.setValues(values);

外部API連携

/​**
 * 外部APIを呼び出す
 * @param {string} url - APIエンドポイント
 * @returns {Object} レスポンスデータ
 */
function fetchApi(url) {
  const options = {
    method: 'get',
    headers: {
      'Content-Type': 'application/​json'
    },
    muteHttpExceptions: true
  };

  const response = UrlFetchApp.fetch(url, options);
  return JSON.parse(response.getContentText());
}

実行時間制限対策

  • 6分制限を意識した分割処理
  • PropertiesServiceで状態保存
  • トリガーでの継続実行
/​**
 * 処理状態を保存
 * @param {number} lastIndex - 最後に処理したインデックス
 */
function saveProgress(lastIndex) {
  const props = PropertiesService.getScriptProperties();
  props.setProperty('lastIndex', lastIndex.toString());
}

/​**
 * 処理状態を取得
 * @returns {number} 最後に処理したインデックス
 */
function getProgress() {
  const props = PropertiesService.getScriptProperties();
  const lastIndex = props.getProperty('lastIndex');
  return lastIndex ? parseInt(lastIndex, 10) : 0;
}

トリガー設定

/​**
 * 時間ベースのトリガーを設定
 */
function createTimeTrigger() {
  ScriptApp.newTrigger('main')
    .timeBased()
    .everyHours(1)
    .create();
}

Examples

  • /​gas-automation スプレッドシートのデータを自動処理したい → getValues/​setValuesパターンを提供
  • /​gas-automation 毎日決まった時間に実行したい → トリガー設定のテンプレートを提供
  • 外部APIからデータを取得したい → UrlFetchAppパターンを提供
  • 処理が6分で止まる → 分割処理+PropertiesService保存パターンを提供

Guidelines

  • すべての関数にJSDoc形式のコメントを付ける
  • try-catchで例外処理を必ず実装
  • 6分の実行時間制限を意識した設計にする
  • 状態保存にはPropertiesServiceを使用
  • ログ出力はconsole.logまたはLogger.logを使用
  • スプレッドシート操作はgetValues/​setValuesで一括処理(セル単位アクセスは遅い)
  • API呼び出しにはmuteHttpExceptions: trueを設定してエラーハンドリング

More Productivity & Planning skills

brainstorming logo
Productivity & Planning

brainstorming

Structured design dialogue that validates ideas before implementation begins.

295.4K 385.7K
View
ui-ux-pro-max logo
Productivity & Planning

ui-ux-pro-max

Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.

133.1K 383.9K
View
writing-plans logo
Productivity & Planning

writing-plans

Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.

295.4K 268K
View
using-superpowers logo
Productivity & Planning

using-superpowers

Introduction to the obra skills system with mandatory skill invocation rules and best practices.

295.4K 259.8K
View
executing-plans logo
Productivity & Planning

executing-plans

Execute a written implementation plan with critical review and task checkpoints.

295.4K 229.1K
View
dispatching-parallel-agents logo
Productivity & Planning

dispatching-parallel-agents

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View
using-git-worktrees logo
Productivity & Planning

using-git-worktrees

Isolated git worktrees with smart directory selection and safety verification.

295.4K 205.2K
View
webapp-testing logo
Productivity & Planning

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

179.7K 170.6K
View
content-strategy logo
Productivity & Planning

content-strategy

Plan searchable and shareable content that drives traffic, builds authority, and generates leads.

53.3K 150.9K
View
repo-intake-and-plan logo
Productivity & Planning

repo-intake-and-plan

README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.

497 139.6K
View
marketing-ideas logo
Productivity & Planning

marketing-ideas

Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.

53.3K 137.2K
View
site-architecture logo
Productivity & Planning

site-architecture

Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.

53.3K 112.8K
View

Productivity AI tools

Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View
SaveDay logo
Productivity

SaveDay

Capture, organize, and utilize your knowledge effortlessly.

Free
View
Any Summary logo
Productivity

Any Summary

Instant Summaries of Audio & Video Interviews with AnySummary

Freemium
View
M
Productivity

Map This

Transform PDFs into engaging mind maps.

Freemium
View
ChatPDF logo
Productivity

ChatPDF

Chat with any PDF instantly

Free
View
I
Productivity

intellisay

Create an optimal daily plan using your voice

Paid
View
A
Productivity

Aurora AI

A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.

Paid
View
AskYourPDF logo
Productivity

AskYourPDF

AskYourPDF Pricing Plans: Tailored to Your Needs

Free
View