Otter Transcription
@erickhchanotterai-cli skill: lets an AI agent list, search, download and manage your Otter.ai meeting transcripts with the unofficial otter CLI.
Instruction-only skill for an unofficial Otter.ai CLI that logs in with your password and only talks to otter.ai and S3.
Install Otter Transcription in Google Antigravity
Antigravity loads skills from .agents/skills/ in your project or ~/.gemini/config/skills/ for all projects (official docs). Full guide
Install the "Otter Transcription" skill for Google Antigravity. Follow the steps at https://www.antigravityskills.org/install/otter-transcription.md (source: https://github.com/erickhchan/otterai-cli/tree/main/skills/otterai-cli). Before running anything, show me what you will download and whether it includes scripts, and wait for my OK. Install it into this project (.agents/skills/) unless I say global. When done, check that Antigravity lists it as an installed skill.
The agent reads the install file, shows you what it will download and waits for your OK.
Option 2: install it yourself
- 1. Clone the source repo
git clone --depth 1 https://github.com/erickhchan/otterai-cli /tmp/otterai-cli
Download the repository that contains the skill into a temporary folder.
- 2. Copy into this workspace (project skill)
mkdir -p .agents/skills && cp -r /tmp/otterai-cli/skills/otterai-cli .agents/skills/otterai-cli
Run this from your project root. Antigravity reads workspace skills from <project>/.agents/skills/<folder>/.
- 3. Or install globally (all projects)
mkdir -p ~/.gemini/config/skills && cp -r /tmp/otterai-cli/skills/otterai-cli ~/.gemini/config/skills/otterai-cli
Use this instead of the previous step if you want the skill in every workspace. Antigravity reads global skills from ~/.gemini/config/skills/<folder>/.
- 4. Check that Antigravity sees it
Start a new Antigravity agent session in this workspace and ask "What skills do you have?" (in the Antigravity CLI you can also run /skills). The skill should be listed by its name.
Requires the otter CLI (uv tool install otterai-cli) and an Otter.ai login via otter login or OTTERAI_USERNAME / OTTERAI_PASSWORD. The otterai-cli README does not mention Antigravity by name; this is a plain folder copy into Antigravity's standard skill folders.
Using Claude Code, Cursor or Codex? See other assistants below.
What is Otter Transcription?
How to use Otter Transcription?
Key features of Otter Transcription
- ✓List and filter speeches by days, folder (name or ID), page size and source (owned, shared or all)
- ✓Get a full transcript with speaker segments as JSON, or search inside one transcript
- ✓Download as txt, pdf, md, docx, srt or mp3; markdown is built locally with configurable YAML frontmatter
- ✓Upload an audio file for transcription
- ✓Rename, move (optionally creating the folder) and trash speeches
- ✓Manage speakers, folders and groups
When to use Otter Transcription
- 1Pulling action items from a recent meeting
- 2Bulk-exporting Otter transcripts to markdown
- 3Organizing meetings into folders
- 4Feeding meeting notes into other agent workflows
Installation & Setup Guide
Agent Rules / Prompt SetupFollow these steps (taken from the project's own docs) to configure Otter Transcription in your development environment.
uv tool install otterai-cli
Makes the otter command available; then run otter login (README, Installation and Setup).
git clone --depth 1 https://github.com/erickhchan/otterai-cli /tmp/otterai-cli && mkdir -p ~/.claude/skills && cp -r /tmp/otterai-cli/skills/otterai-cli ~/.claude/skills/
The README says to copy skills/otterai-cli/ into your agent's skills folder and names Claude Code, Cursor, Copilot and Gemini CLI as compatible agents, but gives no path. The ~/.claude/skills/ path comes from the Claude Code skills docs (https://code.claude.com/docs/en/skills).
The README lists Cursor as a compatible agent but gives no Cursor folder or command, so we do not list one.
Usage Example & Verification
1) README example (Agent Workflow Example): "Find last week's standup and download its transcript as markdown." -> What happens: the agent runs otter speeches list --days 7 --json, picks the otid of the standup with jq, then otter speeches download "$OTID" --format md --output standup.md and leaves a standup.md file. 2) README example (Agent Usage): search a meeting for "action items". -> What happens: otter speeches search "action items" <otid> returns the matching transcript segments from that one meeting. 3) Our example: "Create a folder called Q1 Planning and move my last three meetings into it." -> What happens: otter folders create "Q1 Planning" and otter speeches move ID1 ID2 ID3 --folder "Q1 Planning" (forms shown in SKILL.md). This changes your Otter account, so check the list first.
Start a new session and ask "What skills do you have?" (Antigravity CLI: /skills); otterai-cli should be listed. Then run otter user in a terminal to confirm the CLI is logged in, and ask the agent "list my Otter meetings from the last 7 days".
Security Review
Static reviewInstruction-only skill for an unofficial Otter.ai CLI that logs in with your password and only talks to otter.ai and S3.
Full review: scope, findings, risks
Static review at commit ee18cfc. skills/otterai-cli/SKILL.md is documentation of otter commands with no executable code. The CLI in src/otterai/client.py sends requests to https://otter.ai/forward/api/v1/ with basic auth from your username and password and uses https://s3.us-west-2.amazonaws.com/ for uploads. src/otterai/config.py loads credentials from OTTERAI_USERNAME / OTTERAI_PASSWORD, then the OS keyring, then ~/.otterai/config.json, which it writes with 0600 permissions only if the keyring fails. A grep of src/ found no subprocess, os.system, eval or exec. The agent can run destructive commands such as otter speeches trash; the CLI asks for confirmation with click.confirm unless --yes is passed, and the skill documents --yes.
Operational Notes & Known Limitations
Known Limitations
- •Unofficial: it uses Otter.ai's web API (otter.ai/forward/api/v1/), not a public API, so it can break without notice
- •Needs your Otter.ai username and password (there is no API-token option); they are kept in the OS keychain, or in ~/.otterai/config.json (mode 0600) if the keychain is unavailable
- •Needs Python 3.10 or newer and the otter CLI (uv tool install otterai-cli); the skill file alone does nothing
- •Commands need the otid, not the speech_id; the SKILL.md and README examples call the argument SPEECH_ID, which is easy to mix up
- •The README's agent workflow pipes get --json into jq '.transcripts[]', while its own schema example nests them under speech.transcripts, so check the JSON shape before you script it
- •Write actions (trash, rename, move, upload) change your Otter account; trash asks for confirmation unless --yes is passed
Frequently Asked Questions
Is the Otter transcription skill safe?
In our static review of commit ee18cfc, the skill is one instructions-only file. The CLI it drives logs in with your Otter.ai email and password, stores them in the OS keychain (or ~/.otterai/config.json with 0600 permissions as a fallback), and only contacts otter.ai and an AWS S3 endpoint. src/ has no subprocess, os.system, eval or exec. It can trash, rename and move meetings, so review those actions.
How do I install the Otter skill in Antigravity?
Clone erickhchan/otterai-cli, copy skills/otterai-cli to .agents/skills/otterai-cli (project) or ~/.gemini/config/skills/otterai-cli (global), install the CLI with uv tool install otterai-cli, run otter login, then ask "What skills do you have?" (Antigravity CLI: /skills). The README does not mention Antigravity by name, so this uses Antigravity's standard skill folders.
Is this an official Otter.ai tool?
No. The README says it is not affiliated with or endorsed by Otter.ai / Aisense Inc. The README says it builds on gmchad/otterai-api by Chad Lohrli.
Can it export all my transcripts?
It can list speeches as JSON and download each one, so a loop over otter speeches list --json that calls otter speeches download --format md works. It only sees what your Otter account can see; use --source all to include shared meetings.
Supported Platforms
Keep exploring this topic
Browse the full Antigravity skills directory for more source-linked skills with install steps and static safety reviews.
Related Skills
Slack
@slackapi
Slack's official skills plugin: Slack MCP server plus skills for messaging, search, Web API, Slack CLI, Block Kit and building Slack apps.
Calendar Management
@openclaw
OpenClaw's gog skill: list, create and update Google Calendar events (plus Gmail, Drive, Sheets, Docs) through the gog command-line tool.
HubSpot CRM
@hubspot
HubSpot's official skills that teach AI agents to look up, update and report on CRM records with the hubspot agent CLI.
Popular Skills
View All →Agent Manager
@sickn33
Manage multiple local CLI agents via tmux sessions.
Systematic Debugging
@sickn33
Debug systematically, not randomly. Find and fix bugs methodically.
Browser Automation (Playwright)
@sickn33
Expert browser automation for cleaning scraping and reliable testing.