← Back to Skills Marketplace
sumansid

Open Utter (Meeting Bot)

by Suman Sigdel · GitHub ↗ · v1.0.1
cross-platform ⚠ suspicious
441
Downloads
0
Stars
1
Active Installs
2
Versions
Install in OpenClaw
/install openutter
Description
Headless Google Meet bot that joins meetings and captures live captions as transcripts.
Usage Guidance
This skill does what it claims, but it stores and reads sensitive local session data (Playwright storageState in ~/.openutter/auth.json and auth-meta.json) that let the bot join as your Google account without host approval. The registry metadata did not declare these config paths or the persistent credential-like file. Before installing: 1) Only use --auth (authenticated mode) if you fully trust the skill's source — otherwise prefer guest mode (--anon) so nothing stores your Google session. 2) Inspect the scripts yourself (they're included) and consider running them in an isolated VM or container. 3) If you authenticate, be aware auth.json contains cookies/localStorage; delete it when done or restrict its filesystem permissions. 4) The skill sends screenshots and messages using the local openclaw CLI when given a channel/target; confirm you want meeting screenshots/transcripts forwarded to chat. 5) If you need higher assurance, ask the publisher to declare the required config paths and explain how auth.json is protected, or prefer a skill that does not persist your Google credentials.
Capability Analysis
Type: OpenClaw Skill Name: openutter Version: 1.0.1 The skill bundle is classified as suspicious due to a shell injection vulnerability in `scripts/utter-join.ts`. The `execSync` call, which sends messages via `openclaw message send`, directly interpolates the `opts.channel` parameter without proper sanitization or JSON stringification. This allows for arbitrary command injection if a malicious actor can control the `--channel` argument (e.g., via prompt injection against the OpenClaw agent). While the skill's core functionality (Google Meet bot, caption capture, local storage of auth) aligns with its stated purpose, this vulnerability poses a significant risk for remote code execution.
Capability Assessment
Purpose & Capability
The name/description (headless Google Meet bot capturing captions) matches the included scripts and runtime instructions. Node + Playwright automation is expected. However, the skill reads/writes several home-directory files (e.g. ~/.openutter/auth.json, ~/.openutter/auth-meta.json, ~/.openclaw/workspace/openutter/...) but the registry metadata declared no required config paths or credentials — the manifest omits these important local filesystem dependencies.
Instruction Scope
SKILL.md explicitly instructs the agent to read ~/.openutter/auth-meta.json before asking the user, to always pass channel/target so the bot can 'send screenshots and status images directly to the user's chat', and to run background processes. The instructions permit reading/writing session files and transcripts and call external commands (openclaw message send). Reading local session state and sending meeting content to a chat are within the skill purpose, but the explicit reading of a private auth-meta.json and the requirement that channel/target be supplied are broad actions that should be disclosed in the manifest.
Install Mechanism
There is no install spec and the skill is instruction-plus-scripts only (no network downloads). That lowers install risk; the scripts expect playwright-core (not auto-installed here) and instruct how to run them. No external downloads or extract steps are present.
Credentials
The skill requests no environment variables or credentials in the registry, but the code persists and reads highly sensitive local artifacts: ~/.openutter/auth.json (Playwright storageState) contains Google cookies/localStorage (session tokens), and auth-meta.json stores the saved account email and timestamp. Those are effectively credentials allowing the bot to join meetings as an authenticated user. The manifest should have declared these config paths and the credential-like nature of auth.json. The bot also writes transcripts and screenshots to ~/.openclaw/workspace/openutter/ which can contain sensitive meeting content.
Persistence & Privilege
The skill is a long-running background process (utter-join stays in meetings), writes a PID file and persistent profile/auth files, and supports signaling for on-demand screenshots. It does not set always:true or modify other skills' configs, but its persistent Google session and long-running nature increases the blast radius if the code is malicious or compromised.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install openutter
  3. After installation, invoke the skill by name or use /openutter
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
**Skill renamed and metadata updated.** - Changed skill name from "openutter" to "open-utter". - Added homepage field and improved short description in SKILL.md. - No changes to bot behavior or functionality documented in the changelog.
v1.0.0
OpenUtter 1.0.0 – Initial Release - Join Google Meet meetings via a headless browser bot, capturing live captions as a transcript. - Enforces strict workflow: always ask the user how to join (authenticated, guest, or custom name) before launching. - Supports joining with authenticated Google account (no host approval) or as a named guest (host must admit). - Captures and regularly updates real-time caption transcripts, saved to file, with easy commands to read summaries. - Provides commands for on-demand meeting screenshots, with mandatory image delivery using the message tool. - Includes robust agent/polling instructions and clear process markers for status and error reporting.
Metadata
Slug openutter
Version 1.0.1
License
All-time Installs 1
Active Installs 1
Total Versions 2
Frequently Asked Questions

What is Open Utter (Meeting Bot)?

Headless Google Meet bot that joins meetings and captures live captions as transcripts. It is an AI Agent Skill for Claude Code / OpenClaw, with 441 downloads so far.

How do I install Open Utter (Meeting Bot)?

Run "/install openutter" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Open Utter (Meeting Bot) free?

Yes, Open Utter (Meeting Bot) is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Open Utter (Meeting Bot) support?

Open Utter (Meeting Bot) is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Open Utter (Meeting Bot)?

It is built and maintained by Suman Sigdel (@sumansid); the current version is v1.0.1.

💬 Comments