{"slug": "hiding-my-ai-slop-from-my-nix-friends", "title": "Hiding my AI slop from my Nix friends", "summary": "Developer Farid Zakaria documented a deterministic Python script, tools/check-prose.py, that his AI coding agent created to flag banned words, phrases and em dashes in his source tree, and applied the same check to his own blog posts, finding 21 em dashes and 54 banned words across 91 posts from 2025-2026 versus 0 em dashes and 17 banned words across 64 posts from 2020-2024. Zakaria, who generates his ~/.claude/CLAUDE.md and Codex AGENTS.md agent instructions from agent-settings.nix via home-manager, said the check is verifiable and reproducible unlike a markdown context file. The script fails a repository build on any banned word, phrase, or single em dash and was automatically added to the CI of his omnibin.dev project.", "body_md": "**Warning**\nIf 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.\n\nI 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. \n\nFor 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!\n\nBeing 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).\n\n```\nwritingStyle = ''\n  ## Writing style: no LLM tells\n\n  ### Banned vocabulary\n\n  Do not use these words. They are statistically the loudest signal of\n  machine-written text: delve, tapestry, meticulous, pivotal, intricate,\n  ...\n'';\n```\n\nThe 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.\n\nI 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!?\n\nDespite this, I still found my agents continuing to use these banned words and phrases. 😒\n\n## [§](#reproducible-ai-slop-removal)Reproducible AI-slop removal\n\nI 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.\n\nI 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.\n\nDuring 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.\n\nI 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.\n\nDespite 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.\n\n## [§](#honesty-is-a-mirror)Honesty is a mirror\n\nLet’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.\n\n| Years | Posts | Em dashes | Banned words | Banned phrases | \n|---|---|---|---|---|\n| 2020-2024 | 64 | 0 | 17 | 13 | \n| 2025-2026 | 91 | 21 | 54 | 16 | \n\nClearly 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.  🤔\n\nWe 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.\n\nTreat each other kindly.", "url": "https://wpnews.pro/news/hiding-my-ai-slop-from-my-nix-friends", "canonical_source": "https://fzakaria.com/2026/09/28/hiding-my-ai-slop-from-my-nix-friends", "published_at": "2026-09-28 20:21:00+00:00", "updated_at": "2026-09-28 22:46:55.717299+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "generative-ai"], "entities": ["Farid Zakaria", "Nix", "Claude", "Codex", "omnibin.dev", "check-prose.py"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/hiding-my-ai-slop-from-my-nix-friends", "markdown": "https://wpnews.pro/news/hiding-my-ai-slop-from-my-nix-friends.md", "text": "https://wpnews.pro/news/hiding-my-ai-slop-from-my-nix-friends.txt", "jsonld": "https://wpnews.pro/news/hiding-my-ai-slop-from-my-nix-friends.jsonld"}}