{
  "slug": "sentence-length-stats",
  "name": "gizza-ai/sentence-length-stats",
  "version": "0.1.0",
  "title": "Sentence Length Stats — count, average and distribution — gizza.ai",
  "description": "Analyze sentence length in prose: sentence count, average and max words, variety score, long-sentence rate and a length distribution. Runs locally.",
  "tags": [
    "sentence length",
    "writing statistics",
    "readability",
    "sentence count",
    "prose analysis",
    "text statistics"
  ],
  "category": "math",
  "urls": {
    "page": "https://gizza.ai/tools/sentence-length-stats/",
    "markdown": "https://gizza.ai/tools/sentence-length-stats/index.md",
    "descriptor": "https://gizza.ai/tools/sentence-length-stats/tool.json",
    "deep_link_example": "https://gizza.ai/tools/sentence-length-stats/?text=Short%20sentences%20land%20fast.%20Longer%20sentences%20can%20carry%20nuance%2C%20context%2C%20and%20rhythm%20when%20they%20are%20placed%20carefully.%20Mix%20both.&newlines=paragraph&long_threshold=25&list_longest=3&extra_abbreviations=approx%2C%20dept%2C%20ing"
  },
  "cli": "gizza tool sentence-length-stats \"Short sentences land fast. Longer sentences can carry nuance, context, and rhythm when they are placed carefully. Mix both.\"",
  "tool": {
    "description": "Measure how long the sentences in a block of text are. Returns the sentence count, total words and characters, average words and characters per sentence, median length, the shortest and longest sentence (with their positions), the standard deviation, a 0-100 variety score with a plain-language band, how many sentences reach a configurable long-sentence threshold, how often adjacent sentences have near-identical lengths, the distribution across five bands (very short 1-9, short 10-14, medium 15-24, long 25-34, very long 35+), and the N longest sentences. Sentence boundaries use a rule-based detector that keeps abbreviations (Dr., e.g.), initials, decimals and list enumerators intact. Options: newlines (paragraph/never/always), long_threshold, list_longest, extra_abbreviations. Deterministic, no AI model, runs locally — the text never leaves the device.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "extra_abbreviations": {
          "default": "",
          "description": "Comma-separated extra abbreviations that must never end a sentence, without the trailing period, e.g. \"approx, ing, dept\". Common titles and Latin abbreviations (Dr., e.g., i.e.) are already handled.",
          "type": "string"
        },
        "list_longest": {
          "default": 3,
          "description": "How many of the longest sentences to list, longest first, with their position in the text. 0 lists none. Default 3.",
          "maximum": 50,
          "minimum": 0,
          "type": "integer"
        },
        "long_threshold": {
          "default": 25,
          "description": "Word count at or above which a sentence is reported as long, e.g. 25 (default) for web copy, 20 for plain-language writing.",
          "maximum": 500,
          "minimum": 1,
          "type": "integer"
        },
        "newlines": {
          "default": "paragraph",
          "description": "How line breaks end a sentence: \"paragraph\" (default) breaks only on a blank line, \"never\" treats every line break as ordinary whitespace, \"always\" ends a sentence at every line break (use for subtitles, bullet lists, one-line-per-row text).",
          "enum": [
            "paragraph",
            "never",
            "always"
          ],
          "type": "string"
        },
        "text": {
          "description": "The text whose sentence lengths to measure. Plain prose; up to 500000 characters.",
          "type": "string"
        }
      },
      "required": [
        "text"
      ],
      "type": "object"
    }
  }
}