How do I stop AI emails and Slack messages sounding like AI?

Show the model a few messages you actually sent, tell it where this one is going and how long you usually write, and cut the stock openers and sign-offs before you send. You can keep that setup for free in custom instructions, Projects, memory or a rules file in ChatGPT, Claude, Cursor and Copilot, and for many people that is enough. If an agent drafts a lot of your messages, a voice layer such as Ownhand rewrites every draft from your own samples, fits it to the occasion and the thread, and learns from what you really send.

Most AI messages miss in the same few ways. They are the wrong length for the channel, they open and close with lines you never use, and they use words you wouldn't type. The fixes below go from free and quick to fully automatic. Stop at the first one that solves your problem.

The model isn't doing this on purpose. It writes in one polite, complete register. It knows nothing about you, the reader, or the channel. For the causes in depth, see why AI drafts sound like AI. For the exact phrases readers spot, see the phrases that make a message read as AI-written.

Fix a single draft with a better prompt

If you send a few AI drafts a week, a better prompt does most of the work. Give the model three things it can't guess:

  1. Where the message is going and who reads it: "a Slack DM to a teammate" or "a first email to a CFO who has never heard of me".
  2. Two or three messages you sent in the same place, pasted as they are.
  3. A length cap in words, taken from those messages.

Anthropic's prompting guide calls examples one of the most reliable ways to steer tone, format and structure. It suggests three to five. Real messages beat adjectives like "casual" or "friendly", because the model copies what it sees. A prompt like this works in any assistant:

Rewrite this as a Slack DM to Sam, a teammate.
Match the length and style of these messages I sent him:
1. [paste]
2. [paste]
Keep every name, number and date. No greeting, no sign-off, under 40 words.
Draft: [paste]

Then read the first and last lines before you hit send. That is where lines such as I hope this email finds you well and Please don't hesitate to reach out pile up. Cut them first.

Save it in your assistant's settings

Pasting samples into every chat gets old. Each of the main assistants has a free place for standing instructions. Put a few lines there about how you write, plus two or three short samples if the limit allows.

ChatGPT

  • Custom instructions. On web and desktop, open Settings, then Personalization, turn on Enable customization and fill in the Custom Instructions field. OpenAI says they apply to all chats right away. You get 1,500 characters on Free and Go, and 5,000 on Plus, Pro, Business, Enterprise and Edu.
  • Projects. Open a project's menu, then Project settings, and add instructions that apply only inside that project. They override your global ones. A "Work email" project with your samples uploaded as a file keeps them out of your other chats.
  • Memory. ChatGPT can save details you ask it to remember. It can also refer back to past chats. Say "remember that I keep Slack messages under 30 words and never sign off". You can delete a saved memory from the Memory settings.

Claude

  • Instructions for Claude. In Settings, add account-wide instructions that apply to every conversation. They work on every plan, Free included.
  • Projects. Project instructions apply only to chats in that project. Free users can make up to five projects.
  • Memory. It's on by default for Free, Pro and Max on web, desktop and mobile. Anthropic says it keeps your communication preferences and working style. Check what it saved under Settings, then Memory, and edit anything wrong.
  • Skills. Anthropic lists communication patterns based on your own writing as one use for a skill, which you switch on when you need it.
  • Claude Code. Rules in ~/.claude/CLAUDE.md load in every project. A custom output style in ~/.claude/output-styles changes how Claude responds for a whole session.

Cursor and GitHub Copilot

  • Cursor. Add user rules under Customize, then Rules. They apply to every project, but only in Agent (Chat), not in Inline Edit. Project rules live in .cursor/rules. Cursor calls the older .cursorrules file legacy.
  • Copilot. On GitHub.com, open Copilot Chat, click your profile picture and choose Personal instructions. Repository instructions go in .github/copilot-instructions.md. GitHub's support table lists Chat, the cloud agent, code review and the CLI as readers of those files. Pull request summaries are not on it.

When that is enough

Saved instructions are enough when most of your messages go to one kind of reader, when you edit every draft anyway, and when you mainly want the model to stop padding. Three lines fix a lot: short sentences, no greeting in Slack, never offer more help at the end. It costs nothing. You can change it in a minute.

Prompt with samplesSaved instructionsOwnhand
Your samples2 or 3, pasted each timeA few, within the field limit5 to 10, kept in your Hand
Slack DM vs cold emailYou say it each timeOne note for all, or a project per occasion12 occasions, each with its own length and format
RepliesPaste the threadPaste the threadUp to 30 messages, matched, never stored
Checked after writingBy youBy youFacts, stock phrases and occasion rules, then up to 2 retries
Learns from what you sendNoOnly what you tell itYes, from the exact text sent
CostFreeFree$1 of credit, then about half a cent a rewrite

