pikastream-video-meeting
Join a Google Meet or Zoom call as a video meeting agent via PikaStreaming. Trigger: user drops a Google Meet or Zoom link, or asks to join a meeting.
Install / Use
npx skills add Pika-Labs/Pika-Skills --skill pikastream-video-meetingInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of pikastream-video-meeting
pikastream-video-meeting scores 89/100 on our quality scale, 1388th of 4,610 Development & Engineering skills we index (top 31%).
Its SKILL.md is 5.3 KB long, well organised into 8 sections with 4 code examples: a solid amount of guidance for an agent.
With 1,163 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated about 3 months ago, so pikastream-video-meeting is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
pikastream-video-meeting compared with similar skills
All 4 of these similar skills score higher than pikastream-video-meeting; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| pikastream-video-meeting (this skill)by Pika-Labs | 89 | 1.2k | 3mo ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 89.0k | 17d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.3k | today | CLAUDE.md |
| ai-job-searchby MadsLorentzen | 100 | 44.8k | today | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.7k | 3d ago | CLAUDE.md |
Frequently asked questions
- How do I install pikastream-video-meeting?
- Run
npx skills add Pika-Labs/Pika-Skills --skill pikastream-video-meeting. The install tabs above show the steps for each supported agent. - Which AI agents does pikastream-video-meeting work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is pikastream-video-meeting safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is pikastream-video-meeting still maintained?
- The repository was last updated about 3 months ago, so pikastream-video-meeting is actively maintained.
Skill content
View source on GitHubname: pikastream-video-meeting description: | Join a Google Meet or Zoom call as a video meeting agent via PikaStreaming. Trigger: user drops a Google Meet or Zoom link, or asks to join a meeting. metadata: openclaw: requires: env: ["PIKA_DEV_KEY"] bins: ["python3"] primaryEnv: "PIKA_DEV_KEY"
PikaStream Video Meeting
Script: SKILL_DIR=skills/pikastream-video-meeting
First-Time Setup
Run once when the skill is first loaded:
pip install -r $SKILL_DIR/requirements.txt
1. Avatar
Check if identity/videomeeting-avatar.png exists and is larger than 1 KB. If it does NOT exist (or is too small):
- Ask the user:
I need an avatar image for the video meeting (a headshot or portrait). Send me an image, or say "generate" and I'll create one for you. - Do not proceed until the user responds. Do not auto-generate.
- User sends an image: save it to
identity/videomeeting-avatar.png. - User says "generate": run:
If the user describes what they want (e.g. "a cartoon cat"), passpython $SKILL_DIR/scripts/pikastreaming_videomeeting.py generate-avatar \ --output identity/videomeeting-avatar.png--prompt "<description>, portrait headshot suitable for video calls". Show the generated image. Ask:Want to keep this avatar or regenerate?Wait for reply. - Anything else: repeat the question from step 1.
The bot must have an avatar before joining a meeting.
2. Voice
Check if life/voice_id.txt exists and is non-empty.
If it exists: read life/voice_config.json. If readable, check cloned_at — if 6+ days ago, warn the user:
Your voice clone was created on {date} and may have expired (cloned voices are deleted after 7 days of non-use). Want to re-clone with a new recording, or try the existing one?
- Re-clone: go to "If it does not exist" below.
- Keep it: use the existing voice ID.
If life/voice_config.json is missing or unreadable, use the voice ID from life/voice_id.txt as-is.
If it does not exist (or user chose to re-clone):
- Ask the user:
I don't have a voice clone yet. You can: (a) send me a voice recording (10s-5min, clear speech) and I'll clone it, or (b) say "skip" to use a default voice. - Do not proceed until the user responds.
- User says "skip": use
English_radiant_girl. - User sends an audio file: run:
python $SKILL_DIR/scripts/pikastreaming_videomeeting.py clone-voice \ --audio <file> --name <bot-name> --noise-reduction- Exit 0: read
life/voice_id.txt. Tell user:Voice cloned. Using {voice_id} for this meeting. - Exit non-zero: tell user cloning failed (include stderr). Ask:
Try again with a different file, or skip and use the default voice?
- Exit 0: read
- Invalid file (not audio): respond
That doesn't look like a supported audio file. Send an mp3, m4a, wav, ogg, flac, or aac file (10s-5min of clear speech).Wait for retry or "skip".
Join Flow
Step 1 — Validate & gather context
Avatar: check identity/videomeeting-avatar.png exists and is > 1 KB. If not, run First-Time Setup above.
Voice: check life/voice_id.txt exists. If not, run the Voice section of First-Time Setup above.
Context: always gather fresh context — do not reuse a stale file from a previous session.
- Read your workspace files (MEMORY.md, daily logs, identity files, etc.).
- If no workspace data is available, ask the user:
What name should the bot use in this meeting?Use their answer for theName:field. Fill in any other sections you know from the conversation. - Synthesize a concise reference card to
/tmp/meeting_system_prompt.txt. Use{name}as the bot's display name (also used as--bot-name). If data is thin (e.g. only a name), keep it short — don't pad with filler.
Synthesize the raw data below into a concise reference card for {name} to use during a voice/video call. Use third-person ("{name}") throughout. Prioritize CONCRETE DETAILS.
PRIORITY ORDER:
1. SPECIFIC FACTS: names, places, dates, numbers, events
2. RECENT ACTIVITY: what happened today/this week — actions, not vibes
3. RELATIONSHIPS: who matters, specific interactions
4. PERSONALITY: 1-2 sentences MAX
CURATION RULES:
- KEEP: anything with a proper noun, a number, a date, or a concrete action
- DROP: vague descriptions, routine status updates, empty entries
- MERGE: if multiple entries say similar things, pick the most vivid one
OUTPUT FORMAT:
**{name}**: [1 sentence — tone/vibe]
**Known facts** (concrete only, max 10):
- [specific fact with names/dates/numbers]
**Recent activity**:
- [built X, fixed Y, went to Z]
**Right now**: [1 line — current activity]
**People**: [name — 1 specific detail each]
RULES:
- Concrete > abstract
- Actions > descriptions
- Do not invent facts
- If data is thin, keep it short
Step 2 — Join
python $SKILL_DIR/scripts/pikastreaming_videomeeting.py join \
--meet-url <url> --bot-name <name> \
--image identity/videomeeting-avatar.png \
--system-prompt-file /tmp/meeting_system_prompt.txt \
--voice-id <id> [--meeting-password <pw>]
Tell the user you're in. Say leave to leave. Don't mention session IDs.
Exit codes: 0 = joined. 6 = insufficient credits (stdout JSON contains a checkout_url — show it to the user).
Leave
python $SKILL_DIR/scripts/pikastreaming_videomeeting.py leave \
--session-id <id from join output>
Related Skills
Agent-Reach
89.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.3kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
44.8kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.7kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
