How to Track Changes with Claude (or ChatGPT)

tech, markdown, llm, ai, tools, writing

One of the more useful applications of today’s LLMs (“AI) such as Claude or ChatGPT is to provide feedback on your writing. They can function similarly to the spelling and grammar suggestions that already exist in most word processors, but they can also do much more: from cleaning up awkward phrasing to even (and notoriously) writing the entire thing for you. I’ve even instructed Claude to act as an academic journal peer-reviewer with some success. However, everyone should know by now that working with an LLM is hit-or-miss. Many of the suggestions given by an LLM are quite terrible and should be ignored. Even when they are reasonable, it often fails to capture your style and ends up giving your writing a generic feeling, erasing your voice.

One way to avoid these problems is to use the equivalent of a word processor’s track changes” or editing suggestions” feature, allowing you to go through each edit one-by-one rather than simply letting the LLM re-write the entire text. But how to do this? I assume that, eventually, word processors will have this functionality, but until then there are a couple of options. (These options are also good for people like me, who prefer a plain text workflow.)

The first is the easiest, but also the most expensive. That is to use a paid service called EditGPT. It is actually free up to 1,000 words per request (and 10,000 words per month), so you can try it for yourself. If you want to use it more you’ll have to cough up $10 a month on top of what you are already paying for ChatGPT or Claude. (This is actually a special introductory price; they plan to later charge $20 a month.) It seems like a good service and is probably worth it for many people.

I decided to go a different route. There are three reasons for this. First, I prefer Claude’s writing advice to that offered by ChatGPT. Second, I don’t like using Microsoft Word if I can avoid it, and so wanted an option that would work with my preferred writing app: Obsidian. And third, since what EditGPT seems to be doing is just wrapping some special instructions to the LLM and giving them a nice interface, I figured I could do that myself.

The trick is to install the Commentator plugin for Obsidian. The form of plain text Obsidian uses is called Markdown,” and CriticMarkup is an unofficial addition to the Markdown syntax that allows for tracking changes in Markdown. (Technically, it is a variety of Markdown called MultiMarkdown.”) This plugin adds support for CriticMarkup in Obsidian, as well as an interface for accepting or rejecting each change. I have to warn you, though, it is very much still in beta{,} and some features are not yet implemented. It can be a little unreliable as well. But it is good enough for me.

NOTE: I recommend also installing the BRAT plugin, which makes it easier to manage beta plugins that are not yet in the Obsidian extension catalog.

The next step is to instruct Claude or ChatGPT to make all suggestions using the CriticMarkup syntax. Then you can just paste the result in Obsidian and review each change there. If all this is too much for you, you can also try using MultiMarkdown Composer, although I haven’t tested that myself.

I currently use Claude, rather than ChatGPT, and with a pro account you can create projects.” I’ve uploaded the README file from the CriticMarkup documentation to make sure it understands how to use it (though it seems to know without this). And I included the following instructions:

Save the output as an artifact. Use Markdown format with all the changes tracked using the CriticMarkup syntax as described in the attached README file.

Proofread any pasted or uploaded, only making changes to improve readability, and for clarity, while preserving the original voice and tone of the article.