home ¦ Archives ¦ Atom ¦ RSS

copyedit: Update

copyedit is just a personal tool, built with agentic coding, in the spirit of Simon Willison. It prompts an LLM to copyedit text. At first, I wasn’t sure how well it would work, but I’ve been using it to clean up posts here for a while now. It actually works quite well.

There’s likely a plethora of ways to solve this problem (e.g. vale), but I’ve had fun putting this together.

In building it I’ve learned a few things:

  • The utility of hijacking a CLI module like Willison’s llm has been immense. There’s a lot of underlying plumbing that comes in handy. At the same time, llm hasn’t clicked as a Python package for me.
  • With a bit of prompting, LLMs are pretty good at keeping my general style, but there are a few mannerisms I’m going to need to add to the system prompt, for example leaving off leading ‘Is’ and ‘Its’ on fragments.
  • Annoyingly, LLMs don’t seem to comprehend word wrapping, although I should actually test that out. It feels a bit heavyweight to apply AI to that task, so I should probably apply a word-wrapping post-processing step.

Speaking of vale:

Vale is an open-source, command-line tool that brings your editorial style guide to life.

And looks like there’s a good book from Pragmatic Programmers:

Write Better with Vale

Automate Your Style Guides and Lint Prose Like You Lint Code

by Brian P. Hogan

Create consistent content that gives readers confidence with Vale, the open-source prose linter that helps you enforce your style guide automatically. Use battle-tested rules based on freely available, popular style guides, apply your brand’s terms with a custom vocabulary, and integrate Vale into your text editor, Git hooks, and CI pipeline. Catch typos and inclusive-language issues before they ship, and spend your energy on shaping ideas instead of fixing copy. Whether you’re a technical writer working in a docs-as-code environment, or a software engineer who occasionally writes, you’ll ship clean, consistent copy every time.

© 2008-2025 C. Ross Jam. Licensed under CC BY-NC-SA 4.0 Built using Pelican. Theme based upon Giulio Fidente’s original svbhack, and slightly modified by crossjam.