{"slug": "tropius-detect-ai-tropes-in-prose", "title": "tropius: detect AI tropes in prose", "summary": "Developer Owais released tropius, a CLI tool that detects AI tropes in prose using Aho-Corasick phrase matching and structural detectors. The tool scans text for patterns like clichés and repetition, inspired by a BlueSky discussion about detecting AI-generated writing styles.", "body_md": "# tropius[#](#tropius)\n\n`tropius`\n\nis a CLI to detect AI tropes in prose.\n\n## How[#](#how)\n\nWe use a pattern dictionary in TOML based on a [trope list](/desertthunder.dev/tropius/tree/main/meta/tropes.md)\nfrom [Tropes.fyi](https://tropes.fyi)\n\n```\nText\n  ↓\nAho-Corasick phrase matcher\n  ↓\nStructural, repetition, and character-class detectors\n  ↓\nFindings report\n```\n\n## Usage[#](#usage)\n\nScan text from stdin:\n\n```\nprintf 'Let us delve into this robust ecosystem.' | cargo run -q -p tropius-cli\n```\n\nScan article text extracted from a live URL with\n[lectito](https://lectito.stormlightlabs.org/):\n\n```\n# Install lectito\ncargo install lectito-cli\n\nlectito 'https://www.solo.io/blog/what-is-agent-identity-human-workload-a-new-layer' \\\n    --format text \\\n    | cargo run -q -p tropius-cli\n```\n\nThe CLI exits `0`\n\nwhen no findings are found and `1`\n\nwhen it finds trope signals.\n\nIt exits `2`\n\nfor usage or configuration errors.\n\nColor output respects [ NO_COLOR](https://no-color.org/).\n\n## Coverage[#](#coverage)\n\n- an implementation path for every source section in\n`tropes.md`\n\n- phrase patterns for literal trope signals\n- structural detectors for sentence and paragraph shape\n- repetition detectors for repeated metaphor terms and duplicated content\n- markdown-aware detection for bold-first bullets\n- character-class detection for Unicode decoration\n\n## Inspiration[#](#inspiration)\n\nI got nerd-sniped on [BlueSky](https://bsky.app/profile/samuel.fm/post/3mp3l3cxg622y)\n\n[Samuel - @samuel.fm]2026-06-25 04:16“Claudesmell” labeller for\n\n[standard.site]records wen\n\n[owais - @desertthunder.dev]2026-06-25 04:18what does claudesmell mean here\n\n[Samuel - @samuel.fm]2026-06-25 04:22smells of claude, e.g. short, punchy yet needlessly florid prose, excessive claudeisms, it’s not just x it’s y etc\n\n[owais - @desertthunder.dev]2026-06-25 04:26You know that feeling of nerd-sniping about to happen? I gotta use aho-corasick +\n\n[tropes.fyi]in some way", "url": "https://wpnews.pro/news/tropius-detect-ai-tropes-in-prose", "canonical_source": "https://tangled.org/desertthunder.dev/tropius", "published_at": "2026-06-25 09:23:21+00:00", "updated_at": "2026-06-25 09:52:53.276608+00:00", "lang": "en", "topics": ["ai-tools", "natural-language-processing"], "entities": ["tropius", "Owais", "Tropes.fyi", "Aho-Corasick", "BlueSky", "Samuel", "lectito"], "alternates": {"html": "https://wpnews.pro/news/tropius-detect-ai-tropes-in-prose", "markdown": "https://wpnews.pro/news/tropius-detect-ai-tropes-in-prose.md", "text": "https://wpnews.pro/news/tropius-detect-ai-tropes-in-prose.txt", "jsonld": "https://wpnews.pro/news/tropius-detect-ai-tropes-in-prose.jsonld"}}