/modes/promptprompt mode

Say the messy version. Send the good one.

⌘⇧Pdefault hotkey — yours in Settings

Prompt mode listens to your half-formed thought — tangents, ums and all — and rewrites it as the clear, structured prompt the AI in front of you actually responds to. Not dictation with delusions of grandeur: a genuine rewrite, by a model that knows the difference.

Anatomy of a press

  1. 1
    Hold the hotkey, ramble freely

    Don’t compose — just talk. "I need something that reviews this for security stuff but doesn’t nitpick" is a perfect input. Messy is the raw material.

  2. 2
    Wisspa reads the room

    At the moment you press, it snapshots the frontmost app — and if you’re in a browser, the active tab. Claude.ai gets a different format than ChatGPT, Cursor, or Gemini. Gmail or Notion in front? It skips "prompt" entirely and writes the finished thing.

  3. 3
    Optionally, it grabs your selection

    If you’ve selected text — a function, an email thread, an error log — that goes along as context, clearly fenced off as content, not instructions.

  4. 4
    Sonnet rewrites, twice when it matters

    Claude Sonnet restructures your intent: task, context, constraints, output format. Complex requests get a second critique-and-revise pass automatically. Vague noise gets passed through untouched rather than inflated into a fake task.

  5. 5
    Preview, then it types for you

    A preview toast counts down (you set the seconds), then the prompt is pasted into the field you were in. Escape cancels before anything is inserted.

Same voice. Very different output.

Three real presses, three different targets. Notice the format changing with the app — that’s the part you never have to think about.

In Cursor — wants it terse
this function is slow, can you look at why and maybe make it faster but don’t change what it returns
Refactor processBatch() for performance.
Constraints: identical return values; no API changes.
Show the bottleneck before and after.
In claude.ai — wants structure
help me write a cold email to a brewery about stocking my kombucha, keep it short and not weird
<task>Draft a cold outreach email to a brewery about stocking my kombucha.</task>
<constraints>Under 120 words. Warm but not quirky. One clear ask: a 15-minute call.</constraints>
<context>Small-batch producer, Sydney, no existing relationship.</context>

XML tags because it’s Claude. The same press inside ChatGPT gets Markdown headings instead.

In Gmail — not an AI tool, so it just writes the thing
reply to Olivia’s email about the lease, say we’re fine with the date but want the exit clause clarified
Hi Olivia — the 14th works for us. One thing before we sign: could you clarify the exit clause in section 8? Specifically…

Gmail isn’t a prompting surface, so Prompt mode drafts the email itself. It reads the active tab to tell the difference.

It knows which AI you’re talking to

The rewriter carries a format map and uses it on every press. Claude and Claude Code get XML-tagged structure. ChatGPT gets Markdown headings. Cursor and VS Code get the terse inline form. Gemini gets numbered steps. Anything else gets clean generic Markdown — and non-AI surfaces like Gmail, LinkedIn, and Notion get the finished content, because asking Gmail for a prompt would be odd. There’s a manual override in Settings for the day detection misfires.

It won’t invent tasks you didn’t say

Mumble into the mic by accident and you get your mumble back, not a fabricated assignment — the rewriter is instructed to pass through insufficient intent untouched. Selected text and browser context travel in explicitly-marked untrusted blocks, so a malicious web page can’t smuggle instructions into your prompt. And if the rewrite ever comes back stranger than what you said, Wisspa falls back to your raw words instead of losing them.

Tune it in Settings

Include selected text (on by default). Preview countdown — zero to ten seconds, or off for instant insertion. Review-before-insert if you like to approve every prompt. A free-text profile — “I’m a contract lawyer, prefer plain English” — that’s injected as standing preferences into every rewrite. And adaptive two-pass refinement for complex asks, on by default because it earns its keep.