# Lint English Prose for Style Issues

Paste English prose and flag clichés, weasel words, passive voice, redundancies, jargon, long sentences, and repeated words locally in your browser.

## Run it

- **CLI:** `gizza tool prose-linter "So the proposal was written at the end of the day, and it is very innovative."`
- **Web:** https://gizza.ai/tools/prose-linter/
- **Agents:** machine-readable descriptor (parameters JSON Schema) at https://gizza.ai/tools/prose-linter/tool.json

## Inputs

- `text` — Prose to lint _(field)_
- `checks` — Checks to run _(field)_
- `output` — Output format _(field)_
- `ignore` — Ignore these phrases _(field)_
- `max_issues` — Maximum issues to list _(field)_
- `long_sentence_words` — Long sentence threshold _(field)_

## Output

- Lint report (text)

## Query parameters

Open the tool pre-filled and auto-run via URL:

- `text` — Prose to lint
- `checks` — Checks to run
- `output` — Output format
- `ignore` — Ignore these phrases
- `max_issues` — Maximum issues to list
- `long_sentence_words` — Long sentence threshold

Example: `https://gizza.ai/tools/prose-linter/?text=So%20the%20proposal%20was%20written%20at%20the%20end%20of%20the%20day%2C%20and%20it%20is%20very%20innovative.&checks=all&output=report&ignore=very%2C%20touch%20base&max_issues=200&long_sentence_words=30`

---

## About this tool

Paste a draft to find common style problems before you publish or send it for review. The linter is deterministic and offline: it uses an embedded rule set, not an AI model, so the same input produces the same report every time.

It can flag tired clichés, vague weasel words, filler adverbs, hedges, corporate jargon, wordy phrases, redundancies, passive-voice patterns, repeated words, sentences that begin with "There is" or "So", long sentences, and opt-in E-prime violations. Use `checks` to run a subset such as `cliche,weasel,passive`, or start with `all,-passive` to disable one rule.

Example input:

```text
So the plan was written at the end of the day. We should leverage a best-in-class solution and touch base soon.
```

Example report output includes:

```text
5 issues found in 22 words / 2 sentences.

LINE:COL  RULE       ISSUE
1:1       so-start   sentence starts with "So"
1:18      passive    "was written" is passive voice
1:33      cliche     "at the end of the day" is a cliché
```

Limits and edge cases: input is capped at 1,000,000 bytes; matching is English-only; phrase rules are case-insensitive but not grammar-aware; passive voice is a heuristic that catches common "be + participle" forms and may miss complex constructions; spelling, punctuation, factual correctness, tone, and full grammar repair are out of scope. Treat findings as prompts for revision, not automatic edits.

## FAQ

<details>
<summary>Is this a grammar checker?</summary>

No. It does not parse full grammar, correct spelling, or rewrite sentences. It flags deterministic style patterns such as clichés, filler words, passive voice, repeated words, and long sentences so you can decide what to revise.

</details>

<details>
<summary>What should I put in the checks field?</summary>

Use `all` for the default rule set. You can name rules directly, such as `cliche,weasel,passive`, disable one default rule with a minus sign such as `all,-passive`, or add the stricter opt-in E-prime rule with `all,eprime`.

</details>

<details>
<summary>How does the ignore field work?</summary>

Enter a comma-separated list of words or phrases your style guide allows, such as `very, touch base`. Matching is case-insensitive and suppresses findings whose matched phrase exactly equals one of those entries.

</details>

<details>
<summary>Why did it flag a sentence that reads fine?</summary>

The tool is intentionally rule-based, so it can produce false positives. For example, a passive construction may be the clearest option, and a phrase that is cliché in marketing copy may be acceptable in dialogue. Review each finding in context.

</details>

## Related tools

- [Shorten Long Audio Pauses](https://gizza.ai/tools/audio-pause-shortener/): Tighten speech pacing by shortening long silent gaps to a natural pause length in your browser. Nothing is uploaded, free.
- [Lint Bash and sh Scripts](https://gizza.ai/tools/shell-script-linter/): Paste a bash, sh, dash or zsh script and catch common shell pitfalls: unquoted variables, missing strict mode, useless cat, risky rm -rf and subshell scope traps.
- [Convert Video to DNxHR MOV or MXF](https://gizza.ai/tools/video-to-dnxhd/): Transcode a video to an Avid DNxHR editing intermediate. Choose DNxHR LB/SQ/HQ/HQX/444, wrap as MOV or MXF, optionally downscale, and write PCM or copied audio.
- [Convert Video to ProRes 422 MOV](https://gizza.ai/tools/video-to-prores/): Transcode a video to an Apple ProRes 422 QuickTime MOV intermediate for editing. Pick Proxy, LT, 422, or HQ, downscale if needed, and keep uncompressed PCM audio.
- [Extract Action Items from Meeting Notes](https://gizza.ai/tools/action-item-extractor/): Extract action items, owners, and decisions from meeting notes or daily notes with deterministic rules. Markdown checklist or JSON, private in-browser.
