humanizer-lint 0.2.4 → 1.2.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/README.md +69 -23
- package/SKILL.md +134 -116
- package/package.json +26 -4
- package/rules/de-slop.json +190 -0
- package/rules/en-slop.json +50 -49
- package/rules/es-slop.json +190 -0
- package/rules/fr-slop.json +190 -0
- package/rules/id-slop.json +58 -57
- package/rules/ms-slop.json +190 -0
- package/rules/pt-slop.json +190 -0
- package/rules/zh-slop.json +190 -0
- package/scripts/analyze.mjs +9 -3
- package/scripts/core/analyzer-core.mjs +51 -24
- package/scripts/utils/tokenizer.mjs +149 -82
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "de",
|
|
3
|
+
"stopwords": [
|
|
4
|
+
"der",
|
|
5
|
+
"die",
|
|
6
|
+
"und",
|
|
7
|
+
"in",
|
|
8
|
+
"den",
|
|
9
|
+
"von",
|
|
10
|
+
"zu",
|
|
11
|
+
"das",
|
|
12
|
+
"mit",
|
|
13
|
+
"sich",
|
|
14
|
+
"des",
|
|
15
|
+
"auf",
|
|
16
|
+
"für",
|
|
17
|
+
"ist",
|
|
18
|
+
"im",
|
|
19
|
+
"dem",
|
|
20
|
+
"nicht",
|
|
21
|
+
"ein",
|
|
22
|
+
"eine",
|
|
23
|
+
"als"
|
|
24
|
+
],
|
|
25
|
+
"patterns": [
|
|
26
|
+
{
|
|
27
|
+
"id": "DE001",
|
|
28
|
+
"type": "SLOP_PHRASE",
|
|
29
|
+
"pattern": "in\\s+der\\s+heutigen\\s+schnelllebigen\\s+Welt",
|
|
30
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "DE002",
|
|
34
|
+
"type": "SLOP_PHRASE",
|
|
35
|
+
"pattern": "es\\s+ist\\s+wichtig\\s+zu\\s+beachten",
|
|
36
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "DE003",
|
|
40
|
+
"type": "SLOP_PHRASE",
|
|
41
|
+
"pattern": "zusammenfassend\\s+lässt\\s+sich\\s+sagen",
|
|
42
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "DE004",
|
|
46
|
+
"type": "SLOP_PHRASE",
|
|
47
|
+
"pattern": "darüber\\s+hinaus",
|
|
48
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "DE005",
|
|
52
|
+
"type": "SLOP_PHRASE",
|
|
53
|
+
"pattern": "nicht\\s+zuletzt",
|
|
54
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "DE006",
|
|
58
|
+
"type": "SLOP_PHRASE",
|
|
59
|
+
"pattern": "spielt\\s+eine\\s+entscheidende\\s+Rolle",
|
|
60
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "DE007",
|
|
64
|
+
"type": "SLOP_PHRASE",
|
|
65
|
+
"pattern": "ein\\s+Beweis\\s+dafür",
|
|
66
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "DE008",
|
|
70
|
+
"type": "SLOP_PHRASE",
|
|
71
|
+
"pattern": "in\\s+einer\\s+sich\\s+ständig\\s+verändernden",
|
|
72
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "DE009",
|
|
76
|
+
"type": "SLOP_PHRASE",
|
|
77
|
+
"pattern": "nicht\\s+nur",
|
|
78
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "DE010",
|
|
82
|
+
"type": "SLOP_PHRASE",
|
|
83
|
+
"pattern": "sondern\\s+auch",
|
|
84
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "DE011",
|
|
88
|
+
"type": "SLOP_PHRASE",
|
|
89
|
+
"pattern": "im\\s+digitalen\\s+Zeitalter",
|
|
90
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "DE012",
|
|
94
|
+
"type": "SLOP_PHRASE",
|
|
95
|
+
"pattern": "es\\s+lässt\\s+sich\\s+nicht\\s+leugnen",
|
|
96
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "DE013",
|
|
100
|
+
"type": "SLOP_PHRASE",
|
|
101
|
+
"pattern": "es\\s+ist\\s+erwähnenswert",
|
|
102
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "DE014",
|
|
106
|
+
"type": "SLOP_PHRASE",
|
|
107
|
+
"pattern": "in\\s+der\\s+heutigen\\s+Zeit",
|
|
108
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": "DE015",
|
|
112
|
+
"type": "SLOP_PHRASE",
|
|
113
|
+
"pattern": "eine\\s+Vielzahl\\s+von",
|
|
114
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "DE016",
|
|
118
|
+
"type": "SLOP_PHRASE",
|
|
119
|
+
"pattern": "in\\s+der\\s+modernen\\s+Welt",
|
|
120
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "DE017",
|
|
124
|
+
"type": "SLOP_PHRASE",
|
|
125
|
+
"pattern": "den\\s+Weg\\s+ebnen",
|
|
126
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "DE018",
|
|
130
|
+
"type": "SLOP_PHRASE",
|
|
131
|
+
"pattern": "die\\s+Spielregeln\\s+ändern",
|
|
132
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"id": "DE019",
|
|
136
|
+
"type": "SLOP_PHRASE",
|
|
137
|
+
"pattern": "nahtlos",
|
|
138
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "DE020",
|
|
142
|
+
"type": "SLOP_PHRASE",
|
|
143
|
+
"pattern": "ganzheitlicher\\s+Ansatz",
|
|
144
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"id": "DE021",
|
|
148
|
+
"type": "SLOP_PHRASE",
|
|
149
|
+
"pattern": "wertvolle\\s+Einblicke",
|
|
150
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"id": "DE022",
|
|
154
|
+
"type": "SLOP_PHRASE",
|
|
155
|
+
"pattern": "in\\s+der\\s+sich\\s+entwickelnden\\s+Landschaft",
|
|
156
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"id": "DE023",
|
|
160
|
+
"type": "SLOP_PHRASE",
|
|
161
|
+
"pattern": "am\\s+Ende\\s+des\\s+Tages",
|
|
162
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "DE024",
|
|
166
|
+
"type": "SLOP_PHRASE",
|
|
167
|
+
"pattern": "ohne\\s+Zweifel",
|
|
168
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"id": "DE025",
|
|
172
|
+
"type": "SLOP_PHRASE",
|
|
173
|
+
"pattern": "von\\s+entscheidender\\s+Bedeutung",
|
|
174
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "DE026",
|
|
178
|
+
"type": "DEFINITIONAL_OPENING",
|
|
179
|
+
"pattern": "^(?:Im Kontext von|Im Bereich von|In der Welt von) [\\w\\s]+,",
|
|
180
|
+
"scope": "paragraph-start",
|
|
181
|
+
"fixInstruction": "Start with the specific subject or event instead of a generic framing clause."
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"id": "DE027",
|
|
185
|
+
"type": "STRUCTURAL_CLICHE",
|
|
186
|
+
"pattern": "\\bnicht\\s+nur\\b[\\s\\S]{0,100}?\\bsondern\\s+auch\\b",
|
|
187
|
+
"fixInstruction": "State both claims directly without the stock paired construction."
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
}
|
package/rules/en-slop.json
CHANGED
|
@@ -1,49 +1,50 @@
|
|
|
1
|
-
{
|
|
2
|
-
"language": "en",
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
{"id":"
|
|
6
|
-
{"id":"
|
|
7
|
-
{"id":"
|
|
8
|
-
{"id":"
|
|
9
|
-
{"id":"
|
|
10
|
-
{"id":"
|
|
11
|
-
{"id":"
|
|
12
|
-
{"id":"
|
|
13
|
-
{"id":"
|
|
14
|
-
{"id":"
|
|
15
|
-
{"id":"
|
|
16
|
-
{"id":"
|
|
17
|
-
{"id":"
|
|
18
|
-
{"id":"
|
|
19
|
-
{"id":"
|
|
20
|
-
{"id":"
|
|
21
|
-
{"id":"
|
|
22
|
-
{"id":"
|
|
23
|
-
{"id":"
|
|
24
|
-
{"id":"
|
|
25
|
-
{"id":"
|
|
26
|
-
{"id":"
|
|
27
|
-
{"id":"
|
|
28
|
-
{"id":"
|
|
29
|
-
{"id":"
|
|
30
|
-
{"id":"
|
|
31
|
-
{"id":"
|
|
32
|
-
{"id":"
|
|
33
|
-
{"id":"
|
|
34
|
-
{"id":"
|
|
35
|
-
{"id":"
|
|
36
|
-
{"id":"
|
|
37
|
-
{"id":"
|
|
38
|
-
{"id":"
|
|
39
|
-
{"id":"
|
|
40
|
-
{"id":"
|
|
41
|
-
{"id":"
|
|
42
|
-
{"id":"
|
|
43
|
-
{"id":"
|
|
44
|
-
{"id":"
|
|
45
|
-
{"id":"
|
|
46
|
-
{"id":"
|
|
47
|
-
{"id":"
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
{
|
|
2
|
+
"language": "en",
|
|
3
|
+
"stopwords": ["the", "and", "of", "to", "in", "is", "that", "for", "it", "with", "as", "on", "are", "this", "by", "be", "at", "or", "from", "an"],
|
|
4
|
+
"patterns": [
|
|
5
|
+
{"id":"EN001","type":"SLOP_PHRASE","pattern":"\\bdelve\\b","fixInstruction":"Name the exact action or subject instead."},
|
|
6
|
+
{"id":"EN002","type":"SLOP_PHRASE","pattern":"\\btapestry\\b","fixInstruction":"Replace the metaphor with a concrete description."},
|
|
7
|
+
{"id":"EN003","type":"SLOP_PHRASE","pattern":"\\btestament\\b","fixInstruction":"State the evidence directly."},
|
|
8
|
+
{"id":"EN004","type":"SLOP_PHRASE","pattern":"\\bunderscore(?:s|d|ing)?\\b","fixInstruction":"State what the evidence shows."},
|
|
9
|
+
{"id":"EN005","type":"SLOP_PHRASE","pattern":"\\bpivotal\\b","fixInstruction":"Describe the actual consequence without inflated significance."},
|
|
10
|
+
{"id":"EN006","type":"SLOP_PHRASE","pattern":"\\bcrucial\\b","fixInstruction":"Explain why the item matters in this context."},
|
|
11
|
+
{"id":"EN007","type":"SLOP_PHRASE","pattern":"\\bfoster(?:s|ed|ing)?\\b","fixInstruction":"Name the concrete behavior or outcome."},
|
|
12
|
+
{"id":"EN008","type":"SLOP_PHRASE","pattern":"\\blandscape\\b","fixInstruction":"Name the field or conditions directly."},
|
|
13
|
+
{"id":"EN009","type":"SLOP_PHRASE","pattern":"\\brealm\\b","fixInstruction":"Name the actual domain."},
|
|
14
|
+
{"id":"EN010","type":"SLOP_PHRASE","pattern":"\\bbeacon\\b","fixInstruction":"Replace the metaphor with a supported fact."},
|
|
15
|
+
{"id":"EN011","type":"SLOP_PHRASE","pattern":"\\bsymphony\\b","fixInstruction":"Describe the relationship without a decorative metaphor."},
|
|
16
|
+
{"id":"EN012","type":"SLOP_PHRASE","pattern":"\\bunlock(?:s|ed|ing)?\\b","fixInstruction":"Name what becomes possible and how."},
|
|
17
|
+
{"id":"EN013","type":"SLOP_PHRASE","pattern":"\\belevate(?:s|d|ing)?\\b","fixInstruction":"State the measurable improvement."},
|
|
18
|
+
{"id":"EN014","type":"SLOP_PHRASE","pattern":"\\bunleash(?:es|ed|ing)?\\b","fixInstruction":"Describe the actual capability or result."},
|
|
19
|
+
{"id":"EN015","type":"SLOP_PHRASE","pattern":"\\bgame[- ]changer\\b","fixInstruction":"State the specific change and its effect."},
|
|
20
|
+
{"id":"EN016","type":"SLOP_PHRASE","pattern":"\\bparadigm shift\\b","fixInstruction":"Describe what changed in concrete terms."},
|
|
21
|
+
{"id":"EN017","type":"SLOP_PHRASE","pattern":"\\bmoreover\\b","fixInstruction":"Connect the sentences by their actual relationship."},
|
|
22
|
+
{"id":"EN018","type":"SLOP_PHRASE","pattern":"\\bfurthermore\\b","fixInstruction":"Connect the sentences by their actual relationship."},
|
|
23
|
+
{"id":"EN019","type":"SLOP_PHRASE","pattern":"\\bin conclusion\\b","fixInstruction":"End on the final concrete point."},
|
|
24
|
+
{"id":"EN020","type":"SLOP_PHRASE","pattern":"\\bit is important to note\\b","fixInstruction":"Remove the announcement and state the fact."},
|
|
25
|
+
{"id":"EN021","type":"SLOP_PHRASE","pattern":"\\bit is worth noting\\b","fixInstruction":"Remove the announcement and state the fact."},
|
|
26
|
+
{"id":"EN022","type":"SLOP_PHRASE","pattern":"\\bin today['’]s fast-paced\\b","fixInstruction":"Name the current condition precisely."},
|
|
27
|
+
{"id":"EN023","type":"SLOP_PHRASE","pattern":"\\bever-evolving\\b","fixInstruction":"Name the change and its time frame."},
|
|
28
|
+
{"id":"EN024","type":"SLOP_PHRASE","pattern":"\\bseamless(?:ly)?\\b","fixInstruction":"Describe the missing step, delay, or transition precisely."},
|
|
29
|
+
{"id":"EN025","type":"SLOP_PHRASE","pattern":"\\brobust\\b","fixInstruction":"Name the failure mode or capacity the system handles."},
|
|
30
|
+
{"id":"EN026","type":"SLOP_PHRASE","pattern":"\\bcutting[- ]edge\\b","fixInstruction":"Name the specific technical capability."},
|
|
31
|
+
{"id":"EN027","type":"SLOP_PHRASE","pattern":"\\brevolutionary\\b","fixInstruction":"Describe the concrete difference without promotional language."},
|
|
32
|
+
{"id":"EN028","type":"SLOP_PHRASE","pattern":"\\bnext[- ]generation\\b","fixInstruction":"Name the new behavior or version."},
|
|
33
|
+
{"id":"EN029","type":"SLOP_PHRASE","pattern":"\\btransformative\\b","fixInstruction":"State what changed and for whom."},
|
|
34
|
+
{"id":"EN030","type":"SLOP_PHRASE","pattern":"\\bjourney\\b","fixInstruction":"Name the process or sequence directly."},
|
|
35
|
+
{"id":"EN031","type":"SLOP_PHRASE","pattern":"\\bempower(?:s|ed|ing)?\\b","fixInstruction":"Name the action users can now take."},
|
|
36
|
+
{"id":"EN032","type":"SLOP_PHRASE","pattern":"\\bharness(?:es|ed|ing)?\\b","fixInstruction":"State how the resource is used."},
|
|
37
|
+
{"id":"EN033","type":"SLOP_PHRASE","pattern":"\\bnavigate(?:s|d|ing)? the complexities\\b","fixInstruction":"Name the specific difficulty and response."},
|
|
38
|
+
{"id":"EN034","type":"SLOP_PHRASE","pattern":"\\bholistic approach\\b","fixInstruction":"List the parts included in the approach."},
|
|
39
|
+
{"id":"EN035","type":"SLOP_PHRASE","pattern":"\\bvaluable insights\\b","fixInstruction":"State the finding itself."},
|
|
40
|
+
{"id":"EN036","type":"SLOP_PHRASE","pattern":"\\bplays? a (?:key|vital|crucial) role\\b","fixInstruction":"Describe the action or consequence directly."},
|
|
41
|
+
{"id":"EN037","type":"SLOP_PHRASE","pattern":"\\bthe future looks bright\\b","fixInstruction":"End on a supported plan or concrete fact."},
|
|
42
|
+
{"id":"EN038","type":"SLOP_PHRASE","pattern":"\\bexciting times (?:lie|are) ahead\\b","fixInstruction":"Replace optimism with a supported next step."},
|
|
43
|
+
{"id":"EN039","type":"SLOP_PHRASE","pattern":"\\bstands as a testament\\b","fixInstruction":"State the evidence directly."},
|
|
44
|
+
{"id":"EN040","type":"SLOP_PHRASE","pattern":"\\bmarking a (?:pivotal|significant) moment\\b","fixInstruction":"State what happened and its direct effect."},
|
|
45
|
+
{"id":"EN041","type":"STRUCTURAL_CLICHE","pattern":",\\s+[a-z]+ing\\s+(?:a|the|its|their|this|that)\\s+[a-z]+","fixInstruction":"Split or rewrite the participial tail as a supported clause."},
|
|
46
|
+
{"id":"EN042","type":"STRUCTURAL_CLICHE","pattern":"\\bnot only[\\s\\S]{0,100}?but also\\b","fixInstruction":"State both claims directly without the binary formula."},
|
|
47
|
+
{"id":"EN043","type":"STRUCTURAL_CLICHE","pattern":"\\bit['’]s not just about[\\s\\S]{0,100}?it['’]s about\\b","fixInstruction":"State the positive claim directly."},
|
|
48
|
+
{"id":"EN044","type":"STRUCTURAL_CLICHE","pattern":"(?:—|--)","maxOccurrences":1,"perWords":250,"fixInstruction":"Replace repeated dashes with the punctuation that matches the relationship."}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "es",
|
|
3
|
+
"stopwords": [
|
|
4
|
+
"de",
|
|
5
|
+
"la",
|
|
6
|
+
"que",
|
|
7
|
+
"el",
|
|
8
|
+
"en",
|
|
9
|
+
"los",
|
|
10
|
+
"del",
|
|
11
|
+
"las",
|
|
12
|
+
"por",
|
|
13
|
+
"un",
|
|
14
|
+
"para",
|
|
15
|
+
"con",
|
|
16
|
+
"no",
|
|
17
|
+
"una",
|
|
18
|
+
"su",
|
|
19
|
+
"al",
|
|
20
|
+
"es",
|
|
21
|
+
"como",
|
|
22
|
+
"más",
|
|
23
|
+
"pero"
|
|
24
|
+
],
|
|
25
|
+
"patterns": [
|
|
26
|
+
{
|
|
27
|
+
"id": "ES001",
|
|
28
|
+
"type": "SLOP_PHRASE",
|
|
29
|
+
"pattern": "en\\s+el\\s+vertiginoso\\s+mundo\\s+actual",
|
|
30
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "ES002",
|
|
34
|
+
"type": "SLOP_PHRASE",
|
|
35
|
+
"pattern": "en\\s+la\\s+era\\s+digital\\s+actual",
|
|
36
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "ES003",
|
|
40
|
+
"type": "SLOP_PHRASE",
|
|
41
|
+
"pattern": "cabe\\s+destacar\\s+que",
|
|
42
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "ES004",
|
|
46
|
+
"type": "SLOP_PHRASE",
|
|
47
|
+
"pattern": "es\\s+importante\\s+recordar",
|
|
48
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "ES005",
|
|
52
|
+
"type": "SLOP_PHRASE",
|
|
53
|
+
"pattern": "no\\s+se\\s+puede\\s+negar\\s+que",
|
|
54
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "ES006",
|
|
58
|
+
"type": "SLOP_PHRASE",
|
|
59
|
+
"pattern": "un\\s+tapiz\\s+de",
|
|
60
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "ES007",
|
|
64
|
+
"type": "SLOP_PHRASE",
|
|
65
|
+
"pattern": "en\\s+conclusión",
|
|
66
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "ES008",
|
|
70
|
+
"type": "SLOP_PHRASE",
|
|
71
|
+
"pattern": "en\\s+resumen",
|
|
72
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "ES009",
|
|
76
|
+
"type": "SLOP_PHRASE",
|
|
77
|
+
"pattern": "además",
|
|
78
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "ES010",
|
|
82
|
+
"type": "SLOP_PHRASE",
|
|
83
|
+
"pattern": "por\\s+otro\\s+lado",
|
|
84
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "ES011",
|
|
88
|
+
"type": "SLOP_PHRASE",
|
|
89
|
+
"pattern": "sin\\s+lugar\\s+a\\s+dudas",
|
|
90
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "ES012",
|
|
94
|
+
"type": "SLOP_PHRASE",
|
|
95
|
+
"pattern": "juega\\s+un\\s+papel\\s+crucial",
|
|
96
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "ES013",
|
|
100
|
+
"type": "SLOP_PHRASE",
|
|
101
|
+
"pattern": "un\\s+testimonio\\s+de",
|
|
102
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "ES014",
|
|
106
|
+
"type": "SLOP_PHRASE",
|
|
107
|
+
"pattern": "sumergirse\\s+en",
|
|
108
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": "ES015",
|
|
112
|
+
"type": "SLOP_PHRASE",
|
|
113
|
+
"pattern": "no\\s+solo",
|
|
114
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "ES016",
|
|
118
|
+
"type": "SLOP_PHRASE",
|
|
119
|
+
"pattern": "sino\\s+también",
|
|
120
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "ES017",
|
|
124
|
+
"type": "SLOP_PHRASE",
|
|
125
|
+
"pattern": "en\\s+el\\s+panorama\\s+actual",
|
|
126
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "ES018",
|
|
130
|
+
"type": "SLOP_PHRASE",
|
|
131
|
+
"pattern": "es\\s+fundamental",
|
|
132
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"id": "ES019",
|
|
136
|
+
"type": "SLOP_PHRASE",
|
|
137
|
+
"pattern": "vale\\s+la\\s+pena\\s+señalar",
|
|
138
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "ES020",
|
|
142
|
+
"type": "SLOP_PHRASE",
|
|
143
|
+
"pattern": "a\\s+medida\\s+que",
|
|
144
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"id": "ES021",
|
|
148
|
+
"type": "SLOP_PHRASE",
|
|
149
|
+
"pattern": "en\\s+última\\s+instancia",
|
|
150
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"id": "ES022",
|
|
154
|
+
"type": "SLOP_PHRASE",
|
|
155
|
+
"pattern": "en\\s+un\\s+mundo\\s+en\\s+constante\\s+evolución",
|
|
156
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"id": "ES023",
|
|
160
|
+
"type": "SLOP_PHRASE",
|
|
161
|
+
"pattern": "abre\\s+la\\s+puerta\\s+a",
|
|
162
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "ES024",
|
|
166
|
+
"type": "SLOP_PHRASE",
|
|
167
|
+
"pattern": "cambiar\\s+las\\s+reglas\\s+del\\s+juego",
|
|
168
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"id": "ES025",
|
|
172
|
+
"type": "SLOP_PHRASE",
|
|
173
|
+
"pattern": "sin\\s+problemas",
|
|
174
|
+
"fixInstruction": "Replace this stock phrase with the concrete fact, actor, or action."
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "ES026",
|
|
178
|
+
"type": "DEFINITIONAL_OPENING",
|
|
179
|
+
"pattern": "^(?:En el contexto de|En el ámbito de|En el mundo de) [\\w\\s]+,",
|
|
180
|
+
"scope": "paragraph-start",
|
|
181
|
+
"fixInstruction": "Start with the specific subject or event instead of a generic framing clause."
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"id": "ES027",
|
|
185
|
+
"type": "STRUCTURAL_CLICHE",
|
|
186
|
+
"pattern": "\\bno\\s+solo\\b[\\s\\S]{0,100}?\\bsino\\s+también\\b",
|
|
187
|
+
"fixInstruction": "State both claims directly without the stock paired construction."
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
}
|