Where saved instructions fall short

  • One note covers every occasion. A rule that keeps Slack DMs short also makes a client proposal curt. Soon the note is full of "unless it is an email".
  • Descriptions lose to defaults. Most people describe their voice as "casual and direct". That's how the model already thinks it writes. Samples carry the detail, but a 1,500-character field holds only a few samples.
  • Nothing checks the result. An instruction is a request. A banned word comes back as a near synonym. Nobody counts the words.
  • Replies ignore the thread. If a colleague writes in lowercase with no full stops, a polished reply stands out, unless you paste the thread every time.
  • Your fixes go nowhere. When you edit a draft and send it, the model never sees the version you sent. Next week's draft has the same problem.

Send every draft through a voice layer

Ownhand is an MCP server. It sits between your agent's draft and you. Your agent writes as usual, then calls the write tool with the draft and the occasion. Ownhand rewrites it from your Hand and hands it back for you to read before anything goes out.

  • Your Hand is built from 5 to 10 things you wrote yourself, like Slack messages, emails, and PR descriptions.
  • Each occasion sets the length, greeting, sign-off, and formatting. A chat_dm is capped at 60 words with no sign-off. An email_cold is capped at 125 words, needs a greeting and a sign-off, and has no Markdown.
  • For a reply, your agent passes up to 30 recent messages. Ownhand measures how you write in that thread, such as length, casing, emoji and greetings, and matches it. The thread is used for that one request and never stored.
  • Names, numbers, dates, and links in the draft must appear in the rewrite. A checker also looks for stock phrases and sentence shapes. When a check fails, the model gets the list and tries again, up to two more times. Anything left is reported to your agent.
  • When you send, your agent reports the exact text, and your Hand learns from the difference. See how Ownhand learns from what you send.

Three examples, from chat and email:

These examples are real output from the live API. Each AI draft was rewritten by a demo Hand: a fictional writer (an engineer, a founder, an ops lead, a designer or a consultant) built from a handful of samples.

AI draft: Just a friendly reminder that the staging environment will be down for maintenance from 6pm to 8pm today. Thank you for your understanding!

Demo Hand, engineer: staging down for maintenance 6pm-8pm today

AI draft: Just following up on my previous message about the contract renewal. I understand you're busy, but it would be great to get your sign-off before the 15th.

Demo Hand, consultant: Following up on the contract renewal. Could you sign off before the 15th?

AI draft: Would you be available for a quick sync sometime this week? I'm flexible and happy to work around your schedule. Tuesday after 2pm or Wednesday morning would work well.

Demo Hand, founder: Up for a quick sync this week? Tuesday after 2pm or Wednesday morning works for me.

The Slack rewrite drops the reminder framing and the thanks. It keeps the times. The email keeps the contract, the date and the ask in half the words. The scheduling note keeps both time slots and loses the offer to work around the other person's calendar.

Make it the default

To make your agent do this without being asked, paste the agent blurb from the docs into CLAUDE.md, AGENTS.md, a Cursor project rule, or your assistant's custom instructions. It tells the agent which occasion to pick, to pass the thread for replies, to show you the draft first, and to report what you sent.

Setup for a specific app is in make Claude write like you and make ChatGPT write in your voice. Idiolect is another MCP server that builds a writing profile from your own writing. Ownhand vs Idiolect compares the two.

Follow-up questions

Should I paste my writing samples into custom instructions?

Yes, if they fit. Two or three short messages from the place you write most teach the model more than a paragraph of adjectives. On ChatGPT Free and Go the field holds 1,500 characters, so a Project with a samples file gives you more room.

Does Claude's or ChatGPT's memory learn how I write?

Partly. Both can save a preference you state. Anthropic says Claude's memory keeps communication preferences and working style. Neither help center describes comparing a draft with the message you sent afterwards, so a habit you never say out loud is unlikely to be picked up.

Which occasion should my agent use for a Slack message?

chat_dm for a direct message and chat_channel for a channel post or a thread reply. For email, pick email_internal for a coworker, email_warm for someone you know, email_cold for a stranger and email_formal for a senior person, a client or an official.

Does Ownhand send messages for me?

No. It returns the rewrite to your agent, and your agent shows it to you. Nothing is sent or posted until you say so.

Do I need a tool for this if I write most messages myself?

No. If you only use AI for the odd email, a prompt with your samples and a quick read of the first and last lines will do. A voice layer pays off when an agent drafts many of your messages every day.

Sources

Checked on 2 October 2026. If something here is out of date, email hi@thalientlabs.ai and we will fix it.

Install

In Claude Code it is one line. You sign in through your browser, so there is no API key to copy.

claude mcp add --transport http --scope user ownhand https://ownhand.dev/mcp

For Claude, ChatGPT, Cursor, VS Code, Codex, Gemini CLI, Windsurf, Zed, Goose and Cline, see Connect. New accounts get $1 of free credit. After that you pay as you go, and each rewrite costs about half a cent.

More answers: all questions. Full reference: Docs.