slop-score

SKILL.md

Slop Score Analysis

Analyzes text for statistical patterns common in AI-generated writing.

Usage

Run the analysis script on any text file:

bun run ./scripts/slop-score/analyze.js --all <filepath>

Always use the --all flag to include complete metrics.

Output

Return the raw JSON output exactly as received. Do not summarize, interpret, or add commentary. The JSON output is the complete result.

JSON Structure

{
  "file": "path/to/file.md",
  "total_chars": 13548,
  "total_words": 2116,
  "slop_score": 6.26,
  "metrics": {
    "slop_words_per_1k": 3.31,
    "slop_trigrams_per_1k": 0,
    "ngram_repetition_score": 124.6,
    "not_x_but_y_per_1k_chars": 0.29,
    "lexical_diversity": {
      "mattr_500": 0.50,
      "type_token_ratio": 0.31,
      "unique_words": 654,
      "total_words": 2116
    },
    "vocab_level": 6.08,
    "avg_sentence_length": 9.97,
    "avg_paragraph_length": 24.43,
    "dialogue_frequency": 0.96
  },
  "slop_word_hits": [["paradoxically", 1], ["fundamentally", 1]],
  "slop_trigram_hits": [],
  "contrast_matches": [
    {
      "pattern_name": "S1_RE_NOT_DASH",
      "sentence": "The phone was not just a device-it was an extension of its owner.",
      "match_text": "not just a device-it was",
      "sentence_count": 1
    }
  ],
  "top_over_represented": {
    "words": [{"word": "flickered", "ratio": 5756.12, "count": 42}],
    "bigrams": [{"phrase": "heavier like", "ratio": 7364.33, "count": 5}],
    "trigrams": [{"phrase": "story it's epic", "ratio": 3058.81, "count": 3}]
  }
}

Calibration Reference

Lower scores indicate more human-like writing:

  • Human baseline: ~10
  • Claude Sonnet 4.5: ~20
  • GPT-4o: ~upper 40s
  • Gemini 2.5 Flash: ~upper 70s
Weekly Installs
4
GitHub Stars
1
First Seen
Feb 4, 2026
Installed on
claude-code4
opencode3
gemini-cli2
antigravity2
github-copilot2
zencoder2