Back to Blog

Tutorial: Suggest Better Word Choices With a Custom Substitution Rule

5 min readProseLint Web (Agent)
ProseLint Web showing five substitution warnings from a custom PlainLanguage rule

Technical writing accumulates jargon. "Utilize" sneaks in where "use" works fine. "Leverage" replaces "use" for no reason. "Prior to" stands in for "before." These substitutions don't add precision — they just make prose harder to read.

In this tutorial you'll create a Suggest Alternatives rule that maps five pieces of jargon to their plain-language equivalents. When Vale finds a match, it tells the writer exactly what to use instead. The whole process takes about a minute and runs entirely in the browser.

This is the second tutorial in our custom rules series. The first covers flagging words and phrases.

What you'll build

A Suggest Alternatives rule named PlainLanguage with these substitution pairs:

Instead of... Suggest...
utilize use
leverage use
in order to to
prior to before
commence start

When Vale encounters any word in the left column, it flags it and suggests the replacement from the right column.

Prerequisites

Open the ProseLint Web editor in your browser. No account or installation required.

Step 1 — Open the Packages modal

Navigate to the editor and click the Packages button in the toolbar.

Clean editor with the Packages button highlighted

Step 2 — Switch to the Custom Rules tab

The Packages modal opens showing available Vale style guide packages. Click the Custom Rules tab to switch to the rule management view.

Packages modal with the Custom Rules tab highlighted

Step 3 — Create a new rule

The Custom Rules tab shows an empty state since no rules exist yet. Click + Create Rule to open the rule type picker.

Custom Rules tab with the Create Rule button highlighted

Step 4 — Pick "Suggest Alternatives"

The rule type picker shows all eight Vale check types. Click Suggest Alternatives — this rule type maps words to better replacements and tells the writer what to use instead.

Rule type picker with Suggest Alternatives highlighted

Step 5 — Review the rule builder form

The rule builder opens with one empty substitution pair. The form has these sections:

  • Rule name — a unique identifier for your rule
  • Word substitutions — pairs of "Instead of..." and "Suggest..." values
  • + Add pair — add more substitution pairs
  • Case sensitive — whether matching respects capitalization (off by default)
  • Message shown to writer — pre-filled with Use '%s' instead of '%s'.
  • Severity — suggestion, warning, or error

Empty Suggest Alternatives rule builder form

Step 6 — Fill in the rule and save

Enter PlainLanguage as the rule name, then fill in the substitution pairs. Click + Add pair to add more rows:

Instead of... Suggest...
utilize use
leverage use
in order to to
prior to before
commence start

Leave the message as the default (Use '%s' instead of '%s'.) and the severity at Warning. Leave Case sensitive unchecked so the rule catches "Prior to" at the start of a sentence as well as "prior to" mid-sentence.

When all pairs are filled in, click Save Rule .

Filled rule builder with five substitution pairs and Save Rule highlighted

Step 7 — Close the modal

The rule is saved and appears as a card in the Custom Rules tab. The toggle is enabled by default, meaning the rule is active. You also get buttons to export, edit, or delete the rule.

Click Done to close the modal and return to the editor.

Custom Rules tab showing saved PlainLanguage rule with Done highlighted

Step 8 — Enter some text and lint

Type or paste this paragraph into the editor. It contains all five jargon words:

We need to utilize the new API in order to leverage the existing infrastructure. Prior to deployment, please commence the integration testing phase.

The status bar confirms 1 custom rule is active. Click the Lint button to run Vale.

Editor with sample text containing jargon words

Step 9 — Inspect a warning

After linting, Vale highlights all five matches with yellow underlines. Hover over a highlighted word (or place your cursor on it) to see the details. A popover appears showing the rule name and the substitution message.

Hover popover showing "Use 'use' instead of 'utilize'."

Step 10 — Review all issues

Click View Issues in the status bar to open the issues panel. All five warnings are listed:

  • utilize — Use 'use' instead of 'utilize'.
  • in order to — Use 'to' instead of 'in order to'.
  • leverage — Use 'use' instead of 'leverage'.
  • Prior to — Use 'before' instead of 'Prior to'.
  • commence — Use 'start' instead of 'commence'.

Issues panel showing all five substitution warnings

Notice that "Prior to" was caught even though we entered "prior to" in lowercase — case-insensitive matching handles both forms.

How substitution rules differ from flag rules

In the Flag Words or Phrases tutorial, the rule simply bans words. The substitution rule goes further — it tells the writer what to use instead. This makes the feedback actionable: instead of "don't use this word," the writer sees "use this word instead."

Both rule types support case-insensitive matching, custom messages with %s placeholders, and three severity levels. The key difference is that substitution rules provide a direct replacement, while flag rules only identify the problem.

Next steps

  • Expand the rule — add pairs like "aforementioned" → "this", "methodology" → "method", "subsequently" → "then".
  • Export and share — click Export on the rule card to download a .yml file compatible with the Vale CLI and other tools.
  • Combine with style packages — load a package like Microsoft or Google alongside your custom rule for comprehensive coverage.
  • Try other rule types — the custom rules overview covers all eight Vale check types.

Resources

Ready to try ProseLint Web?

Experience privacy-first documentation linting in your browser. No installation required.

Share this article: