본문으로 건너뛰기
cccskills
무료GitHub에 공개

zoom

Manage Zoom meetings by finding upcoming sessions, creating meeting links, rescheduling, or cancelling meetings. The skill checks time zones and recurring meeting details, requests approval for changes, and reports meeting IDs and join links.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

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

연동 도구Zoom
설치 방법 보기

이럴 때 유용합니다

  • Check upcoming Zoom meetings
  • Create a meeting and get its join link
  • Reschedule a meeting across time zones
  • Cancel one occurrence of a recurring meeting

포함된 파일(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 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

admin

무료

Help QM organization admins inspect settings, stored memory, conversations, files, and operational records across the organization. It also supports confirmed configuration changes and external user management, while keeping admin grant changes in the dashboard.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Check whether the requester is an organization admin
  • Inspect or update organization and channel settings
  • Investigate agent behavior using transcripts and captured prompts
yc-software/qm1.5만2026년 10월 22일 업데이트

browse

무료

Carry out website tasks in a remote browser, including expense submissions, authorized orders, and retrieving data behind a login. Personal browser profiles preserve sign-ins, while users handle login and verification screens themselves.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Submit an expense with a receipt attachment
  • Order food within an agreed budget
  • Retrieve data from a signed-in website
yc-software/qm1.5만2026년 10월 22일 업데이트

cloud-cli

무료

Sign in to a cloud provider’s command-line tool using a verification URL and one-time code approved on the user’s device. Check installation and account identity, save the login, and run commands within that user’s permissions.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Sign in to a cloud CLI from a separate device
  • Check whether required CLIs and helpers are installed
  • Verify the cloud account before running commands
yc-software/qm1.5만2026년 10월 22일 업데이트

composio

무료

Help users discover and connect apps, then run available app tools through QM’s authenticated backend. It checks connection status, presents consent options, and keeps Composio project keys out of user-facing setup.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Browse available app integrations
  • Connect an app needed for a task
  • Reopen app connection setup
yc-software/qm1.5만2026년 10월 22일 업데이트

Connect supported work apps through browser consent without sharing passwords with the agent. The skill checks available connection methods, provides a single-use authorization link when appropriate, and guides personal Slack account linking.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Connect an administrator-enabled work app
  • Authorize an app through a browser consent link
  • Link a personal Slack account
yc-software/qm1.5만2026년 10월 22일 업데이트

Set up recurring agent work for issues, tickets, or small fixes. The skill tests one real item first, then defines a repeatable procedure, tracks work to prevent duplicates, and holds outputs for human review.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Recurring preparation of fixes for Sentry issues
  • Drafting replies to Front tickets
  • Preparing small performance improvement PRs
yc-software/qm1.5만2026년 10월 22일 업데이트

yc-software의 스킬 모두 보기

이 스킬의 문제 신고