ai-text-check 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +36 -0
- package/README.md +174 -0
- package/SOURCES.md +34 -0
- package/dist/cli.js +13834 -0
- package/dist/index.cjs +13366 -0
- package/dist/index.d.cts +36 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.js +13351 -0
- package/dist/node.cjs +13581 -0
- package/dist/node.d.cts +41 -0
- package/dist/node.d.ts +41 -0
- package/dist/node.js +13564 -0
- package/dist/types-BlvvRFG5.d.cts +153 -0
- package/dist/types-BlvvRFG5.d.ts +153 -0
- package/package.json +115 -0
- package/slop-gate.config.json +3 -0
- package/vale/styles/AiTextCheck/DiveDeep.yml +5 -0
- package/vale/styles/AiTextCheck/Furthermore.yml +5 -0
- package/vale/styles/AiTextCheck/ImportantToNote.yml +5 -0
- package/vale/styles/AiTextCheck/InTodaysWorld.yml +5 -0
- package/vale/styles/AiTextCheck/LeverageUtilize.yml +5 -0
- package/vale/styles/AiTextCheck/meta.json +3 -0
- package/vale/styles/Google/AMPM.yml +9 -0
- package/vale/styles/Google/Acronyms.yml +64 -0
- package/vale/styles/Google/Colons.yml +8 -0
- package/vale/styles/Google/Contractions.yml +30 -0
- package/vale/styles/Google/DateFormat.yml +9 -0
- package/vale/styles/Google/Ellipses.yml +9 -0
- package/vale/styles/Google/EmDash.yml +12 -0
- package/vale/styles/Google/Exclamation.yml +12 -0
- package/vale/styles/Google/FirstPerson.yml +13 -0
- package/vale/styles/Google/Gender.yml +9 -0
- package/vale/styles/Google/GenderBias.yml +43 -0
- package/vale/styles/Google/HeadingPunctuation.yml +13 -0
- package/vale/styles/Google/Headings.yml +29 -0
- package/vale/styles/Google/LICENSE +21 -0
- package/vale/styles/Google/Latin.yml +11 -0
- package/vale/styles/Google/LyHyphens.yml +14 -0
- package/vale/styles/Google/OptionalPlurals.yml +12 -0
- package/vale/styles/Google/Ordinal.yml +7 -0
- package/vale/styles/Google/OxfordComma.yml +7 -0
- package/vale/styles/Google/Parens.yml +7 -0
- package/vale/styles/Google/Passive.yml +184 -0
- package/vale/styles/Google/Periods.yml +7 -0
- package/vale/styles/Google/Quotes.yml +7 -0
- package/vale/styles/Google/Ranges.yml +7 -0
- package/vale/styles/Google/Semicolons.yml +8 -0
- package/vale/styles/Google/Slang.yml +11 -0
- package/vale/styles/Google/Spacing.yml +10 -0
- package/vale/styles/Google/Spelling.yml +10 -0
- package/vale/styles/Google/Units.yml +8 -0
- package/vale/styles/Google/We.yml +11 -0
- package/vale/styles/Google/Will.yml +7 -0
- package/vale/styles/Google/WordList.yml +80 -0
- package/vale/styles/Google/meta.json +4 -0
- package/vale/styles/Google/vocab.txt +0 -0
- package/vale/styles/ai-tells/AIAdjectiveNounPairs.yml +8 -0
- package/vale/styles/ai-tells/AICompoundPhrases.yml +139 -0
- package/vale/styles/ai-tells/AbsoluteAssertions.yml +21 -0
- package/vale/styles/ai-tells/AffirmativeFormulas.yml +101 -0
- package/vale/styles/ai-tells/AnnouncementHeadings.yml +16 -0
- package/vale/styles/ai-tells/AnthropomorphicJustification.yml +115 -0
- package/vale/styles/ai-tells/ClosingPleasantries.yml +120 -0
- package/vale/styles/ai-tells/ColloquialAssessments.yml +47 -0
- package/vale/styles/ai-tells/ColonUsage.yml +18 -0
- package/vale/styles/ai-tells/ConclusionMarkers.yml +23 -0
- package/vale/styles/ai-tells/ContrastiveFormulas.yml +188 -0
- package/vale/styles/ai-tells/ContrastiveNegation.yml +22 -0
- package/vale/styles/ai-tells/DefensiveHedges.yml +63 -0
- package/vale/styles/ai-tells/DespiteChallenges.yml +32 -0
- package/vale/styles/ai-tells/EmDashUsage.yml +9 -0
- package/vale/styles/ai-tells/EmphaticCopula.yml +30 -0
- package/vale/styles/ai-tells/EmptyPadding.yml +10 -0
- package/vale/styles/ai-tells/EmptyPaddingStacked.yml +11 -0
- package/vale/styles/ai-tells/ExplainerHeadings.yml +20 -0
- package/vale/styles/ai-tells/FalseBalance.yml +31 -0
- package/vale/styles/ai-tells/FalseExclusivity.yml +41 -0
- package/vale/styles/ai-tells/FigurativeLands.yml +79 -0
- package/vale/styles/ai-tells/FillerPhrases.yml +78 -0
- package/vale/styles/ai-tells/FormalRegister.yml +58 -0
- package/vale/styles/ai-tells/FormalTransitions.yml +74 -0
- package/vale/styles/ai-tells/GrowthMetaphors.yml +28 -0
- package/vale/styles/ai-tells/HedgingPhrases.yml +85 -0
- package/vale/styles/ai-tells/LICENSE +21 -0
- package/vale/styles/ai-tells/ListIntroductions.yml +22 -0
- package/vale/styles/ai-tells/MarketingHeadings.yml +19 -0
- package/vale/styles/ai-tells/Metacommentary.yml +113 -0
- package/vale/styles/ai-tells/MicDrop.yml +205 -0
- package/vale/styles/ai-tells/MicDropHeadings.yml +20 -0
- package/vale/styles/ai-tells/NarrativePivots.yml +59 -0
- package/vale/styles/ai-tells/OpeningCliches.yml +98 -0
- package/vale/styles/ai-tells/OrganicConsequence.yml +38 -0
- package/vale/styles/ai-tells/OverusedVocabulary.yml +185 -0
- package/vale/styles/ai-tells/OverusedVocabularyVerbs.yml +7 -0
- package/vale/styles/ai-tells/ParallelStaccato.yml +34 -0
- package/vale/styles/ai-tells/ParticipialPadding.yml +74 -0
- package/vale/styles/ai-tells/PromotionalPuffery.yml +63 -0
- package/vale/styles/ai-tells/RedundantPrecaution.yml +8 -0
- package/vale/styles/ai-tells/ResonateOveruse.yml +13 -0
- package/vale/styles/ai-tells/RestatementMarkers.yml +36 -0
- package/vale/styles/ai-tells/RhetoricalDevices.yml +53 -0
- package/vale/styles/ai-tells/RhetoricalSelfAnswer.yml +51 -0
- package/vale/styles/ai-tells/SelfReference.yml +52 -0
- package/vale/styles/ai-tells/SemicolonUsage.yml +31 -0
- package/vale/styles/ai-tells/SequencingMarkers.yml +41 -0
- package/vale/styles/ai-tells/ServesAsDodge.yml +66 -0
- package/vale/styles/ai-tells/ShipOveruse.yml +16 -0
- package/vale/styles/ai-tells/StackedAnaphora.yml +185 -0
- package/vale/styles/ai-tells/StrategyBuzzwords.yml +32 -0
- package/vale/styles/ai-tells/StructureAnnouncements.yml +22 -0
- package/vale/styles/ai-tells/SycophancyMarkers.yml +26 -0
- package/vale/styles/ai-tells/UnpackExplore.yml +21 -0
- package/vale/styles/ai-tells/UrgencyInflation.yml +70 -0
- package/vale/styles/ai-tells/VagueAttributions.yml +67 -0
- package/vale/styles/ai-tells/VerbTricolon.yml +78 -0
- package/vale/styles/ai-tells/VerbTricolonDensity.yml +7 -0
- package/vale/styles/ai-tells/WrapUpHeadings.yml +22 -0
- package/vale/styles/signs-of-ai-writing/AspectOveruse.yml +13 -0
- package/vale/styles/signs-of-ai-writing/ChatGPTArtifacts.yml +12 -0
- package/vale/styles/signs-of-ai-writing/ChatbotCommunication.yml +21 -0
- package/vale/styles/signs-of-ai-writing/CitationArtifacts.yml +10 -0
- package/vale/styles/signs-of-ai-writing/ColonOveruse.yml +11 -0
- package/vale/styles/signs-of-ai-writing/Enumeration.yml +11 -0
- package/vale/styles/signs-of-ai-writing/Hedging.yml +6 -0
- package/vale/styles/signs-of-ai-writing/Intensifiers.yml +17 -0
- package/vale/styles/signs-of-ai-writing/KnowledgeCutoff.yml +14 -0
- package/vale/styles/signs-of-ai-writing/LICENSE +12 -0
- package/vale/styles/signs-of-ai-writing/Lists.yml +8 -0
- package/vale/styles/signs-of-ai-writing/Narrative.yml +15 -0
- package/vale/styles/signs-of-ai-writing/Passive.yml +16 -0
- package/vale/styles/signs-of-ai-writing/Placeholders.yml +17 -0
- package/vale/styles/signs-of-ai-writing/ScareQuotes.yml +6 -0
- package/vale/styles/signs-of-ai-writing/Symbolism.yml +23 -0
- package/vale/styles/signs-of-ai-writing/Transitions.yml +17 -0
- package/vale/styles/signs-of-ai-writing/UTMParameters.yml +10 -0
- package/vale/styles/signs-of-ai-writing/Vocabulary.yml +27 -0
- package/vale/styles/signs-of-ai-writing/meta.json +4 -0
- package/vale/styles/write-good/Cliches.yml +702 -0
- package/vale/styles/write-good/E-Prime.yml +32 -0
- package/vale/styles/write-good/Illusions.yml +11 -0
- package/vale/styles/write-good/LICENSE +21 -0
- package/vale/styles/write-good/Passive.yml +183 -0
- package/vale/styles/write-good/README.md +27 -0
- package/vale/styles/write-good/So.yml +5 -0
- package/vale/styles/write-good/ThereIs.yml +6 -0
- package/vale/styles/write-good/TooWordy.yml +221 -0
- package/vale/styles/write-good/Weasel.yml +29 -0
- package/vale/styles/write-good/meta.json +4 -0
- package/vale/vale.ini +38 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI contrast: '%s'. State the positive claim directly without the 'not X, but Y' formula."
|
|
4
|
+
level: error
|
|
5
|
+
tokens:
|
|
6
|
+
# "It's not just X; it's Y" patterns
|
|
7
|
+
- "[Ii]t'?s not just [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
8
|
+
- "[Ii]t isn'?t just [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
9
|
+
- "[Ii]t'?s not merely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
10
|
+
- "[Ii]t'?s not simply [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
11
|
+
- "[Ii]t'?s not only [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
12
|
+
- "[Ii]t'?s not purely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
13
|
+
- "[Ii]t'?s not solely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
14
|
+
- "[Ii]t'?s not entirely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
15
|
+
|
|
16
|
+
# "It's not about X; it's about Y" patterns
|
|
17
|
+
- "[Ii]t'?s not about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
18
|
+
- "[Ii]t isn'?t about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
19
|
+
- "[Ii]t'?s not really about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
20
|
+
- "[Ii]t'?s not just about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
21
|
+
- "[Ii]t'?s not merely about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
22
|
+
- "[Ii]t'?s not simply about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
23
|
+
- "[Ii]t'?s not only about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
24
|
+
- "[Ii]t'?s not purely about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
25
|
+
- "[Ii]t'?s not solely about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
26
|
+
- "[Ii]t'?s not entirely about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
27
|
+
# Period-separated versions (two sentences)
|
|
28
|
+
- "[Ii]t'?s not about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
29
|
+
- "[Ii]t isn'?t about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
30
|
+
- "[Ii]t'?s not really about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
31
|
+
- "[Ii]t'?s not just about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
32
|
+
- "[Ii]t'?s not merely about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
33
|
+
- "[Ii]t'?s not purely about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
34
|
+
- "[Ii]t'?s not solely about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
35
|
+
- "[Ii]t'?s not entirely about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
36
|
+
|
|
37
|
+
# "This isn't X; it's Y" patterns
|
|
38
|
+
- "[Tt]his isn'?t just [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
39
|
+
- "[Tt]his isn'?t merely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
40
|
+
- "[Tt]his isn'?t simply [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
41
|
+
- "[Tt]his isn'?t only [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
42
|
+
- "[Tt]his isn'?t purely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
43
|
+
- "[Tt]his isn'?t solely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
44
|
+
- "[Tt]his isn'?t entirely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
45
|
+
- "[Tt]his is not just [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
46
|
+
- "[Tt]his is not merely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
47
|
+
- "[Tt]his is not simply [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
48
|
+
- "[Tt]his is not only [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
49
|
+
- "[Tt]his is not purely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
50
|
+
- "[Tt]his is not solely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
51
|
+
- "[Tt]his is not entirely [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
52
|
+
- "[Tt]his isn'?t merely about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
53
|
+
- "[Tt]his isn'?t just about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
54
|
+
- "[Tt]his isn'?t simply about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
55
|
+
- "[Tt]his isn'?t only about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
56
|
+
- "[Tt]his isn'?t purely about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
57
|
+
- "[Tt]his isn'?t solely about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
58
|
+
- "[Tt]his isn'?t entirely about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
59
|
+
- "[Tt]his isn'?t about [^;,—:]+[;,—:] it'?s about [^.!?]+"
|
|
60
|
+
# Period-separated versions (two sentences)
|
|
61
|
+
- "[Tt]his isn'?t about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
62
|
+
- "[Tt]his isn'?t merely about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
63
|
+
- "[Tt]his isn'?t just about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
64
|
+
- "[Tt]his isn'?t simply about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
65
|
+
- "[Tt]his isn'?t only about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
66
|
+
- "[Tt]his isn'?t purely about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
67
|
+
- "[Tt]his isn'?t solely about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
68
|
+
- "[Tt]his isn'?t entirely about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
69
|
+
- "[Tt]his is not about [^.!?]+\\. [Ii]t'?s about [^.!?]+"
|
|
70
|
+
|
|
71
|
+
# "It's more than X; it's Y" patterns
|
|
72
|
+
- "[Ii]t'?s more than [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
73
|
+
- "[Ii]t'?s more than just [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
74
|
+
- "[Tt]his is more than [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
75
|
+
- "[Tt]his is more than just [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
76
|
+
|
|
77
|
+
# "It's less about X and more about Y" patterns
|
|
78
|
+
- "[Ii]t'?s less about [^;,—:]+ and more about [^.!?]+"
|
|
79
|
+
- "[Ii]t'?s less about [^;,—:]+, more about [^.!?]+"
|
|
80
|
+
- "[Tt]his is less about [^;,—:]+ and more about [^.!?]+"
|
|
81
|
+
|
|
82
|
+
# "X isn't the point; Y is" patterns
|
|
83
|
+
- "[^.!?]+ isn'?t the point[;,—:] [^.!?]+ is"
|
|
84
|
+
- "[^.!?]+ is not the point[;,—:] [^.!?]+ is"
|
|
85
|
+
|
|
86
|
+
# "The real X isn't Y; it's Z" patterns
|
|
87
|
+
- "[Tt]he real [^;,—:]+ isn'?t [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
88
|
+
- "[Tt]he true [^;,—:]+ isn'?t [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
89
|
+
|
|
90
|
+
# "What matters isn't X; it's Y" patterns
|
|
91
|
+
- "[Ww]hat matters isn'?t [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
92
|
+
- "[Ww]hat matters is not [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
93
|
+
- "[Ww]hat'?s important isn'?t [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
94
|
+
|
|
95
|
+
# "The question isn't X; it's Y" patterns
|
|
96
|
+
- "[Tt]he question isn'?t [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
97
|
+
- "[Tt]he question is not [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
98
|
+
- "[Tt]he issue isn'?t [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
99
|
+
- "[Tt]he problem isn'?t [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
100
|
+
- "[Tt]he challenge isn'?t [^;,—:]+[;,—:] it'?s [^.!?]+"
|
|
101
|
+
|
|
102
|
+
# "Yes, X, but Y" dismissive acknowledgment
|
|
103
|
+
- "[Yy]es, [^,]+, but the real [^.!?]+"
|
|
104
|
+
- "[Ss]ure, [^,]+, but what really [^.!?]+"
|
|
105
|
+
|
|
106
|
+
# "It's not whether X; it's how/why/when Y"
|
|
107
|
+
- "[Ii]t'?s not whether [^;,—:]+[;,—:] it'?s (?:how|why|when|what) [^.!?]+"
|
|
108
|
+
- "[Ii]t'?s not if [^;,—:]+[;,—:] it'?s (?:how|why|when|what) [^.!?]+"
|
|
109
|
+
|
|
110
|
+
# "[Noun] isn't X. It's Y." pattern (any subject)
|
|
111
|
+
- "[A-Z][a-z]+ isn'?t [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
112
|
+
- "[A-Z][a-z]+ is not [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
113
|
+
|
|
114
|
+
# "X is a Y, not a Z" categorical assertion with preemptive correction
|
|
115
|
+
- "[A-Z][a-z]+ is an? [^,]+, not an? [^.]+"
|
|
116
|
+
- "[A-Z][a-z]+ are [^,]+, not [^.]+"
|
|
117
|
+
|
|
118
|
+
# "Not only X but also Y" patterns
|
|
119
|
+
- "[Nn]ot only [^,;—:]+,? but (?:also )?[^.!?]+"
|
|
120
|
+
|
|
121
|
+
# "Not because X, but because Y" causal variant
|
|
122
|
+
- "[Nn]ot because [^,;—:]+,? but because [^.!?]+"
|
|
123
|
+
|
|
124
|
+
# === Plural subject negation-correction ===
|
|
125
|
+
|
|
126
|
+
# "These aren't X. They're Y." — period-separated
|
|
127
|
+
- "[Tt]hese aren'?t [^.!?]+\\. [Tt]hey'?re [^.!?]+"
|
|
128
|
+
- "[Tt]hose aren'?t [^.!?]+\\. [Tt]hey'?re [^.!?]+"
|
|
129
|
+
- "[Tt]hese are not [^.!?]+\\. [Tt]hey'?re [^.!?]+"
|
|
130
|
+
- "[Tt]hose are not [^.!?]+\\. [Tt]hey'?re [^.!?]+"
|
|
131
|
+
- "[Tt]hese are not [^.!?]+\\. [Tt]hey are [^.!?]+"
|
|
132
|
+
- "[Tt]hose are not [^.!?]+\\. [Tt]hey are [^.!?]+"
|
|
133
|
+
|
|
134
|
+
# With modifiers
|
|
135
|
+
- "[Tt]hese aren'?t just [^.!?]+\\. [Tt]hey'?re [^.!?]+"
|
|
136
|
+
- "[Tt]hese aren'?t merely [^.!?]+\\. [Tt]hey'?re [^.!?]+"
|
|
137
|
+
- "[Tt]hese aren'?t simply [^.!?]+\\. [Tt]hey'?re [^.!?]+"
|
|
138
|
+
|
|
139
|
+
# Semicolon/em-dash-joined
|
|
140
|
+
- "[Tt]hese aren'?t [^;,—:]+[;,—:] they'?re [^.!?]+"
|
|
141
|
+
- "[Tt]hose aren'?t [^;,—:]+[;,—:] they'?re [^.!?]+"
|
|
142
|
+
- "[Tt]hese are not [^;,—:]+[;,—:] they'?re [^.!?]+"
|
|
143
|
+
- "[Tt]hose are not [^;,—:]+[;,—:] they'?re [^.!?]+"
|
|
144
|
+
|
|
145
|
+
# Generic "[Noun] aren't X. They're Y." catch-all
|
|
146
|
+
- "[A-Z][a-z]+ aren'?t [^.!?]+\\. [Tt]hey'?re [^.!?]+"
|
|
147
|
+
- "[A-Z][a-z]+ are not [^.!?]+\\. [Tt]hey'?re [^.!?]+"
|
|
148
|
+
- "[A-Z][a-z]+ are not [^.!?]+\\. [Tt]hey are [^.!?]+"
|
|
149
|
+
|
|
150
|
+
# === "Doesn't mean X. It means Y." ===
|
|
151
|
+
|
|
152
|
+
# Period-separated
|
|
153
|
+
- "[Tt]his doesn'?t mean [^.!?]+\\. [Ii]t means [^.!?]+"
|
|
154
|
+
- "[Tt]hat doesn'?t mean [^.!?]+\\. [Ii]t means [^.!?]+"
|
|
155
|
+
- "[Tt]his does not mean [^.!?]+\\. [Ii]t means [^.!?]+"
|
|
156
|
+
- "[Tt]hat does not mean [^.!?]+\\. [Ii]t means [^.!?]+"
|
|
157
|
+
|
|
158
|
+
# Semicolon/em-dash-joined
|
|
159
|
+
- "[Tt]his doesn'?t mean [^;,—:]+[;,—:] it means [^.!?]+"
|
|
160
|
+
- "[Tt]hat doesn'?t mean [^;,—:]+[;,—:] it means [^.!?]+"
|
|
161
|
+
|
|
162
|
+
# Generic "[Noun] doesn't mean X. It means Y."
|
|
163
|
+
- "[A-Z][a-z]+ doesn'?t mean [^.!?]+\\. [Ii]t means [^.!?]+"
|
|
164
|
+
- "[A-Z][a-z]+ does not mean [^.!?]+\\. [Ii]t means [^.!?]+"
|
|
165
|
+
|
|
166
|
+
# === Multi-word subject "isn't X. It's Y." ===
|
|
167
|
+
# Catches "The colophon isn't a disclaimer. It's a feature."
|
|
168
|
+
# The single-word "[Noun] isn't X. It's Y." patterns above only match
|
|
169
|
+
# single capitalized-word subjects.
|
|
170
|
+
|
|
171
|
+
# "The [noun] isn't X. It's Y."
|
|
172
|
+
- "[Tt]he [a-z]+ isn'?t [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
173
|
+
- "[Tt]he [a-z]+ is not [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
174
|
+
- "[Tt]he [a-z]+ isn'?t [^.!?]+\\. [Ii]t is [^.!?]+"
|
|
175
|
+
|
|
176
|
+
# "A/An [noun] isn't X. It's Y."
|
|
177
|
+
- "[Aa]n? [a-z]+ isn'?t [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
178
|
+
- "[Aa]n? [a-z]+ is not [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
179
|
+
|
|
180
|
+
# "Our/Your/Their [noun] isn't X. It's Y."
|
|
181
|
+
- "(?:Our|Your|Their|Its) [a-z]+ isn'?t [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
182
|
+
- "(?:Our|Your|Their|Its) [a-z]+ is not [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
183
|
+
|
|
184
|
+
# Multi-word/acronym subjects — catch-all with "isn't...It's" anchor
|
|
185
|
+
# "WCAG 2.1 AA isn't a checkbox. It's a constraint."
|
|
186
|
+
- "[^.!?]+ isn'?t [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
187
|
+
- "[^.!?]+ is not [^.!?]+\\. [Ii]t'?s [^.!?]+"
|
|
188
|
+
- "[^.!?]+ isn'?t [^.!?]+\\. [Ii]t is [^.!?]+"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI contrast by negation: '%s'. State the positive directly without the trailing negation."
|
|
4
|
+
level: error
|
|
5
|
+
nonword: true
|
|
6
|
+
ignorecase: true
|
|
7
|
+
# Telegraphic negation cadence, often the agent's workaround once the
|
|
8
|
+
# "not X; it's Y" formula gets flagged: a positive spec paired with a negated
|
|
9
|
+
# one. Two shapes. Stacked anaphora ("no setup, no config, no hassle") catches
|
|
10
|
+
# the marketing cadence and its idioms ("no pain, no gain"), which read as tells
|
|
11
|
+
# here. The single clause-final fragment ("cleartext repo names, no k-anonymity
|
|
12
|
+
# gate") is aggressive by design and will also catch a literal "coffee, no
|
|
13
|
+
# sugar," so disable this rule for terse spec lists where that is intended.
|
|
14
|
+
# "No longer" and "no sooner" are temporal adverbs, a different construction.
|
|
15
|
+
exceptions:
|
|
16
|
+
- "no longer"
|
|
17
|
+
- "no sooner"
|
|
18
|
+
tokens:
|
|
19
|
+
# Stacked: "no X, no Y[, no Z]"
|
|
20
|
+
- "\\bno [^,.;:!?]{2,}, no [^.!?]+"
|
|
21
|
+
# Single clause-final fragment: "..., no <noun phrase>."
|
|
22
|
+
- ", no [a-z][^.!?,;:]*[.!?]"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI defensive hedge: '%s'. State your point directly without pre-defending it."
|
|
4
|
+
level: error
|
|
5
|
+
nonword: true
|
|
6
|
+
tokens:
|
|
7
|
+
# "This is more of X than Y, but..." pattern
|
|
8
|
+
- "[Tt]his is more of [^,]+ than [^,]+, but [^.!?]+"
|
|
9
|
+
- "[Ii]t'?s more of [^,]+ than [^,]+, but [^.!?]+"
|
|
10
|
+
|
|
11
|
+
# "Not the most X, but..." pattern
|
|
12
|
+
- "[Ii]t'?s not the most [^,]+, but [^.!?]+"
|
|
13
|
+
- "[Tt]his isn'?t the most [^,]+, but [^.!?]+"
|
|
14
|
+
|
|
15
|
+
# "May seem/might seem X, but..." pattern
|
|
16
|
+
- "[Tt]his may seem [^,]+, but [^.!?]+"
|
|
17
|
+
- "[Tt]his might seem [^,]+, but [^.!?]+"
|
|
18
|
+
- "[Ii]t may seem [^,]+, but [^.!?]+"
|
|
19
|
+
- "[Ii]t might seem [^,]+, but [^.!?]+"
|
|
20
|
+
|
|
21
|
+
# "Might sound X, but..." pattern
|
|
22
|
+
- "[Tt]his might sound [^,]+, but [^.!?]+"
|
|
23
|
+
- "[Ii]t might sound [^,]+, but [^.!?]+"
|
|
24
|
+
- "[Tt]hat might sound [^,]+, but [^.!?]+"
|
|
25
|
+
|
|
26
|
+
# "Admittedly/Granted" openers
|
|
27
|
+
- "Admittedly, [^,]+, but [^.!?]+"
|
|
28
|
+
- "Granted, [^,]+, but [^.!?]+"
|
|
29
|
+
|
|
30
|
+
# "To be fair" pattern
|
|
31
|
+
- "To be fair, [^,]+, but [^.!?]+"
|
|
32
|
+
- "To be honest, [^,]+, but [^.!?]+"
|
|
33
|
+
|
|
34
|
+
# "While this might/may appear" pattern
|
|
35
|
+
- "While this might appear [^,]+, [^.!?]+"
|
|
36
|
+
- "While this may appear [^,]+, [^.!?]+"
|
|
37
|
+
- "While it might appear [^,]+, [^.!?]+"
|
|
38
|
+
- "While it may appear [^,]+, [^.!?]+"
|
|
39
|
+
|
|
40
|
+
# "Not meant to be X, but..." pattern
|
|
41
|
+
- "[Tt]his isn'?t meant to be [^,]+, but [^.!?]+"
|
|
42
|
+
- "[Ii]t'?s not meant to be [^,]+, but [^.!?]+"
|
|
43
|
+
|
|
44
|
+
# "On the surface X, but..." pattern
|
|
45
|
+
- "On the surface, [^,]+, but [^.!?]+"
|
|
46
|
+
- "On the surface this [^,]+, but [^.!?]+"
|
|
47
|
+
|
|
48
|
+
# "At first glance" pattern
|
|
49
|
+
- "At first glance, [^,]+, but [^.!?]+"
|
|
50
|
+
- "At first glance this [^,]+, but [^.!?]+"
|
|
51
|
+
|
|
52
|
+
# "I know this seems/sounds" pattern
|
|
53
|
+
- "I know this seems [^,]+, but [^.!?]+"
|
|
54
|
+
- "I know this sounds [^,]+, but [^.!?]+"
|
|
55
|
+
- "I know it seems [^,]+, but [^.!?]+"
|
|
56
|
+
- "I know it sounds [^,]+, but [^.!?]+"
|
|
57
|
+
|
|
58
|
+
# "While X, Y" hedged openers (preemptive concession)
|
|
59
|
+
- "While [^,]+ can [^,]+, [^.!?]+"
|
|
60
|
+
- "While [^,]+ is [^,]+, [^.!?]+"
|
|
61
|
+
- "While [^,]+ are [^,]+, [^.!?]+"
|
|
62
|
+
- "While [^,]+ may [^,]+, [^.!?]+"
|
|
63
|
+
- "Although [^,]+, [^.!?]+"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI despite-formula: '%s'. Engage with the challenges substantively or remove the hedge."
|
|
4
|
+
level: error
|
|
5
|
+
ignorecase: true
|
|
6
|
+
tokens:
|
|
7
|
+
- despite its challenges
|
|
8
|
+
- despite these challenges
|
|
9
|
+
- despite the challenges
|
|
10
|
+
- despite this challenge
|
|
11
|
+
- despite these limitations
|
|
12
|
+
- despite its limitations
|
|
13
|
+
- despite the limitations
|
|
14
|
+
- despite these drawbacks
|
|
15
|
+
- despite its drawbacks
|
|
16
|
+
- despite these obstacles
|
|
17
|
+
- despite its obstacles
|
|
18
|
+
- despite these hurdles
|
|
19
|
+
- despite its hurdles
|
|
20
|
+
- despite these setbacks
|
|
21
|
+
- despite its setbacks
|
|
22
|
+
- despite these concerns
|
|
23
|
+
- despite its concerns
|
|
24
|
+
- despite facing challenges
|
|
25
|
+
- despite facing numerous
|
|
26
|
+
- despite facing significant
|
|
27
|
+
- while challenges remain
|
|
28
|
+
- while these challenges
|
|
29
|
+
- while significant challenges
|
|
30
|
+
- challenges notwithstanding
|
|
31
|
+
- obstacles notwithstanding
|
|
32
|
+
- limitations notwithstanding
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI emphasis: '%s'. Remove the italics. Emphasizing a copula rarely adds meaning."
|
|
4
|
+
level: error
|
|
5
|
+
nonword: true
|
|
6
|
+
scope: raw
|
|
7
|
+
tokens:
|
|
8
|
+
# Markdown italicized copula verbs - the "manufactured profundity" pattern
|
|
9
|
+
# Note: underscore patterns require space prefix to avoid matching __dunder__ methods
|
|
10
|
+
- "\\*is\\*"
|
|
11
|
+
- " _is_"
|
|
12
|
+
- "\\*are\\*"
|
|
13
|
+
- " _are_"
|
|
14
|
+
- "\\*was\\*"
|
|
15
|
+
- " _was_"
|
|
16
|
+
- "\\*were\\*"
|
|
17
|
+
- " _were_"
|
|
18
|
+
|
|
19
|
+
# Italicized "the" for false emphasis
|
|
20
|
+
- "\\*the\\*"
|
|
21
|
+
- " _the_"
|
|
22
|
+
|
|
23
|
+
# Italicized single conjunctions/prepositions for false drama
|
|
24
|
+
# Note: underscore patterns require space prefix to avoid matching __dunder__ methods
|
|
25
|
+
- "\\*and\\*"
|
|
26
|
+
- " _and_"
|
|
27
|
+
- "\\*not\\*"
|
|
28
|
+
- " _not_"
|
|
29
|
+
- "\\*or\\*"
|
|
30
|
+
- " _or_"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: sequence
|
|
3
|
+
message: "AI empty modifier: '%s %s %s'. Delete the modifier and keep the noun."
|
|
4
|
+
level: error
|
|
5
|
+
ignorecase: true
|
|
6
|
+
tokens:
|
|
7
|
+
- pattern: named|various|certain|respective|given|particular
|
|
8
|
+
tag: JJ|VBN|DT
|
|
9
|
+
- tag: JJ|JJR|JJS
|
|
10
|
+
- tag: NN|NNS
|
|
11
|
+
---
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI explainer heading: '%s'. Name what you're explaining instead."
|
|
4
|
+
level: error
|
|
5
|
+
ignorecase: true
|
|
6
|
+
scope: heading
|
|
7
|
+
tokens:
|
|
8
|
+
- Deep Dive
|
|
9
|
+
- Under the Hood
|
|
10
|
+
- Demystifying
|
|
11
|
+
- Why It Matters
|
|
12
|
+
- Why This Matters
|
|
13
|
+
- Why It Exists
|
|
14
|
+
- Why This Exists
|
|
15
|
+
- What It Solves
|
|
16
|
+
- What This Solves
|
|
17
|
+
- What It Does
|
|
18
|
+
- What This Does
|
|
19
|
+
- A Closer Look
|
|
20
|
+
- The Inner Workings
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI evasion: '%s'. Take a clear position or remove the hedge."
|
|
4
|
+
level: error
|
|
5
|
+
ignorecase: true
|
|
6
|
+
tokens:
|
|
7
|
+
- both sides of the argument
|
|
8
|
+
- both sides present valid points
|
|
9
|
+
- there are valid points on both sides
|
|
10
|
+
- each perspective has merit
|
|
11
|
+
- each side has merit
|
|
12
|
+
- it's important to consider all perspectives
|
|
13
|
+
- important to consider the perspectives
|
|
14
|
+
- consider all stakeholders
|
|
15
|
+
- perspectives of all stakeholders
|
|
16
|
+
- a balanced approach
|
|
17
|
+
- strike a balance
|
|
18
|
+
- find a balance
|
|
19
|
+
- nuanced understanding
|
|
20
|
+
- nuanced approach
|
|
21
|
+
- the answer is not straightforward
|
|
22
|
+
- not a simple answer
|
|
23
|
+
- there is no simple answer
|
|
24
|
+
- the issue is complex
|
|
25
|
+
- this is a complex issue
|
|
26
|
+
- depends on various factors
|
|
27
|
+
- depends on many factors
|
|
28
|
+
- varies depending on
|
|
29
|
+
- context-dependent
|
|
30
|
+
- situation-dependent
|
|
31
|
+
- case-by-case basis
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI false exclusivity: '%s'. State the point directly without claiming insider knowledge."
|
|
4
|
+
level: error
|
|
5
|
+
ignorecase: true
|
|
6
|
+
tokens:
|
|
7
|
+
- nobody talks about
|
|
8
|
+
- no one talks about
|
|
9
|
+
- nobody mentions
|
|
10
|
+
- no one mentions
|
|
11
|
+
- nobody is talking about
|
|
12
|
+
- no one is talking about
|
|
13
|
+
- nobody discusses
|
|
14
|
+
- no one discusses
|
|
15
|
+
- the part nobody mentions
|
|
16
|
+
- the part no one mentions
|
|
17
|
+
- the part nobody talks about
|
|
18
|
+
- the part no one talks about
|
|
19
|
+
- what nobody tells you
|
|
20
|
+
- what no one tells you
|
|
21
|
+
- what nobody mentions
|
|
22
|
+
- what no one mentions
|
|
23
|
+
- what most people miss
|
|
24
|
+
- what most people don't
|
|
25
|
+
- what most people overlook
|
|
26
|
+
- what most people forget
|
|
27
|
+
- the dirty secret
|
|
28
|
+
- the dirty little secret
|
|
29
|
+
- the open secret
|
|
30
|
+
- the uncomfortable truth
|
|
31
|
+
- the inconvenient truth
|
|
32
|
+
- the elephant in the room
|
|
33
|
+
- the unspoken truth
|
|
34
|
+
- the unspoken reality
|
|
35
|
+
- the hidden truth
|
|
36
|
+
- the hidden cost
|
|
37
|
+
- the hidden costs
|
|
38
|
+
- the silent killer
|
|
39
|
+
- here's what most people miss
|
|
40
|
+
- here's what nobody tells you
|
|
41
|
+
- here's what no one tells you
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI overused verb: '%s'. Name the literal action: is merged or is routed to. Disable this rule for aviation or nature prose."
|
|
4
|
+
level: error
|
|
5
|
+
nonword: true
|
|
6
|
+
ignorecase: true
|
|
7
|
+
# "Lands" is an AI overuse fingerprint: a request "lands on" a node, a PR
|
|
8
|
+
# "lands in" main, an idea "lands in" a sweet spot. Flag the figurative arrival
|
|
9
|
+
# verb and exempt the common things that literally land. The exemption list is
|
|
10
|
+
# deliberately not exhaustive: rare landers (specific species, stray
|
|
11
|
+
# projectiles) fire, so aviation or nature writing disables the whole rule.
|
|
12
|
+
# Exemptions need (?i) because ignorecase covers tokens but not exemptions, so a
|
|
13
|
+
# sentence-initial "Snow lands on the sill" would otherwise leak through. Each
|
|
14
|
+
# exemption matches the subject word inside the captured "<subject> lands on"
|
|
15
|
+
# span.
|
|
16
|
+
exceptions:
|
|
17
|
+
# Common aircraft
|
|
18
|
+
- "(?i)planes?"
|
|
19
|
+
- "(?i)airplanes?"
|
|
20
|
+
- "(?i)jets?"
|
|
21
|
+
- "(?i)aircraft"
|
|
22
|
+
- "(?i)helicopters?"
|
|
23
|
+
- "(?i)drones?"
|
|
24
|
+
- "(?i)gliders?"
|
|
25
|
+
- "(?i)balloons?"
|
|
26
|
+
- "(?i)flights?"
|
|
27
|
+
# Spacecraft
|
|
28
|
+
- "(?i)rockets?"
|
|
29
|
+
- "(?i)spacecraft"
|
|
30
|
+
- "(?i)probes?"
|
|
31
|
+
- "(?i)landers?"
|
|
32
|
+
- "(?i)rovers?"
|
|
33
|
+
- "(?i)capsules?"
|
|
34
|
+
- "(?i)shuttles?"
|
|
35
|
+
- "(?i)satellites?"
|
|
36
|
+
# Birds (generic; rare species fire, so nature writing disables the rule)
|
|
37
|
+
- "(?i)birds?"
|
|
38
|
+
# Common falling or thrown things
|
|
39
|
+
- "(?i)balls?"
|
|
40
|
+
- "(?i)snow"
|
|
41
|
+
- "(?i)snowflakes?"
|
|
42
|
+
- "(?i)leaf"
|
|
43
|
+
- "(?i)leaves"
|
|
44
|
+
- "(?i)meteors?"
|
|
45
|
+
- "(?i)asteroids?"
|
|
46
|
+
# People who land
|
|
47
|
+
- "(?i)skydivers?"
|
|
48
|
+
# "Lands" as a territory noun, not the verb (public lands in the west)
|
|
49
|
+
- "(?i)public"
|
|
50
|
+
- "(?i)federal"
|
|
51
|
+
- "(?i)tribal"
|
|
52
|
+
- "(?i)private"
|
|
53
|
+
- "(?i)ancestral"
|
|
54
|
+
- "(?i)indigenous"
|
|
55
|
+
- "(?i)native"
|
|
56
|
+
- "(?i)grazing"
|
|
57
|
+
- "(?i)crown"
|
|
58
|
+
- "(?i)common"
|
|
59
|
+
# Assessment subjects owned by ColloquialAssessments ("the joke lands")
|
|
60
|
+
- "(?i)joke"
|
|
61
|
+
- "(?i)point"
|
|
62
|
+
- "(?i)argument"
|
|
63
|
+
- "(?i)line"
|
|
64
|
+
- "(?i)metaphor"
|
|
65
|
+
- "(?i)analogy"
|
|
66
|
+
- "(?i)comparison"
|
|
67
|
+
- "(?i)critique"
|
|
68
|
+
- "(?i)distinction"
|
|
69
|
+
- "(?i)observation"
|
|
70
|
+
- "(?i)framing"
|
|
71
|
+
- "(?i)insight"
|
|
72
|
+
- "(?i)takeaway"
|
|
73
|
+
- "(?i)punchline"
|
|
74
|
+
- "(?i)callback"
|
|
75
|
+
- "(?i)bit"
|
|
76
|
+
- "(?i)reference"
|
|
77
|
+
- "(?i)callout"
|
|
78
|
+
tokens:
|
|
79
|
+
- "\\b\\w+ land(?:s|ed)? (?:on|in|into|at|here|there)\\b"
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI filler: '%s'. Delete this phrase. It adds no meaning."
|
|
4
|
+
level: error
|
|
5
|
+
ignorecase: true
|
|
6
|
+
tokens:
|
|
7
|
+
- a wide range of
|
|
8
|
+
- a broad range of
|
|
9
|
+
- a variety of
|
|
10
|
+
- a myriad of
|
|
11
|
+
- a plethora of
|
|
12
|
+
- a wealth of
|
|
13
|
+
- an abundance of
|
|
14
|
+
- a multitude of
|
|
15
|
+
- countless
|
|
16
|
+
- numerous
|
|
17
|
+
- innumerable
|
|
18
|
+
- in order to
|
|
19
|
+
- for the purpose of
|
|
20
|
+
- with the aim of
|
|
21
|
+
- with a view to
|
|
22
|
+
- so as to
|
|
23
|
+
- serves to
|
|
24
|
+
- tends to
|
|
25
|
+
- has the potential to
|
|
26
|
+
- has the ability to
|
|
27
|
+
- is capable of
|
|
28
|
+
- is able to
|
|
29
|
+
- due to the fact that
|
|
30
|
+
- owing to the fact that
|
|
31
|
+
- in light of the fact that
|
|
32
|
+
- given the fact that
|
|
33
|
+
- despite the fact that
|
|
34
|
+
- regardless of the fact that
|
|
35
|
+
- the fact that
|
|
36
|
+
- it is clear that
|
|
37
|
+
- it is evident that
|
|
38
|
+
- it is apparent that
|
|
39
|
+
- it is obvious that
|
|
40
|
+
- it can be seen that
|
|
41
|
+
- it can be observed that
|
|
42
|
+
|
|
43
|
+
# Performative sincerity markers
|
|
44
|
+
- and honestly
|
|
45
|
+
- and honestly,
|
|
46
|
+
- honestly,
|
|
47
|
+
- honestly?
|
|
48
|
+
- to be honest,
|
|
49
|
+
- to be honest?
|
|
50
|
+
- and frankly
|
|
51
|
+
- and frankly,
|
|
52
|
+
- frankly,
|
|
53
|
+
- frankly?
|
|
54
|
+
- and truthfully
|
|
55
|
+
- truthfully,
|
|
56
|
+
- if i'm being honest
|
|
57
|
+
- if i'm being frank
|
|
58
|
+
- to be frank,
|
|
59
|
+
- to tell you the truth
|
|
60
|
+
- the truth is,
|
|
61
|
+
- in all honesty
|
|
62
|
+
- in all honesty,
|
|
63
|
+
- quite honestly
|
|
64
|
+
- quite frankly
|
|
65
|
+
- i'll be honest
|
|
66
|
+
- i will be honest
|
|
67
|
+
- to be perfectly honest
|
|
68
|
+
- to be completely honest
|
|
69
|
+
- to be totally honest
|
|
70
|
+
- to be brutally honest
|
|
71
|
+
- to be 100% honest
|
|
72
|
+
- the honest truth
|
|
73
|
+
- the honest answer
|
|
74
|
+
- the honest take
|
|
75
|
+
- honest answer
|
|
76
|
+
- honest take
|
|
77
|
+
- my honest take
|
|
78
|
+
- my honest opinion
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
extends: existence
|
|
3
|
+
message: "AI formalism: '%s'. Use a plainer everyday word (e.g., 'use', 'help', 'start')."
|
|
4
|
+
level: error
|
|
5
|
+
tokens:
|
|
6
|
+
- utilize
|
|
7
|
+
- utilizes
|
|
8
|
+
- utilizing
|
|
9
|
+
- utilized
|
|
10
|
+
- utilization
|
|
11
|
+
- facilitate
|
|
12
|
+
- facilitates
|
|
13
|
+
- facilitating
|
|
14
|
+
- facilitated
|
|
15
|
+
- facilitation
|
|
16
|
+
- implement
|
|
17
|
+
- implements
|
|
18
|
+
- implementing
|
|
19
|
+
- implementation
|
|
20
|
+
- commence
|
|
21
|
+
- commences
|
|
22
|
+
- commencing
|
|
23
|
+
- commenced
|
|
24
|
+
- terminate
|
|
25
|
+
- terminates
|
|
26
|
+
- terminating
|
|
27
|
+
- terminated
|
|
28
|
+
- ascertain
|
|
29
|
+
- ascertains
|
|
30
|
+
- ascertaining
|
|
31
|
+
- endeavour
|
|
32
|
+
- endeavours
|
|
33
|
+
- endeavouring
|
|
34
|
+
- methodology
|
|
35
|
+
- methodologies
|
|
36
|
+
- framework
|
|
37
|
+
- frameworks
|
|
38
|
+
- conceptualize
|
|
39
|
+
- conceptualizes
|
|
40
|
+
- conceptualizing
|
|
41
|
+
- operationalize
|
|
42
|
+
- operationalizes
|
|
43
|
+
- operationalizing
|
|
44
|
+
- prioritize
|
|
45
|
+
- prioritizes
|
|
46
|
+
- prioritizing
|
|
47
|
+
- incentivize
|
|
48
|
+
- incentivizes
|
|
49
|
+
- incentivizing
|
|
50
|
+
- optimize
|
|
51
|
+
- optimizes
|
|
52
|
+
- optimizing
|
|
53
|
+
- maximize
|
|
54
|
+
- maximizes
|
|
55
|
+
- maximizing
|
|
56
|
+
- minimize
|
|
57
|
+
- minimizes
|
|
58
|
+
- minimizing
|