a checker for machine-written prose

Your assistant has tells.

Readers spot them in a sentence: delve, in short, the it's not X, it's Y turn. cliche finds them before your message goes out. It runs the same rules every time, with no model in the loop, so a clean result means the same thing tomorrow.

install
❯curl -fsSL https://raw.githubusercontent.com/jah2488/cliche/main/install.sh | bash

Piping a script into a shell deserves a look first. Read it here.

try it

Paste something. Watch the red pen.

This box runs the exact code the command line runs, right in your browser. Nothing you type leaves the page.

    two rule groups

    A public pattern set, plus a stricter house style.

    upstream

    The pattern set from Simon Willison's LLM cliche highlighter, including the tells from Wikipedia's Signs of AI writing. Vendored verbatim and checked against its own 192 self-tests on every sync.

    house

    An opinionated layer on top: em dashes, the antithesis frame, as you asked compliance narration, in short recaps, smoking gun, load-bearing, and a full sentence used to introduce a list. Switch off any rule you disagree with.

    Code samples never trip it. Fenced blocks, inline code, URLs and quotes are skipped before matching.

    in claude code

    Checked before it sends.

    outbound hook

    Before Claude posts to Slack, sends an email, comments in Linear or Notion, or opens a pull request, the hook checks the text. On a hit, Claude gets the list and rewrites before trying again.

    reply check

    Long replies in your terminal get the same pass. Hits come back to Claude as a note, so it fixes its next answer without stopping the current one.

    /cliche skill

    Ask for a cliche pass on any draft. Claude runs the checker, fixes the real tells, and tells you which hits it judged false positives and why.

    The hook fails open. If it hits a bug, your message still sends. Set CLICHE_SKIP=1 to let one call through on a false positive.

    install

    One line in. One command to stay current.

    1. 1
      Run the install line. It clones into ~/.local/share/cliche, puts cliche on your PATH, and offers the /cliche skill.
    2. 2
      Paste the hook entries it prints into ~/.claude/settings.json if you want automatic checks. The installer never edits your settings.
    3. 3
      Run cliche update whenever you like. It pulls the latest patterns and house rules.
    usage
    ❯cliche draft.md # check a file ❯pbpaste | cliche # check the clipboard ❯cliche --group upstream draft.md # public patterns only ❯cliche --list # every rule and its id ❯cliche update # pull the latest

    Needs git and node 18 or newer. To install by hand, clone the repo and put cliche on your PATH.