Skip to main content

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)