agentleFS
g-shevchenkog-shevchenko/utility-skills/skills/zoom-host/SKILL.md

zoom-host

Skill0 starsChanged 2 months agoMITView on GitHub

Create client Zoom meetings on the Pro (tefggl) as a shared host server — no extra seats. Public join_url for clients; facilitator fetches start_url near start via Credential Gateway. Triggers: create zoom meeting, заведи зум, invite to zoom, host link, zoom для клиента.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use Greg’s Zoom Pro (your-account@gmail.com) as a team host server without buying Licensed seats.

    line 8
  2. Very specific:

    Never put start_url in client email, ICS, Notion, Telegram to clients.

    line 36
  3. Very specific:

    If the user names a client without email → notion.crm.contacts.lookup / CLI lookup --query on CRM «Контакты контрагентов» (filtered Notion …

    line 44
  4. Very specific:

    When MM is about to start: zoom.meeting.get-host-link — show host pack privately.

    line 48

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

zoom-host — shared Zoom Pro host server

Use Greg’s Zoom Pro (your-account@gmail.com) as a team host server without buying Licensed seats.

Canonical product docs: private repo your-zoom-proxy.
Execution plane: Credential Gateway capabilities zoom.meeting.* (adapters in your-credential-gateway).
Architecture gate: the architecture doc.
Account bootstrap: your-zoom-proxy → docs/ZOOM_ACCOUNT_HOST_SERVER.md.

When to use

  • MM asks to create a Zoom for a client at a specific time and invite emails.
  • Need join link for clients + host start link for the facilitator (Kristina, etc.).
  • Cloud recording must land on tefggl (existing zoom→YT→Notion).
  • «Дошло ли приглашение?» → scoped gmail.zoom-invite.check (verification mailbox only).

When NOT to use

  • Webinar-hardened Greg-only webinars (waiting room ON) → old runbook profile.
  • Manual recording download → scripts/zoom_download_recording.mjs.
  • Giving anyone Zoom S2S secrets.
  • Full Gmail search / mailbox dump — forbidden; only meeting-scoped invite check.

Security (non-negotiable)

PackContentsWho
Publictopic, time, join_url, meeting id, passcodeClients / invitees
Hoststart_url, dynamic_host_keyFacilitator only via zoom.meeting.get-host-link
  • Never put start_url in client email, ICS, Notion, Telegram to clients.
  • start_url expires ~2 hours — create early, get-host-link near start.
  • Pro = 1 concurrent meeting — always check-slot first.
  • Invite delivery check reads only Zoom-invite mail for a meeting_id in the gateway verification mailbox (your-account@gmail.com). Cannot confirm other inboxes unless that address was invited as canary or OAuth for that mailbox is added.

Agent workflow

  1. Parse topic, start_time (ISO UTC or with timezone), duration (default 60), invitee emails.
  2. If the user names a client without email → notion.crm.contacts.lookup / CLI lookup --query on CRM «Контакты контрагентов» (filtered Notion query, no full dump).
  3. zoom.meeting.check-slot — if available: false, tell MM who/what overlaps; do not create unless they insist with force_overlap (warn hard).
  4. zoom.meeting.create with idempotency key — show public pack only + hint to fetch host link later.
  5. Optionally draft client invite text from public pack (join_url only).
  6. When MM is about to start: zoom.meeting.get-host-link — show host pack privately; instruct: open start_url → you are host → Make Co-Host for others if needed → confirm cloud recording.
  7. Optional delivery proof: gmail.zoom-invite.check / CLI check-invite --meeting-id … (only verification mailbox).
  8. Cancel: zoom.meeting.cancel.

Client (CLI)

From your-zoom-proxy:

export ZOOM_HOST_GATEWAY_URL='https://credential-gateway-staging.up.railway.app'
# bearer in ~/.config/hwai-zoom-host/bearer (chmod 600)
node scripts/zoom-host-client.mjs lookup --query 'Victor'
node scripts/zoom-host-client.mjs create --topic 'X <> Client' --start-time '2026-07-30T12:00:00.000Z' --invite a@b.com
node scripts/zoom-host-client.mjs get-host-link --meeting-id 123
node scripts/zoom-host-client.mjs check-invite --meeting-id 123

Team onboarding: docs/TEAM_ONBOARDING.md + Claude setup prompt: docs/CLAUDE_CODE_SETUP_PROMPT.md.

Meeting defaults (shared_host_no_seats)

join_before_host: true, jbh_time: 0, waiting_room: false, auto_recording: cloud, no alternative_hosts.

Related

  • Runbook dual profiles: the runbook
  • Recording → YT: scripts/n8n_zoom_recording_to_youtube_blueprint.md

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.