Skip to content
Eugene Tartakovsky edited this page May 17, 2026 · 1 revision

Thanks

Slopless stands on prior work. This page names what we drew from, what we depend on, and where we sit alongside (not above) adjacent tools.

Direct rule sources

The phrase-rule dictionaries in slopless were ported or enriched from these projects:

  • proselint (Python, MIT). The canonical reference for the rules we share. Slopless ports the following dictionaries from proselint==0.16.0:

    • corporate-speak (from proselint/checks/industrial_language/corporate_speak.py)
    • skunked-terms (from proselint/checks/skunked_terms.py)
    • uncomparables (from proselint/checks/uncomparables.py)
    • cliches (enrichment source)

    Each ported rule lives next to a *.source.md file in src/rules/phrases/data/ that links back to the original.

  • Vale's proselint port (Go YAML, MIT). Cross-check source for the ported dictionaries above (proselint/CorporateSpeak.yml, proselint/Skunked.yml, proselint/Uncomparables.yml, proselint/Cliches.yml).

  • no-cliches (npm, MIT). Primary list for the cliches dictionary, merged with the proselint Vale port.

If you contribute prose-pattern rules sourced from another project, add a *.source.md next to the rule data file naming the upstream project, version, and license.

Tooling we depend on

Adjacent projects (complementary, not superseded)

  • alex — inclusive-language linting. Different goal from slopless. Use both. They do not overlap.
  • vale — configurable style-guide-as-code. Different goal. Slopless is opinionated and pattern-targeted; vale is configurable and style-guide-targeted. Both have a place in a serious prose pipeline.
  • write-good — narrow heuristics (passive voice, weasel words, lexical illusions, "so" openers). Slopless covers some overlapping patterns but with different rule shapes. Use both if you want belt-and-suspenders coverage of weasel-style patterns.

What slopless extends

Slopless covers families that proselint and the alternatives above do not target:

  • LLM artifacts (llm-vocabulary, llm-openers, llm-disclaimer, response-wrapper) — patterns specific to language-model output.
  • Narrative slop (narrative-cliches, body-action-density, perception-verb-density) — stock generated-fiction gestures.
  • Syntactic patterns (summative-closer, demonstrative-emphasis, false-question, lesson-framing, triple-repeat, and others) — sentence-shape matches for rhetorical templates.
  • Semantic thinness (semantic-thinness) — low-information templates that gesture at depth without delivering.
  • Tortured academic phrases (tortured-phrases) — known machine-paraphrased academic terms.

These are net new contributions, not ports. Proselint and the rest remain the right tools for the patterns they were built for.

Clone this wiki locally