本文へ移動
cccskills
無料GitHub で公開日本語紹介

zoom

Zoomの会議予定の確認から新規作成、日時変更、キャンセルまでを支援します。タイムゾーンや定期会議の扱いを確認し、参加リンクや会議IDを案内するスキルです。

原文原文の説明を見る

Find, create, reschedule, and cancel the user's Zoom meetings through per-user OAuth.

連携ツールZoom
インストール方法を見る

こんなときに便利

  • 今後のZoom会議を確認したいとき
  • 会議を作成して参加リンクを得たいとき
  • 時差を考慮して会議を変更したいとき
  • 定期会議の一回だけ中止したいとき

日本語での紹介

できること

Zoomの会議予定を調べ、新しい会議の作成、日時変更、キャンセルを支援します。会議IDや参加リンクから対象を確認し、開始時刻、タイムゾーン、所要時間を扱います。定期会議では、個別の開催回とシリーズ全体を区別して操作します。作成・変更後は会議IDや参加リンク、変更内容を案内します。

こんなときに便利

直近の会議を確認したいときや、打ち合わせ用のリンクを用意したいときに向いています。海外の相手との予定調整や、定期会議の一回だけを変更する場面にも使えます。書き込み操作は、対象や日時などの具体的な内容を提示して承認を得てから実行する流れです。

使い方の例

  • 「今後のZoom会議を一覧にして」
  • 「日本時間の11月2日10時から30分の会議を作って」
  • 「この定期会議の次回分だけを変更して」

注意点

ユーザーごとのOAuth接続と、Zoom APIへのアクセスが必要です。カレンダーへの登録には別のコネクターが必要で、自動同期はされません。Zoomで日時変更やキャンセルをしても参加者には通知されません。主催者用のstart_urlは共有しない設計です。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(1)

  • SKILL.md6.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Zoom

Use this skill when the user asks for a Zoom meeting or link, wants to know what Zoom meetings they have coming up, or wants to move or cancel one.

This is an OAuth connector. The resolved user's Zoom token already lives on your computer as an environment variable (the way a logged-in CLI's cached credential would):

  • $VAULT_TOKEN_API_ZOOM_US — for api.zoom.us

Pass it as -H "Authorization: Bearer $VAULT_TOKEN_API_ZOOM_US". Never ask the user for a token, log it, or use another principal's credential.

Per-user connector tokens are present in the user's own DM and personal scheduled tasks, and in a shared room or channel automation only when the user has opened their connections there. If the variable is empty in a shared room, ask them to DM you instead of telling them to reconnect; empty in their DM means they haven't connected Zoom — point them to the Connectors page.

Zoom error codes: 124 (invalid access token) means they need to reconnect Zoom. 4711 ("does not contain scopes") means their token lacks that scope — if the org's Zoom app already has it they reconnect, otherwise an admin adds it to the app first. 3001 means the meeting does not exist or is not theirs.

Writes require approval

Creating, updating, or deleting a meeting is a write. Show the exact topic, start time with timezone, and duration (or which meeting changes and how) and ask for approval before running it. Reads need no approval. In a shared channel, don't post the passcode or full join_url unless everyone there may join.

Never share start_url. It embeds a host token that lets anyone start the meeting as the user. Responses that carry it go through jq below so it never reaches your output.

Find meetings

Who the user is, and their default timezone:

curl -sS 'https://api.zoom.us/v2/users/me' \
  -H "Authorization: Bearer $VAULT_TOKEN_API_ZOOM_US" | jq '{id, email, timezone, code, message}'

Upcoming meetings (the next six months; keep fetching with next_page_token until it is empty; times are UTC):

curl -sS --get 'https://api.zoom.us/v2/users/me/meetings' \
  -H "Authorization: Bearer $VAULT_TOKEN_API_ZOOM_US" \
  --data-urlencode 'type=upcoming' \
  --data-urlencode 'page_size=300' \
  | jq '{next_page_token, meetings: [.meetings[]? | {id, topic, type, start_time, duration, timezone, host_id, join_url}], code, message}'

One meeting — a recurring series appears once in the list; its occurrences (skip any with status: deleted) come from here:

curl -sS "https://api.zoom.us/v2/meetings/$MEETING_ID" \
  -H "Authorization: Bearer $VAULT_TOKEN_API_ZOOM_US" \
  | jq '{id, topic, type, start_time, duration, timezone, host_email, join_url, password, occurrences, code, message}'

A join URL carries the meeting ID: https://us06web.zoom.us/j/85012345678?pwd=... is meeting 85012345678. A type of 4, or a /my/<name> link, is the user's personal meeting room, shared by every meeting that uses it — never reschedule or delete it.

Create a meeting

Send start_time as local wall-clock time without an offset (2026-11-02T10:00:00) plus the IANA timezone, and Zoom converts it. Use the timezone the user gives, the calendar event's, or their Zoom profile's; the sandbox clock is UTC, so never assume it. Calendars that report Windows zone names ("Pacific Standard Time") need mapping to IANA (America/Los_Angeles). duration is in minutes.

