add-dictation
An agent skill by cursor, from cursor/plugins. Tags: audio, mobile, transcription, ui, voice.
What it does
Use when the user runs /add-dictation or wants speech turned into text with Grok speech-to-text: a mic button that dictates into the composer, live captions, or transcribing recorded audio (files, uploads, URLs) with word timestamps, diarization, subtitles, meeting notes. STT, transcribe, transcription. For a voice agent that talks back use /add-voice.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add cursor/plugins --skill add-dictation
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/cursor/plugins
cp -r plugins/grok-voice/skills/add-dictation ~/.claude/skills/add-dictation
Safety box score
Grade B, low risk: 25 of 100 risk points, rated 2026-10-16. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This skill wires an app to Grok speech-to-text by sending audio, files, or URLs to x.ai and optionally relaying live audio over a backend WebSocket. The main risks are external data transfer of potentially sensitive speech content and handling a server-side `XAI_API_KEY`; it does not request sudo, system changes, or hidden/injected instructions.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 1 (low) | It includes runnable verification commands and code snippets such as `curl -X POST https://api.x.ai/v1/stt ...`, but it does not ship an executable script or use `eval`. |
| Network access | 2 (moderate) | The core function sends user audio/files/URLs to `https://api.x.ai/v1/stt` and, for streaming, relays browser audio and transcript events over `wss://api.x.ai/v1/stt`. |
| Filesystem reach | 1 (low) | It expects the agent to add app code/files like a server route and `/pcm16-worklet.js`, but it does not touch system paths or delete outside the project. |
| Secrets & credentials | 2 (moderate) | It requires a server-side `XAI_API_KEY` and explicitly warns, `Never put the key in a client bundle`. |
| Privilege & persistence | 0 (none) | No sudo, global installs, services, scheduled tasks, or OS/shell configuration changes are requested. |
| Instruction hijack surface | 0 (none) | I found no prompt-injection, hidden text, or instructions to ignore safeguards; the text instead says `Do not invent ids` and `Do not invent a token flow`. |
| Irreversible actions | 0 (none) | It adds dictation/transcription only; it does not post, deploy, pay, book, or delete anything. |
| Transparency | 0 (none) | The skill is plain markdown with readable code snippets and links; there are no binaries, base64 blobs, or downloaded installers. |
Before installing
- Confirm you are comfortable sending dictated audio/files/URLs to x.ai for transcription.
- Check that your app keeps `XAI_API_KEY` only on the server and out of the client bundle.
- Read any files the skill asks you to add, especially the WebSocket relay and `pcm16-worklet.js`, before merging.
- Run the smoke test in a non-sensitive account or with a harmless sample audio file first.
Rated 2026-10-16 by an automated review of 1 file from the skill's repository.
Source
- Repository
- cursor/plugins (all skills from this repository)
- Path
- grok-voice/skills/add-dictation/SKILL.md
- Branch
- main
- Collection
- cursor
- Updated
- 2026-09-23
Related skills
- add-read-aloud — Use when the user runs /add-read-aloud or wants the app to speak text with Grok text-to-speech: read-aloud button on assistant replies, auto-speak, TTS.
- add-voice — Use when the user runs /add-voice, types Voice Mode, or asks to add Grok realtime voice to an app.
- asr-transcribe-to-text — Transcribe audio/video to speaker-labeled text — who-said-what by default, plain-text opt-out; MLX-local on Apple Silicon or remote; local files, media URLs.
- auto-editor-transcribe — Transcribe a media file or live microphone to text or subtitles with auto-editor's whisper subcommand.
- setup-vivox-voice-chat — Add and configure in-game voice chat and text chat for Unity multiplayer games using Unity Vivox.
- stepfun-asr — Transcribe audio with StepFun's stepaudio-3-asr-max — an SSE endpoint (NOT /v1/audio/transcriptions).