google-tasks について
google-tasksは、Google Tasksのタスクリストとタスクを管理するエージェントスキルです。専用スクリプトでタスクの整理、確認、更新を行い、Zapier管理の接続または直接OAuthトークンで認証できます。
主な機能
- 01タスクリストの作成、名前変更、削除
- 02タスクの検索、作成、更新、完了
- 03タスクの並べ替え、親子関係、移動
- 04タスクの絞り込みと完了項目の整理
活用シーン
- 01タスクリストやサブタスクでToDoを整理
- 02状態、期限、タイトルでタスクを確認
- 03タスクの完了、再開、別リストへの移動
MCP 対応
MCP対応クライアントでツールを直接読み込むか、ローカルに登録したMCPサーバー経由で利用できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zapier/ connectors --skill google-tasksインストール後、Claude Code で/google-tasksを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.mcp.jsonCHANGELOG.mdcli.jscli.tsconnections.tsindex.tsLICENSENOTICENOTICE.mdpackage.jsonREADME.md.claude-plugin/plugin.jsonevals/evals.jsonresults.mdlib/google-tasks.tsreferences/google-tasks-api-gotchas.mduse-as-cli.mduse-as-mcp.mduse-as-recipe.mduse-as-sdk.mduse-with-zapier.mduse-without-zapier.mdscripts/clearCompletedTasks.tscreateTask.tscreateTaskList.tsdeleteTask.tsdeleteTaskList.tsfindTask.tsgetTask.tsgetTaskList.ts詳細
Google Tasks
Google Tasks 用のエージェント呼び出し可能なツールです(Google Tasks API v1)。タスクリスト(一覧表示、取得、作成、名前変更、削除)とタスク(一覧表示、タイトルで検索、取得、作成、更新、完了/再開、並べ替え/親の変更/移動、削除、完了済みタスクの消去)を管理できます。Zapier 管理の Google 接続(推奨)または直接の OAuth トークンを使って、一度認証します。このコネクターは、安定した予測可能な入出力を備えた、単一目的のスクリプト 13 個としてタスク機能全体を提供します。トリガーはありません(ポーリングは行いません)。
Google Tasks 用の独立した非公式コネクターです。Google Tasks との提携、承認、スポンサー関係はありません。「Google Tasks」は、コネクターの連携先サービスを示す目的でのみ使用している、所有者の商標です。
こんなときに使う
- ToDo を記録して整理する — タスクを作成します(サブタスクとして、または指定した位置に作成することもできます)。タスクリストの作成や名前変更もできます。
- リストの内容を確認する — 未完了(または完了済み)のタスクを一覧表示し、タイトルでタスクを検索して、タスクの詳細を取得します。
- 作業を進める — タスクを完了または再開にし、タスクの順序や親を変更したり、別のリストに移動したりします。
- 整理する — タスクやリストを削除するか、リスト内の完了済みタスクをすべて消去(非表示に)します。
- ユーザーが Google Tasks や自分の ToDo リストを管理したい場合は、Google Tasks の名前を明示していなくても使用してください。
セットアップ
これは agentskills.io のスキルです。
コネクターがまだスキルとしてインストールされていない場合は、まず npx skills add zapier/connectors --skill google-tasks(またはお使いのハーネス独自のスキルインストール方法)でインストールしてから、ここに進んでください。スキルをインストールすると、依存関係ではなく、これらのファイルがコピーされます。CLI、ローカル MCP サーバー、または zapier-sdk の認証コマンドを実行する前に、ここで一度 npm install --omit=dev を実行してください。公開済みパッケージを自分のプロジェクトで依存関係としてインポートする場合はどうでしょうか。その場合、npm install によって必要なものはすでにすべて解決されます。詳しくは references/use-as-sdk.md を参照してください。
代わりにリポジトリのソースを確認したい場合(references/ の閲覧、このコネクターのテスト実行、変更など)は、スコープを限定した git clone について README.md を参照してください。
このコネクターの実行には Node.js 22.18+ が必要です。実行方法に合ったリファレンスを選び、ほかの作業を始める前に読み込んでください。
| 使用環境... | 読み込むもの |
|---|---|
MCP 対応クライアント — ツールがすでに読み込まれている場合(例:mcp__google-tasks__<tool>)や、自分でローカルサーバーを登録する場合(またはユーザーに案内する場合) | references/use-as-mcp.md |
ターミナル/サブプロセスへのアクセス(node を実行できる) | references/use-as-cli.md |
| 自分のコードのみを使い、このパッケージを依存関係としてインポートする場合 | references/use-as-sdk.md |
| ツールにもターミナルにもアクセスできず、このパッケージもインポートできない場合 — Google Tasks API を直接呼び出す独自のコードを記述する場合(例:コード実行サンドボックス) | references/use-as-recipe.md |
スクリプト
すべてのスクリプトは、単一の google-tasks 接続を使用します。
| スクリプト | スクリプト名 | 接続 | 説明 |
|---|---|---|---|
scripts/listTaskLists.ts | listTaskLists | google-tasks | ユーザーのタスクリスト(ID+タイトル)を一覧表示します。任意の tasklist 入力を解決するために使用します。 |
scripts/getTaskList.ts | getTaskList | google-tasks | ID で単一のタスクリストを取得します。 |
scripts/createTaskList.ts | createTaskList | google-tasks | 新しいタスクリストを作成します。 |
scripts/updateTaskList.ts | updateTaskList | google-tasks | タスクリストの名前を変更します(編集可能なフィールドはタイトルのみです)。 |
scripts/deleteTaskList.ts | deleteTaskList | google-tasks | タスクリストと、その中のすべてのタスクを削除します(元に戻せません)。 |
scripts/listTasks.ts | listTasks | google-tasks | リスト内のタスクを一覧表示/検索します。デフォルトでは未完了のタスクのみを対象とし、完了状況/期限/更新日時で絞り込めます。 |
scripts/findTask.ts | findTask | google-tasks | リスト内でタイトルからタスクを検索します(完全一致を優先)。タイトルをタスク ID に解決します。 |
scripts/getTask.ts | getTask | google-tasks | ID で単一のタスクを取得します。 |
scripts/createTask.ts | createTask | google-tasks | タスクを作成します(サブタスクとして、または指定した位置に作成することもできます)。 |
scripts/updateTask.ts | updateTask | google-tasks | タスクを更新します。status を完了に設定するか、再開できます。 |
scripts/moveTask.ts | moveTask | google-tasks | タスクの位置を変更したり、親を変更したり、別のリストに移動したりします。 |
scripts/deleteTask.ts | deleteTask | google-tasks | タスクを完全に削除します。 |
scripts/clearCompletedTasks.ts | clearCompletedTasks | google-tasks | リスト内の完了したタスクをすべて非表示にします(復元可能で、破壊的な操作ではありません)。 |
曖昧さの解消と拒否
- 名前でタスクまたはリストを特定する場合。 タイトルで指定されたタスクを更新、完了、移動、または削除する前に、まず特定してください。
findTaskは最も一致するタイトルを返します。候補を確認するにはlistTasksを使用してください。リスト内に同じタイトル(大文字と小文字を区別しない完全一致)のタスクが 2 件以上ある場合は、黙って 1 件を選ばないでください。期限、ステータス、メモなど、見分けられる項目を添えて候補を列挙し、どのタスクか確認してください。一致するタスクが 1 件だけなら、そのタスクに対して操作してください。必要以上に確認を求めないでください。名前でリストを指定する場合も、listTaskListsに同じルールを適用してください。 - 対応していない操作は、その旨を伝え、実行したふりをしないでください。 このコネクターでは、繰り返しタスクの作成や編集はできません(API に繰り返し設定のフィールドがなく、繰り返しの管理は Google Tasks アプリでのみ行えます)。タスクの時刻やリマインダーの設定もできません(
dueは日付のみで、時刻は破棄されます)。また、positionを書き込んで順序を変更することもできません(moveTaskを使用してください)。これらの操作を求められた場合は、対応していないと伝えて終了してください。別のツールで代用したり、実行していない操作を成功したと報告したりしないでください。
認証
すべてのシェイプで、認証情報そのものではなく、接続の セレクター([<resolver>:]<value> 文字列)を渡します。すべてのコネクターで zapier:<connection-id>(Zapier 管理の認証。Zapier の認証、リトライ、ガバナンスレイヤーを経由します)を使用できます。また、コネクターによっては、1 つ以上の直接トークン用リゾルバーも使用できます(名前と数はコネクターによって異なります)。推測で判断せず、このコネクター固有のリゾルバーを確認してください。<resolver>: プレフィックスは省略可能です。プレフィックスのない値は、その値を受け取る最初のリゾルバーに渡されます。UUID 形式の値は、必ず zapier: が受け取ります。各スクリプトでは、必要な接続と、使用できるリゾルバーを宣言します。接続を渡す正確な構文と、このコネクターのリゾルバー一覧を確認する方法はシェイプによって異なります。上で読み込んだリファレンスを参照してください。
すでに設定済みのものを確認しますか?確認のために環境変数の値を出力しないでください。env または env | grep <name> は名前とともに値も表示するため、設定されている場合は有効な認証情報がトランスクリプトに漏れる可能性があります。名前だけを確認する(env | cut -d= -f1 | grep -i <name>)か、既知の名前を直接テストしてください([ -n "$VAR_NAME" ])。
接続がまだありませんか?いずれかを選び、取得するにはそのリファレンスに記載された手順に従ってください。ユーザーが接続 ID やトークンを覚えているかのように、ただ尋ねてはいけません。
| 読み込む内容 | |
|---|---|
| 認証情報を直接渡す | references/use-without-zapier.md |
| Zapier 接続経由で認証情報を渡す | references/use-with-zapier.md |
出力形式
すべてのスクリプトは { data, meta } エンベロープを返します。
data— スクリプトの結果(outputSchemaで宣言された形式。シェイプ内でスクリプトの正確なスキーマを確認する方法は、上で読み込んだリファレンスを参照してください)。meta.outputDataValidation—dataの検証結果:{ skipped: false, droppedPaths: null }— 検証済みで、削除されたものはありません。{ skipped: false, droppedPaths: [...], instruction }— 検証済みですが、該当するパスはdataから削除されています。これは、スクリプトが API から返したものの、outputSchemaで宣言されていないフィールドです。必要な場合は、出力検証をスキップして再実行してください。{ skipped: true }— 検証がスキップされ、dataは未加工のまま、検証されていないスクリプト出力です。
削除されたフィールドを読む/skipOutputDataValidation。 未加工で未検証の結果を受け取るには、出力検証を無効にしてください(正確な構文はシェイプによって異なります。上で読み込んだリファレンスを参照してください)。入力検証はスキップされません。
結果を絞り込む/filterOutputData。 大きな結果を必要なフィールドに絞り込むには、data を後処理する jq 式を渡してください(正確な構文はシェイプごとに異なります)。jq は { data, meta } エンベロープではなく data のみに対して実行されるため、data を起点として記述してください(スクリプトの --help、またはシェイプに相当するコマンドを実行すると、出力スキーマを確認できます)。変換された値が data に置き換わり、meta は保持されます。また、結果は出力スキーマに対して再検証されません。
参考資料
該当する領域で作業する前に、対応する参考資料ファイルを読み込んでください。
| 参考資料 | 対象 | 次の場合に読み込んでください |
|---|---|---|
| references/google-tasks-api-gotchas.md | API の癖とエッジケース | タスクまたはタスクリストの呼び出しが予期しない動作をする場合 — 期日から時刻が失われる、position/並べ替え、status/完了状態がサーバーによって管理される、非表示のタスクと削除済みタスクの違い、サブタスクのネスト制限、割り当て済みタスク(Docs/Chat から)、ページネーション/ページサイズまたはユーザーごとの制限、クォータ/レート制限(429/クォータの理由)、認証スコープ(401/403 insufficientPermissions)エラーなど。 |