curl -sS -X POST 'https://api.zoom.us/v2/users/me/meetings' \
  -H "Authorization: Bearer $VAULT_TOKEN_API_ZOOM_US" \
  -H 'content-type: application/json' \
  --data '{"topic":"Team sync","type":2,"start_time":"2026-11-02T10:00:00","timezone":"America/Los_Angeles","duration":30}' \
  | jq '{id, join_url, password, start_time, duration, timezone, code, message, errors}' > zoom-meeting.json
cat zoom-meeting.json

The returned start_time is UTC — check it is the instant you meant, because Zoom silently uses the current time for a missing or past value. The user is the host; leave settings out unless they ask, so the account's defaults (waiting room, passcode) apply. If the response was lost, list upcoming meetings before creating again — never create a duplicate.

For a recurring calendar event, create type: 3 (one link, no fixed time) and leave out start_time. Moving or cancelling one occurrence of the event needs no Zoom change; delete the meeting only when the whole series ends.

Reschedule or cancel

Get the meeting first and confirm it is the one the user means. If host_email is not the user's, it belongs to someone who gave them scheduling rights — say whose meeting it is before changing it. For a recurring meeting with fixed times (type: 8), add ?occurrence_id=<id> (from occurrences) to change or delete one occurrence; without it, the whole series changes.

Reschedule, with the same time rules as create:

curl -sS -w '\n%{http_code}\n' -X PATCH "https://api.zoom.us/v2/meetings/$MEETING_ID" \
  -H "Authorization: Bearer $VAULT_TOKEN_API_ZOOM_US" \
  -H 'content-type: application/json' \
  --data '{"start_time":"2026-11-02T11:00:00","timezone":"America/Los_Angeles","duration":45}'

204 comes back even when Zoom ignored a past start_time, so get the meeting again and confirm the new time before reporting it.

Cancel (204 means done):

curl -sS -w '\n%{http_code}\n' -X DELETE "https://api.zoom.us/v2/meetings/$MEETING_ID" \
  -H "Authorization: Bearer $VAULT_TOKEN_API_ZOOM_US"

Zoom doesn't notify attendees of either change.

With a calendar

This skill only talks to Zoom. To put a meeting on the user's calendar, use whichever calendar connector they have:

  • Check the event before creating a meeting: the user must be able to edit it (usually as organizer), and if it already has a video link, ask before adding another.
  • Add the join details without overwriting anything: append the join_url, meeting ID, and passcode to the description, and fill the location only if it is empty.
  • All-day events have no time — ask when the meeting is. For a recurring event, ask whether they mean one occurrence or the series.
  • Nothing keeps the two in sync. When the event moves or is cancelled, update or delete the meeting too (the meeting ID is in the event's join URL); when you move or cancel a meeting that is on an event, update the event too, or tell the user that attendees weren't told.
  • If the calendar step fails after the meeting was created, report the meeting ID and offer to delete it.

Report the meeting ID, the join_url, and what changed.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

admin

無料概要あり

組織管理者の依頼を受け、QMの組織全体や個人・チャンネルごとの設定、記憶、会話履歴、監査情報を調べ、確認を経て設定変更や外部ユーザー管理を行うスキル。

  • 自分が組織管理者か確認したいとき
  • 組織やチャンネルの設定確認・変更
  • 会話履歴と送信内容から動作原因を調査
yc-software/qm1.5万2026年10月22日 更新

browse

無料概要あり

リモートの実ブラウザを操作し、経費申請や注文、ログイン後のデータ取得を進めます。本人ごとのプロファイルにログイン状態を保存し、継続利用するスキルです。

  • 領収書を添付した経費申請
  • 合意した予算内でのフード注文
  • ログイン後のサイトからデータ取得
yc-software/qm1.5万2026年10月22日 更新

cloud-cli

無料概要あり

AWS・Google Cloud・AzureなどのCLIに、利用者が別の端末で承認する方式でログインします。導入状況と実行アカウントを確認し、本人の権限で操作するスキルです。

  • 別端末からクラウドCLIにログイン
  • CLIや補助ツールの導入状況確認
  • 操作前にクラウドアカウントを確認
yc-software/qm1.5万2026年10月22日 更新

composio

無料概要あり

外部アプリの接続候補や設定画面を案内し、本人の同意と接続状態を確認したうえで、QMの認証済みバックエンド経由でアプリ操作を進めるスキルです。

  • 連携可能なアプリを探したいとき
  • 作業に必要なアプリの接続
  • アプリ接続の設定を開き直すとき
yc-software/qm1.5万2026年10月22日 更新

connect-apps

無料概要あり

管理者が有効にした外部アプリを、ブラウザの同意画面から接続するスキルです。使い捨てリンクによる認証や、個人のSlackアカウントの連携を案内します。

  • 管理者が有効にしたアプリの接続
  • ブラウザの同意リンクで認証したいとき
  • 個人のSlackアカウントの連携
yc-software/qm1.5万2026年10月22日 更新

define-loop

無料概要あり

定期的に届く課題や問い合わせをエージェントが継続処理し、成果物を人の確認待ちにする仕組みを、実案件の試運転から手順書・実行条件まで整えるスキル。

  • Sentryの課題を継続的に修正したいとき
  • Frontの問い合わせ返信案の作成
  • 小規模な性能改善PRの準備
yc-software/qm1.5万2026年10月22日 更新

yc-software のスキルをすべて見る

このスキルの問題を報告する