check-ai-tells
Scans narrative prose in Markdown and Quarto files (*.md, *.qmd, *.Rmd) for AI tell patterns (e.g. overused vocabulary, negation-reversal antithesis, signposting filler), computing tell density per 1,000 words.
The catalog is the mechanical subset of the prose rules in Principles of Scientific Writing, which is the canonical list. Add a tell there first, then add a pattern here when a regex can find it.
Usage
jobs:
check-ai-tells:
uses: Morrison-Lab/gha/.github/workflows/check-ai-tells.yml@v2
with:
fail: false
# runs-on: private-runner # self-hosted runner label (private repositories only)Inputs
| Input | Description | Default |
|---|---|---|
paths |
Comma- or space-separated list of files or globs to scan. | All *.md, *.qmd, *.Rmd |
paths-ignore |
Comma- or space-separated list of file paths or globs to exclude from scanning. | '' |
base-ref |
Git base ref to limit checking to newly added/modified lines in diff. | '' (whole-file scan) |
threshold |
Maximum allowed tell density (tells per 1,000 words) before failing when fail: true. |
10 |
ignore-tells |
Comma- or space-separated list of tell names to ignore (e.g. robust, landscape). |
'' |
fail |
Whether to fail the workflow if tell density exceeds threshold. | false |
runs-on |
Runner label for the job. Use a self-hosted label only for a private repository; never for a public one, whose pull requests can run arbitrary code on it (#1167). | empty (CI_RUNNER variable, else ubuntu-latest) |