developers
Voice typing for prompt engineering on Mac
Dictate system prompts, evaluation rubrics and long-context requests on Mac. Review constraints and test the result with these illustrative exercises.
Dictate the instruction you want a model to follow, then inspect the finished draft as an editable specification. A system prompt, an evaluation rubric and a long-context request need different checks; the examples below make those distinctions concrete.
These are illustrative practice drafts adapted from this guide’s earlier examples. They are not verified recordings or measured product results. No timing, recognition accuracy or agent success is established by the examples.
Try Halopen on your Mac · Current trial duration and paid plans
Prepare the input field
Choose the actual field you use in Claude Code, Cursor, VS Code or your terminal. Follow Halopen’s download and permission steps, click into a harmless draft, hold your configured hotkey, speak and release. Check insertion separately in each field. Native voice input may already cover your task; use the linked workflow guide to compare approaches.
What to check before using a draft
Check instruction priority, conflicting constraints, output format and the evaluation criterion. Separate quoted source material from instructions. A better-looking prompt is not evidence of improved model behavior; test it on representative cases.
Practice 1: How to dictate a system prompt
“You are a customer support classifier for Halopen — a native Mac dictation app. Each input is one customer email or chat message. Your job is to classify the message into exactly one of these categories: pricing, install, accuracy, privacy, refund, feature_request, bug_report, other. Rules. Read the entire message before classifying. Prefer the most specific applicable category. If the message names a pricing tier and asks a non-pricing question, classify by the question, not the tier. If the message describes a transcription mistake, classify as accuracy unless the customer is asking for their money back, which is refund. Trial-related questions are pricing. Hotkey conflicts are bug_report. Output format. Return a single JSON object with two keys: category (one of the eight strings above) and confidence (a float from 0 to 1). No explanation, no markdown, no surrounding text. The output is parsed directly. Negatives. Do not invent a category not in the list. Do not return multiple categories. Do not return a confidence below 0.2 — if the message is too ambiguous to classify above 0.2, classify as other with the appropriate low confidence.”
Review the exact names and constraints after dictation. Adapt the request to your own task; the example is not a record of an agent completing it.
Practice 2: How to dictate an eval rubric
“Dimension. Verbatim preservation of contractions and intensifiers. Pass. The transcript preserves contractions exactly as spoken — ‘we’re’, ‘don’t’, ‘it’s’, ‘I’d’ — and preserves intensifiers — ‘really’, ‘actually’, ‘just’, ‘literally’ — without dropping or substituting. Spoken ‘we’re not adding queso fresco’ arrives as ‘we’re not adding queso fresco’, not ‘we are not adding queso fresco’ or ‘we’re not adding cheese’. Fail. The transcript expands contractions (‘we are’), drops intensifiers (‘we’re not adding queso fresco’ becomes ‘we’re not adding queso fresco’ is fine, but ‘we’re really not adding queso fresco’ becoming ‘we’re not adding queso fresco’ is a fail), or substitutes regional vocabulary (‘queso fresco’ becoming ‘cheese’). Example pass. Input audio: ‘Bro, we’re really not adding queso fresco, one kinda cheese.’ Transcript: ‘Bro, we’re really not adding queso fresco, one kinda cheese.’ All contractions preserved, all intensifiers preserved, all regional vocabulary preserved. Example fail. Input audio: ‘Bro, we’re really not adding queso fresco.’ Transcript: ‘We are not adding cheese.’ Three failures: contraction expanded, intensifier dropped, regional vocabulary substituted.”
Review the exact names and constraints after dictation. Adapt the request to your own task; the example is not a record of an agent completing it.
Practice 3: How to dictate long-context prompts
“Summarize the ten customer emails above into a single weekly digest in the format below. Format. Three sections: Pricing questions, Bug reports, Feature requests. Under each section, a bulleted list of one-sentence summaries. Under each bullet, a sub-bullet with the customer email date and the message word count. Constraints. Group near-duplicate questions under one bullet, with the count of customers who asked it. Preserve any customer-named technical detail verbatim — model names, terminal apps, hotkey choices. Do not include personally identifying information (name, email address) in the digest. Tie-breaker. If a single email touches two sections, prefer the section the customer’s primary ask falls under. If primary ask is genuinely ambiguous, place under Feature requests rather than Bug reports — bug reports require an actual reproducible failure, not just an absence of expected behavior.”
Review the exact names and constraints after dictation. Adapt the request to your own task; the example is not a record of an agent completing it.
If the result needs correction
Inspect the completed text at the intended cursor. Live preview is provisional; it does not prove successful final recognition or insertion. Correct punctuation, exact tokens and missing constraints before submission. If the intended field received nothing, check focus, permissions and the app’s error or recovery surface before repeating the request.
For a performance comparison, include the time to dictate, correct and review the same useful draft. Do not infer saved time or better output from the length of an example. Keep the method that suits your actual workflow.
Processing and context
Cloud recognition sends audio and available biasing hints to the transcription service. With vocabulary biasing enabled, hints can include dictionary entries, a foreground-app label and a routing hint. The separate optional context switch also permits selected text, clipboard text and text immediately before the cursor. Read Halopen’s privacy details before working around confidential material.
On-device speech recognition runs locally on supported hardware after a model download. Account, updates, enabled diagnostics and your destination app have separate behavior. The local history and supported-event log are not a complete network monitor.
Read the related workflow guide · Download Halopen to evaluate your setup
Try Halopen
Hold the function key. Speak.
Halopen is free for 14 days, no credit card. Pro is $19/mo or $179/yr — unlimited.
Read next
More from Halopen Learn
-
developers
Voice typing for Claude Code on Mac
Compare Claude Code’s native voice input with a separate Mac dictation workflow. Set up Halopen, review code symbols and troubleshoot incomplete prompts.
-
developers
Voice typing for Cursor on Mac
Evaluate voice typing in Cursor on Mac: native chat input, Halopen setup, prompt review, code symbols, context settings and insertion troubleshooting.
-
developers
Voice typing in the terminal on Mac — patterns
Draft terminal requests by voice on Mac, then review flags, paths, quoting and destination before execution. Includes illustrative practice examples.
-
developers
Voice typing patterns for Claude Code on Mac
Claude Code prompt exercises for migrations, refactors and reviews. Adapt the examples, check exact identifiers and verify each completed request.