How I use AI When Writing
I use AI when I write for work.
And like you, I hate slop.
Despite LLMs writing like someone I would never want to spend time with, I still find some of their output useful.
They speed up research, even if they are confidently wrong.
And they are mediocre grammar checkers and good enough document structure editors, even if they are obtuse.
My Writing Standards
When My Writing is Personal
I don’t write personal things with AI. This includes text messages, emails to friends and family, and Slack messages, comments on documents.
When I Write for this Blog
Most of my writing on this blog is free form with limited edits. I hit publish and then find a mistake when I read it on my site and I’m quite okay with that.
However, I use LLMs to assist with research and validation. Every now and then, I’ll do a double check on grammar and structure with a writing tool like LanguageTool or Grammarly, and I’ll occasionally accept phrasing that an LLM suggests if it suits my needs.
When My Writing is An Artifact for Work
At work I write documentation and proposals that are artifacts the company can discuss and work with.
I use today’s AI tools to research ideas, validate my assumptions, fact-check my work, and edit the document’s structure. More on this later.
When Writing Generates Code
I write to AI agents in the form of chat interfaces, documents, and structured prompts to generate code. I use all the tools available to me:
- Type out my chat prompts by hand.
- Dictate through a voice-to-text model.
- Dictate through a voice-to-text model that is passed through an LLM to generate a structured output.
- Have an agent generate a document, then have a second agent read and validate that document.
Essentially, there are no rules when I write in order to generate code. I don’t even consider most of this “writing.” But it does result in generated text that has my name attached to it.
How I use AI to Write an Artifact
- Use a number of agents to do research. This often involves getting a coding agent to research and test ideas in a code repository, sending an agent with computer use off to do web research and produce a document, or chatting with an LLM to validate ideas.
- Save agent-generated artifacts. Between chat sessions, I get the agents to save artifacts other agents can find. Coding agents write docs, desktop agents find and read those docs and generate text files or docs through an MCP connector, and chat agents generate text I copy-paste elsewhere.
- Write a doc in my own words. After iterating with agents to build an understanding of what I’m writing, I start writing in my own words. The result is a document that is well-researched and thought-through. And very human. It has my tone, thought process, and mistakes.
- Edit with an LLM. I have two prompts that I use to edit both my work and docs the agent generates. For my own writing, I prefer to make the edits myself. Occasionally, I agree with the LLM’s feedback but am stumped on how to make a change, so I’ll ask for ideas.
- DON’T TRUST THE LLM. I use my judgement when the LLM gives me feedback. Its generated response often has good points that slightly miss the mark. I take those into account and use my own words.
- Use LLM-generated text when it helps. It feels like I’ve admitted to a mortal sin here. I am writing for business, and LLMs are trained on business applications. I have no problem copy-pasting a sentence from an LLM at this point because I’ve done the legwork and the LLM is helping with polish.
- DON’T ARGUE WITH THE LLM. It is going to generate text that makes no sense. Ignore this. When I have tried to correct things the LLM gets wrong, it begins to misunderstand the task overall. I often tell it what was good and then say something like “You can do better than this, I know you can. Give it a second, more thoughtful pass.” If is WEIRD to say things like that to a computer, but it works for me.
- Share my work.
I share a document with two sections. The first is my writing. The second is a summary of the LLM’s research, generated by the LLM. I flag this as AI-generated content in a BIG banner at the top.[EDIT: Oct 3, 2026] I no longer find value in the AI generated section. I share my writing with a notice at the top explaining the document was written by me with AI assisted research.
AI Agent Prompts
Research Prompts
In my research prompts, I tell the agents my objectives, opinions, and assumptions. This context helps the agent focus on the outcome I am asking for. It also forces me to think about my opinions and assumptions. I expect the agent to confirm my assumptions and push back on my opinions. If it doesn’t do this, I ask it to.
Here is a template of a prompt I use:
I am researching <feature>. I need you to research <technology> in this
repository and write a summary that explains the current state.
Focus on <area of code>.
Ignore <similar but irrelevant area of code>.
My objective is to <write your objective>.
My opinion is that <what I think the research will reveal and what decision
I lean towards already>.
My assumptions are <how the repo works, how the technology works with the
repo, etc.>
Prompts for Editing
I have been working on a skill I call “Writing for Understanding” that is based on a number of accessible writing standards from government websites and based on my own experience. I pass all of the writing through this with the following prompt:
/writing-for-understanding read @doc and give me feedback one bullet
point at a time. Don't edit the doc. I will make the edits myself.
I also use Anil Dash’s Better Documents with a similar prompt. This is where I often get stuck! The LLM makes good recommendations based on Anil’s skill, but I sometimes don’t have an idea at my fingertips. In this case, I ask the LLM for ideas for restructuring the doc.
I prefer to make these edits myself, even if it means copying some AI-generated text into my final output.