The same sentence needs three different edits depending on where it lands. A message to your manager wants warmth. A note to a client wants precision. A commit message wants neither. Until now Promptshot gave you one prompt and one hotkey, which meant picking a compromise tone and fixing the rest by hand.
Prompt profiles remove the compromise. You define a profile per context, assign it a modifier, and the hotkey you already know picks up the right voice.
What a profile holds
A profile is four things: a name, a system prompt, a model, and an optional modifier key. Everything else — the selection, the app you are in, the replacement — works exactly as before.
| Profile | Modifier | Model | Typical use |
|---|---|---|---|
| Default | none | GPT-5 mini | Slack, quick replies |
| Formal | ⌥ |
Claude Sonnet 5 | Client email, proposals |
| Terse | ⇧ |
GPT-5 mini | Commit messages, tickets |
| Translate | ⌃ |
Claude Sonnet 5 | Anything not yet in English |
Because the modifier composes with your existing shortcut, there is nothing new to memorise. If your hotkey is ⌘⌥E, then ⌘⌥⇧E gives you the terse variant.
Choosing a model per profile
Short rewrites are latency-bound, not intelligence-bound — a small fast model is the right call. Long-form editing is the opposite. Setting the model per profile means you stop paying a latency tax on the edits you make forty times a day.
Profiles are stored locally in
~/Library/Application Support/Promptshot/profiles.json. Nothing about your prompt configuration leaves the machine.
Writing a profile prompt
The prompts that work best are specific about what not to change. Models left to their own devices will happily restructure your argument when you only asked them to fix grammar.
Rewrite the selected text in clear, natural English.
Rules:
- Preserve the author's meaning, structure and level of detail exactly.
- Do not add greetings, sign-offs or filler.
- Keep any code, file paths, URLs and product names verbatim.
- Match the register of a message between colleagues: direct, warm, no jargon.
Return only the rewritten text.
Three details in that prompt do most of the work:
- “Preserve structure” stops the model from merging your bullet points into a paragraph.
- “Keep code verbatim” stops it from “correcting”
getUserByIDtoget user by ID. - “Return only the rewritten text” stops the preamble that would otherwise land in your Slack message.
Migrating your current setup
Existing configuration becomes your Default profile on first launch, so nothing changes until you add a second one. To add one:
- Open Settings → Profiles
- Click New profile, name it, paste a prompt
- Pick a modifier from the dropdown — taken modifiers are greyed out
- Test it in the preview pane before you rely on it in a real thread
Profiles ship in 1.4, available now.