How to run your own AI prompts on selected text in any Mac app
Save the instruction instead of retyping it. In Khint you write a prompt once as an agent, then select text in any Mac app, press Cmd+Shift+K, and pick the agent: the model runs your prompt on the selection and the result pastes back where the text was. The model receives the selection and nothing else, unless you explicitly opt an agent into your active work session or your local document index.
Most people use AI by copying text out of what they are doing, pasting it into a chat window, retyping the instruction they typed yesterday, then copying the answer back and fixing the formatting it lost on the way. Four steps of friction around a one-second transformation, and the instruction is retyped every single time.
The alternative is to save the instruction once and run it where the text already lives. That is what Khint Agents do on macOS. Here is how to set one up, and the parts of it that are not obvious.
Step 1: turn an instruction into an agent
An agent is a saved prompt with a name and, optionally, its own keyboard shortcut. In Agents, create one and write what it should do:
Rewrite the selected text to be clear and direct.
Keep my meaning and my voice. Cut filler and hedging.
Return only the rewritten text, nothing else.That last line matters more than it looks. An agent's output goes straight back into your document, so a model that answers "Here's a clearer version:" has just pasted a preamble into your email. If you are not sure how to phrase the prompt, type a short description and press Generate: Khint drafts it, including the output discipline. If you already have a prompt that is almost right, Improve refines it in place rather than replacing it.
Step 2: run it on a selection
Highlight the text
In any app: an email draft, a Slack message, a doc, a code comment, a form field.
Press Cmd+Shift+K
The palette opens over the current app without stealing its focus, so your selection survives.
Pick the agent
Type a few letters to filter, or pin the ones you run daily to the top. An agent can also carry its own shortcut and skip this step entirely.
It pastes back
The result lands in the original app through the same paste path you would use by hand. There is no window to copy out of.
The selection is not the only input
This is the part most people miss for months. Every agent declares where its input comes from, and selected text is only one of four options.
- Selected text, the default: whatever you highlighted.
- Active session: the compacted state of the work session you have running, so an agent can write a status update from what you actually did this morning rather than from a paragraph you have to write first.
- Document: a file you pick when you run it. A document agent can either hand you text back, or hand you the edited file itself, with every style, table and image intact.
- Voice: the agent's own shortcut becomes a microphone key. Hold it, talk, release, and your words go through the prompt before they land.
A voice agent has to carry a shortcut, because the shortcut is the microphone. That is the one field the editor refuses to let you leave empty.
What the model actually receives
Worth being precise about, because "an AI app on your Mac" reasonably makes people nervous.
By default the model receives the text you selected and your prompt. Not your screen, not your other apps, not your files, not your clipboard history, and only at the instant you trigger the agent. Three things can be added, each opt-in per agent: the compact summary of your active work session, excerpts from your local index of Jira, Confluence, Notion and Linear, and nothing else. Personal data redaction is a separate per-agent switch that replaces emails, phone numbers and IBANs with placeholders before the text reaches the AI.
Step 3: organize with packs, scale with workflows
Once you have a few agents, group them into a pack: a writing pack, a delivery pack, a support pack. The palette only ever shows the active pack, which is what keeps the list short enough to be faster than a menu. Switching packs switches your whole palette.
When one prompt is not enough, a workflow runs up to five steps in series: summarize then translate then format as bullets. A step does not have to be an agent. It can be an integration write, so a workflow ends by creating a Jira issue or a Linearticket, and it can fan out to several tools at once. Each step's result becomes the next step's input, which means an agent placed after an integration step reads the receipts, not the draft.
Prompts worth saving as agents
- Rewrite for clarity, shorten to half, or shift tone from formal to direct.
- Translate into a specific language while preserving markdown and structure.
- Turn rough notes into a structured ticket with acceptance criteria.
- Extract decisions and action items out of a wall of meeting text.
- Explain or document a selected code snippet in your team's format.
- Reply to this message in my voice, from three bullets of intent.
The point is not any single prompt. It is that the transformations you do every day stop being something you retype and become something you press. Try it free: 300 credits a month, no card.