A living banlist of the words, phrases, and structural tics that signal AI-generated writing - the ones to flag and scrub from a draft before it goes out.
Published at claudisms.ai, deployed automatically from this repository. Released into the public domain under CC0 1.0 - copy it, fork it, wire it into your own tooling, no attribution required.
| File | What it's for |
|---|---|
claudisms.json |
The source of truth. Every entry, machine-readable. Build tooling against this. |
template.html |
The page shell - layout, styling, copy. Edit this to change anything that isn't an entry. |
claudisms.md |
The same list as Markdown, for reading or pasting into a style guide. |
index.html |
The published page. |
llms.txt, sitemap.xml |
Machine-readable pointers for crawlers. |
claudisms.md, index.html, llms.txt and sitemap.xml are generated - from
claudisms.json and template.html. Don't edit them by hand; your changes will be
overwritten on the next build. CI rebuilds and compares all four, so drift can't ship.
Pull the list straight from the site:
curl -s https://claudisms.ai/claudisms.jsonEach entry looks like this:
{
"id": "sit-with",
"term": "sit with",
"display": "\"sit with\" / \"worth sitting with\"",
"aliases": ["sit with", "worth sitting with"],
"category": "Confirmed Claudisms",
"definition": "- reflective-pose filler. Sounds thoughtful; doesn't say anything.",
"url": "https://claudisms.ai/#sit-with"
}aliases are the strings a scanner should match on. display is the heading as it
appears on the page. definition keeps its own leading separator so entries that
continue their heading mid-sentence still read correctly.
python3 build.py # regenerate claudisms.md and index.html from the JSON
python3 build.py --check # exit 1 if the generated files are out of dateNo dependencies beyond the Python standard library. CI runs --check on every pull
request, so a change to claudisms.json has to ship with its regenerated output.
New entries are welcome - see CONTRIBUTING.md for the bar an entry has to clear and how to open a pull request.
Models reach for the same small set of moves, and once you can name them you stop shipping them. For the thinking behind it, read Your Name Is Still on It.