Building Custom Refinement Presets

11 min read·intermediate·15 minutes

Presets are the core of how Ummless transforms your speech into useful text. While the built-in presets cover common scenarios, custom presets let you tailor the refinement process to your exact needs -- your writing style, your audience, your formatting preferences.

This guide walks through the process of creating effective presets, from understanding how they work to writing, testing, and iterating on prompts.

Key Takeaways

    How Presets Work Under the Hood

    When you record in Ummless, your speech goes through two stages. First, on-device speech recognition produces a raw transcript. Second, that transcript is sent to Claude for refinement. Your preset is the system prompt Claude receives -- it tells Claude exactly how to process the text.

    The preset controls everything about the output: tone, length, structure, formatting, vocabulary, and what to include or omit. Claude follows these instructions faithfully, so the quality of your preset directly determines the quality of your refined output.

    What is a system prompt?

    A system prompt is an instruction given to an AI model before it processes your input. It sets the rules and context for how the model should behave. In Ummless, each preset is a system prompt that shapes how Claude refines your transcribed speech.

    Step 1: Define Your Use Case

    Before writing a single word of your preset, answer these questions:

    • What is the output for? Slack messages, emails, documentation, social posts, meeting notes?
    • Who is the audience? Colleagues, customers, open-source community, your future self?
    • What tone do you need? Formal, casual, technical, friendly, authoritative?
    • What format should the output follow? Prose paragraphs, bullet points, numbered steps, headers?
    • What should be removed? Filler words, hedging language, tangents, personal anecdotes?
    • What should be preserved? Technical terms, specific names, code references, numbers?

    Write your answers down. They become the foundation of your preset prompt.

    Example: Defining a Stand-Up Update Preset

    • Output: Daily stand-up update for the engineering team
    • Audience: Fellow developers and engineering manager
    • Tone: Brief, direct, no fluff
    • Format: Three sections -- Yesterday, Today, Blockers -- each with bullet points
    • Remove: Filler, hedging ("I think maybe"), excessive context
    • Preserve: Ticket numbers, feature names, technical terms

    Step 2: Write the Prompt

    A well-structured preset prompt has four parts: role, rules, format, and constraints.

    Role

    Tell Claude what role to play. This sets the baseline behavior.

    You are a writing assistant that transforms raw voice transcripts into clean stand-up updates for a software engineering team.
    

    Rules

    Specify the transformation rules. Be explicit about what to do and what not to do.

    Rules:
    - Remove all filler words (um, uh, like, you know, basically, actually)
    - Remove false starts and repetitions
    - Preserve all ticket numbers, feature names, and technical terms exactly as spoken
    - Convert rambling explanations into concise bullet points
    - Do not add information that was not in the original transcript
    - Do not editorialize or add your own opinions
    

    Do not add, only transform

    Always include a rule telling Claude not to add information. Without this, Claude may helpfully elaborate on your points, adding details you never said. Presets should transform your words, not generate new content.

    Format

    Define the exact output structure. The more specific you are, the more consistent your results.

    Format the output as:
    
    **Yesterday**
    - [bullet points of completed work]
    
    **Today**
    - [bullet points of planned work]
    
    **Blockers**
    - [bullet points of blockers, or "None" if no blockers mentioned]
    

    Constraints

    Set boundaries on length, style, and behavior.

    Constraints:
    - Maximum 150 words total
    - Use present tense for today's items, past tense for yesterday's
    - Each bullet point should be one line, no sub-bullets
    - If the speaker did not mention one of the three sections, include the header with "Nothing mentioned"
    

    Complete Preset

    Combine all four parts into a single prompt:

    You are a writing assistant that transforms raw voice transcripts into
    clean stand-up updates for a software engineering team.
    
    Rules:
    - Remove all filler words (um, uh, like, you know, basically, actually)
    - Remove false starts and repetitions
    - Preserve all ticket numbers, feature names, and technical terms exactly
    - Convert rambling explanations into concise bullet points
    - Do not add information not in the original transcript
    
    Format:
    
    **Yesterday**
    - [completed work]
    
    **Today**
    - [planned work]
    
    **Blockers**
    - [blockers, or "None"]
    
    Constraints:
    - Maximum 150 words total
    - Past tense for yesterday, present tense for today
    - One line per bullet, no sub-bullets
    - Include all three headers even if a section was not mentioned
    

    Step 3: Create the Preset in Ummless

    With your prompt written, create the preset:

    1. Open the Ummless dashboard and navigate to Presets
    2. Click Create Preset
    3. Enter a clear, descriptive name (e.g., "Stand-Up Update")
    4. Optionally add a description explaining when to use this preset
    5. Paste your prompt into the system prompt field
    6. Save the preset

    Your preset is now available in both the web dashboard and the desktop app. It syncs automatically through your account.

    Step 4: Test Thoroughly

    A preset that works for one input might fail for another. Test with varied scenarios:

    Test with messy input

    Speak naturally with filler words, tangents, and false starts. This is the real-world input your preset needs to handle.

    "So um yesterday I was working on the, uh, the authentication flow, you know the one with the JWT tokens, and I basically finished it. Well I mean I finished the backend part. Today I'm going to, like, work on the frontend integration and also I need to, actually wait, I also need to update the docs. No blockers I think. Oh wait actually the staging environment is down so that's kind of blocking the QA testing."

    A good preset transforms this into:

    Yesterday

    • Completed backend authentication flow with JWT tokens

    Today

    • Frontend integration for authentication
    • Update documentation

    Blockers

    • Staging environment is down, blocking QA testing

    Test with minimal input

    What happens when you only mention one section? The preset should handle sparse input gracefully rather than hallucinating content.

    Test with edge cases

    • Very long recordings (3+ minutes of rambling)
    • Highly technical content with code references
    • Multiple topics mixed together
    • Input that does not fit the expected format at all

    Iterate fast

    Use the web dashboard to test presets by pasting sample transcripts directly. This is faster than recording new audio each time. Once the preset handles your test cases well, switch to live voice testing.

    Step 5: Iterate and Refine

    After testing, you will likely need to adjust your prompt. Common fixes include:

    Problem: Output is too long

    Add an explicit word limit: "Maximum 100 words" or "Each bullet point must be under 15 words." You can also add "Prioritize brevity over completeness."

    Problem: Claude adds information

    Strengthen the guardrail: "Only include information explicitly stated in the transcript. Never infer, assume, or add details. If something is ambiguous, keep the speaker's original phrasing."

    Problem: Important terms are changed

    Add preservation rules: "Preserve the following terms exactly as spoken: ticket numbers (e.g., PROJ-123), function names, library names, and proper nouns. Do not correct, rephrase, or normalize these."

    Problem: Format is inconsistent

    Make the format specification more rigid. Instead of "use bullet points," specify "use a dash (-) followed by a space for each bullet point. Start each bullet with a capital letter. No period at the end."

    Problem: Tone is wrong

    Add explicit tone guidance with examples: "Tone should be direct and matter-of-fact. Write as if messaging a coworker on Slack, not as if writing a formal report. Example: 'Shipped the auth fix' not 'The authentication issue has been successfully resolved.'"

    Preset Examples for Common Use Cases

    Here are complete, tested presets you can use directly or as starting points.

    Slack Message

    Transform this voice transcript into a brief Slack message.
    
    Rules:
    - Remove filler words and false starts
    - Keep it conversational but professional
    - One paragraph maximum, 2-4 sentences
    - Do not add information not in the transcript
    - Preserve @mentions, channel names, and links exactly
    
    If the message is a question, end with a question mark.
    If it is a request, be direct and specific about what is needed.
    

    Meeting Notes

    Transform this voice transcript into structured meeting notes.
    
    Format:
    ## Summary
    [2-3 sentence overview of the discussion]
    
    ## Decisions
    - [each decision as a bullet point]
    
    ## Action Items
    - [ ] [task] — [owner if mentioned]
    
    ## Open Questions
    - [unresolved questions raised during the meeting]
    
    Rules:
    - Include only decisions that were explicitly agreed upon
    - Action items must include the task; include the owner only if named
    - If no decisions, action items, or open questions were discussed,
      omit that section entirely
    - Maximum 300 words
    - Do not add context or background not stated in the transcript
    

    PR Description

    Transform this voice transcript into a GitHub pull request description.
    
    Format:
    ## What
    [1-2 sentences describing what this PR does]
    
    ## Why
    [1-2 sentences explaining the motivation]
    
    ## How
    - [bullet points of implementation approach]
    
    ## Testing
    - [how this was tested, if mentioned]
    
    Rules:
    - Use technical language appropriate for code review
    - Preserve all function names, file paths, and technical terms exactly
    - Be concise: each section should be 1-3 sentences or bullet points
    - Do not add implementation details not mentioned in the transcript
    - If the speaker did not mention testing, include "## Testing" with
      "Not discussed"
    

    Journal Entry

    Transform this voice transcript into a personal journal entry.
    
    Rules:
    - Keep the first-person perspective
    - Preserve the emotional tone of the speaker
    - Clean up grammar and remove filler, but keep the voice natural
    - Organize into paragraphs by topic or theme
    - Do not add reflections or insights not expressed by the speaker
    - Preserve specific details: names, places, times, events
    
    Constraints:
    - No headers or bullet points, just flowing prose paragraphs
    - Keep the length proportional to the input: short recordings become
      short entries, long recordings become longer entries
    

    Stacking Presets

    You can select multiple presets for a single refinement. When stacked, Ummless combines the system prompts and Claude processes them together. This is powerful for separating concerns:

    • Tone preset + Format preset: "Professional" tone with "Bullet Points" format
    • Domain preset + Length preset: "Developer" vocabulary with "Concise" constraints
    • Custom + Built-in: Your "PR Description" format with the built-in "Professional" tone

    Stacking order matters

    When stacking, the last preset's formatting instructions tend to take priority if they conflict with earlier presets. Put your format preset last and your tone preset first for best results.

    Best Practices

    After building and refining many presets, these patterns consistently produce the best results:

    1. Be specific over general. "Remove um, uh, like, and you know" works better than "remove filler words" because it leaves no ambiguity.

    2. Show, do not tell. Include a brief before/after example in your prompt when the transformation is complex. Claude follows examples more reliably than abstract instructions.

    3. Set explicit boundaries. Word counts, sentence limits, and section constraints prevent output from sprawling. Without boundaries, Claude defaults to being thorough rather than concise.

    4. Include negative instructions. "Do not add information" and "Do not use headers" are as important as positive instructions. They prevent Claude's helpful tendencies from overriding your intent.

    5. Name presets clearly. "Q4 Board Update" is better than "Formal Summary." Future you will thank present you when scrolling through a long list of presets.

    6. Start from built-ins. Modify an existing preset rather than starting from blank. The built-in presets are tested and handle edge cases you might not think of initially.

    Next Steps