# Hiding my AI slop from my Nix friends

> Source: <https://fzakaria.com/2026/09/28/hiding-my-ai-slop-from-my-nix-friends>
> Published: 2026-09-28 20:21:00+00:00

**Warning**
If you are pissed off reading this, you can [start here](https://fzakaria.com/2026/07/18/how-to-piss-off-your-nix-friends) and work your way back.

I am [using AI a lot](https://fzakaria.com/2026/05/31/ai-is-a-boon-for-the-anal-retentive). I am public about my use of it and when required make the necessary disclosures: “Assited-By” trailers or having to say “I used an AI to help write this software” *on every* [Discourse](https://discourse.nixos.org/) post.<sup>1</sup>1Seems like whether or not you use AI, I feel more compelled just to disclose I did to avoid the “you didn’t disclose it” argument. Such is life. 

For those of you in the “Anti-AI” crowd, it might surprise you to learn that those of us who enjoy using it also don’t want to read “slop”. I also don’t want anything I create to *read* like I used AI a lot. Commit messages, READMEs, code comments. I’m reading it also!

Being a Nix person, my instructions to the agent are of course declarative. My `~/.claude/CLAUDE.md` (and Codex’s `AGENTS.md`) is generated by home-manager from [agent-settings.nix](https://github.com/fzakaria/nix-home/blob/master/users/fmzakari/agent-settings.nix). It has a whole section titled *“Writing style: no LLM tells”* that I stitched together from Wikipedia’s [Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing) and Simon Willison’s [LLM cliche highlighter](https://tools.simonwillison.net/llm-cliche-highlighter).

```
writingStyle = ''
  ## Writing style: no LLM tells

  ### Banned vocabulary

  Do not use these words. They are statistically the loudest signal of
  machine-written text: delve, tapestry, meticulous, pivotal, intricate,
  ...
'';
```

The code-style tries to ban many *AI-isms* as they emerge such as: “it’s not X, it’s Y”, “dvelve”, “byte-order”, minimal em-dashes and so forth.

I even came across [Fabien Sanglard](https://fabiensanglard.net/)’s code style rules from [this HackerNews thread](https://news.ycombinator.com/item?id=48884313) that I have enjoyed incorporating as well. Why not have my agent write code that mimics engineers I admire!?

Despite this, I still found my agents continuing to use these banned words and phrases. 😒

## [§](#reproducible-ai-slop-removal)Reproducible AI-slop removal

I was *a little annoyed* I had to keep re-prompting my preferred writing style but I often reflect on [the bitter lesson](http://www.incompleteideas.net/IncIdeas/BitterLesson.html) and generally try to avoid any additional work while I wait for the model’s capabilities to improve.

I was however surprised when upon one such occasion I realized that the agent itself had itself gotten frustrated at forgetting my writing style and turned it into a flake check.

During the creation of [omnibin.dev](https://omnibin.dev), I noticed the agent had created [tools/check-prose.py](https://github.com/fzakaria/omnibin/blob/fc56e228eaf26407d976d59f4dcda306ead87345/tools/check-prose.py) to check for banned words and phrases in the source tree. It is a simple Python script that walks the repo and fails on a banned word, phrase, or a single em dash anywhere.

I had begun setting up a distinct pattern of how I like my repositories laid out so it was funny to see it automatically include this check in the CI of my build.

Despite the *bitter lesson*, I might try leveraging this check in my other repos. What I like about deterministic checks rather than a markdown context-file is that it’s verifyable and reproducible. I’m not left guessing whether the agent is following my style or not. I can run the check myself and see if it passes or fails.

## [§](#honesty-is-a-mirror)Honesty is a mirror

Let’s be honest with myself and do some introspection. How much has AI-isms crept into my writing? I applied the same check to my own blog posts.

| Years | Posts | Em dashes | Banned words | Banned phrases | 
|---|---|---|---|---|
| 2020-2024 | 64 | 0 | 17 | 13 | 
| 2025-2026 | 91 | 21 | 54 | 16 | 

Clearly I was not a fan of em dashes in the last five years, then suddenly I found 21 uses in two, which happen to coincide with the proliferation of AI.<sup>2</sup>2The top offender is `leverage` at 51 hits. I used it in 2021 and 2022 too. Some tells are just mine.  🤔

We seem to be all worried about how many em dashes are in our text. [Goodhart’s law](https://en.wikipedia.org/wiki/Goodhart%27s_law) teaches us that at that point, that is no longer a good measure of AI slop.

Treat each other kindly.
