Skip to content

verbosity-redundancy โ€” Redundant Phrase Removal โ€‹

Severity: INFO ยท Auto-fix: Yes ยท Category: ๐Ÿ“ Verbosity

What It Does โ€‹

Detects multi-word phrases that can be replaced with a shorter equivalent without changing meaning. These accumulate across prompts and waste tokens.

Detected Phrases (40+) โ€‹

All matches are case-insensitive:

Prepositions & Connectives โ€‹

VerboseConciseTokens saved
in order toto2
due to the fact thatbecause4
for the purpose offor3
in the event thatif3
with regard toabout / for2
in relation toabout2
for the reason thatbecause3
with the exception ofexcept3
in spite of the fact thatalthough5
in close proximity tonear3
prior tobefore1
subsequent toafter1
until such time asuntil3

Time Expressions โ€‹

VerboseConcise
at this point in timenow
in the near futuresoon
at the present timenow
on a daily basisdaily
on a weekly basisweekly
on a monthly basismonthly

Redundant Pairs (things that say the same thing twice) โ€‹

Redundant phraseWhy
past historyHistory is always past
future plansPlans are always future
end resultResults are ends
basic fundamentalsFundamentals are basic
close proximityProximity implies closeness
new innovationInnovations are new
personal opinionOpinions are personal
true factFacts are true
repeat againRepeat = do again
still remainsRemains = still is
advance planningPlanning is in advance
past experienceExperience is from the past
unexpected surpriseSurprises are unexpected
completely eliminateEliminate = completely remove
completely finishedFinished = completely done

Wordy Verb Phrases โ€‹

VerboseConcise
has the ability tocan
is able tocan
gather togethergather
join togetherjoin
refer backrefer
return backreturn
a total of(just the number)
each and everyevery
first and foremostfirst

Example โ€‹

Input:

In order to gather together the results, the function has the ability to
process each and every record. Due to the fact that this runs on a daily basis,
we need to completely eliminate past history from the cache prior to running.

Findings:

[ INFO ] verbosity-redundancy (line 1)  'in order to' โ†’ 'to'
[ INFO ] verbosity-redundancy (line 1)  'gather together' โ†’ 'gather'
[ INFO ] verbosity-redundancy (line 1)  'has the ability to' โ†’ 'can'
[ INFO ] verbosity-redundancy (line 2)  'each and every' โ†’ 'every'
[ INFO ] verbosity-redundancy (line 2)  'due to the fact that' โ†’ 'because'
[ INFO ] verbosity-redundancy (line 2)  'on a daily basis' โ†’ 'daily'
[ INFO ] verbosity-redundancy (line 3)  'completely eliminate' (redundant intensifier)
[ INFO ] verbosity-redundancy (line 3)  'past history' (tautology)
[ INFO ] verbosity-redundancy (line 3)  'prior to' โ†’ 'before'

After --fix:

To gather the results, the function can process every record. Because this
runs daily, we need to eliminate history from the cache before running.

False Positives โ€‹

prior to in formal/legal prompts โ€” some regulated industries use prior to as a required legal term. Disable verbosity-redundancy or use prior to as a recognized domain term.

personal opinion in survey prompts โ€” "What is your personal opinion?" is a legitimate phrasing in survey design where personal distinguishes it from professional recommendation. The rule will still flag it.

is able to in accessibility contexts โ€” "The screen reader is able to interpret this" is technically correct but uses a pattern the rule flags. Rephrase to "The screen reader can interpret this."

Configuration โ€‹

yaml
rules:
  verbosity_redundancy: true

fix:
  verbosity_redundancy: true   # auto-replace on --fix

Disable:

yaml
rules:
  verbosity_redundancy: false

Only one occurrence per pattern is reported per run

If prior to appears 5 times in a prompt, only the first occurrence is flagged. --fix replaces all occurrences.

Released under the Apache 2.0 License.