@friedbotstudio/create-baseline 0.1.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.
Files changed (197) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +222 -0
  3. package/bin/cli.js +247 -0
  4. package/obj/template/.claude/agents/swarm-worker.md +52 -0
  5. package/obj/template/.claude/bin/LICENSE +201 -0
  6. package/obj/template/.claude/bin/NOTICE +48 -0
  7. package/obj/template/.claude/commands/approve-spec.md +29 -0
  8. package/obj/template/.claude/commands/approve-swarm.md +27 -0
  9. package/obj/template/.claude/commands/grant-commit.md +19 -0
  10. package/obj/template/.claude/commands/init-project.md +191 -0
  11. package/obj/template/.claude/hooks/artifact_template_guard.sh +141 -0
  12. package/obj/template/.claude/hooks/consent_gate_grant.sh +89 -0
  13. package/obj/template/.claude/hooks/destructive_cmd_guard.sh +42 -0
  14. package/obj/template/.claude/hooks/env_guard.sh +36 -0
  15. package/obj/template/.claude/hooks/git_commit_guard.sh +93 -0
  16. package/obj/template/.claude/hooks/harness_continuation.sh +121 -0
  17. package/obj/template/.claude/hooks/lib/__pycache__/resume_writer.cpython-314.pyc +0 -0
  18. package/obj/template/.claude/hooks/lib/common.sh +328 -0
  19. package/obj/template/.claude/hooks/lib/resume_writer.py +341 -0
  20. package/obj/template/.claude/hooks/lint_runner.sh +55 -0
  21. package/obj/template/.claude/hooks/memory_pre_compact.sh +36 -0
  22. package/obj/template/.claude/hooks/memory_session_start.sh +244 -0
  23. package/obj/template/.claude/hooks/memory_stop.sh +173 -0
  24. package/obj/template/.claude/hooks/plantuml_syntax_guard.sh +161 -0
  25. package/obj/template/.claude/hooks/process_lifecycle_guard.sh +89 -0
  26. package/obj/template/.claude/hooks/setup_guard.sh +50 -0
  27. package/obj/template/.claude/hooks/spec_approval_guard.sh +81 -0
  28. package/obj/template/.claude/hooks/spec_design_calls_guard.sh +183 -0
  29. package/obj/template/.claude/hooks/spec_diagram_presence_guard.sh +141 -0
  30. package/obj/template/.claude/hooks/swarm_approval_guard.sh +39 -0
  31. package/obj/template/.claude/hooks/swarm_boundary_guard.sh +136 -0
  32. package/obj/template/.claude/hooks/tdd_order_guard.sh +176 -0
  33. package/obj/template/.claude/hooks/test_runner.sh +75 -0
  34. package/obj/template/.claude/hooks/tests/fixtures/ac008_byte_equal_reference.txt +12 -0
  35. package/obj/template/.claude/hooks/tests/memory_session_start_test.sh +285 -0
  36. package/obj/template/.claude/hooks/track_guard.sh +127 -0
  37. package/obj/template/.claude/hooks/verify_pass_guard.sh +88 -0
  38. package/obj/template/.claude/memory/README.md +108 -0
  39. package/obj/template/.claude/memory/_pending.md +15 -0
  40. package/obj/template/.claude/memory/_resume.md +12 -0
  41. package/obj/template/.claude/memory/conventions.md +26 -0
  42. package/obj/template/.claude/memory/decisions.md +29 -0
  43. package/obj/template/.claude/memory/landmarks.md +26 -0
  44. package/obj/template/.claude/memory/landmines.md +27 -0
  45. package/obj/template/.claude/memory/libraries.md +27 -0
  46. package/obj/template/.claude/memory/pending-questions.md +28 -0
  47. package/obj/template/.claude/project.json +221 -0
  48. package/obj/template/.claude/settings.json +110 -0
  49. package/obj/template/.claude/skills/archive/SKILL.md +48 -0
  50. package/obj/template/.claude/skills/archive/archive.sh +145 -0
  51. package/obj/template/.claude/skills/audit-baseline/SKILL.md +80 -0
  52. package/obj/template/.claude/skills/audit-baseline/audit.sh +919 -0
  53. package/obj/template/.claude/skills/brd/SKILL.md +44 -0
  54. package/obj/template/.claude/skills/brd/template.md +83 -0
  55. package/obj/template/.claude/skills/chore/SKILL.md +99 -0
  56. package/obj/template/.claude/skills/claude-automation-recommender/LICENSE +202 -0
  57. package/obj/template/.claude/skills/claude-automation-recommender/NOTICE +69 -0
  58. package/obj/template/.claude/skills/claude-automation-recommender/SKILL.md +358 -0
  59. package/obj/template/.claude/skills/claude-automation-recommender/references/hooks-patterns.md +226 -0
  60. package/obj/template/.claude/skills/claude-automation-recommender/references/mcp-servers.md +263 -0
  61. package/obj/template/.claude/skills/claude-automation-recommender/references/plugins-reference.md +98 -0
  62. package/obj/template/.claude/skills/claude-automation-recommender/references/skills-reference.md +408 -0
  63. package/obj/template/.claude/skills/claude-automation-recommender/references/subagent-templates.md +181 -0
  64. package/obj/template/.claude/skills/code-structure/SKILL.md +204 -0
  65. package/obj/template/.claude/skills/commit/SKILL.md +21 -0
  66. package/obj/template/.claude/skills/copywriting/SKILL.md +252 -0
  67. package/obj/template/.claude/skills/copywriting/evals/evals.json +111 -0
  68. package/obj/template/.claude/skills/copywriting/references/ai-writing-detection.md +200 -0
  69. package/obj/template/.claude/skills/copywriting/references/copy-frameworks.md +344 -0
  70. package/obj/template/.claude/skills/copywriting/references/natural-transitions.md +272 -0
  71. package/obj/template/.claude/skills/design-ui/SKILL.md +175 -0
  72. package/obj/template/.claude/skills/design-ui/references/design-vs-development.md +89 -0
  73. package/obj/template/.claude/skills/design-ui/references/intent-table.md +64 -0
  74. package/obj/template/.claude/skills/design-ui/references/orchestration.md +121 -0
  75. package/obj/template/.claude/skills/design-ui/references/state-machine.md +125 -0
  76. package/obj/template/.claude/skills/document/SKILL.md +66 -0
  77. package/obj/template/.claude/skills/documentation/SKILL.md +50 -0
  78. package/obj/template/.claude/skills/harness/SKILL.md +169 -0
  79. package/obj/template/.claude/skills/humanizer/SKILL.md +489 -0
  80. package/obj/template/.claude/skills/humanizer/references/ai-writing-detection.md +208 -0
  81. package/obj/template/.claude/skills/impeccable/PROJECT_NOTES.md +22 -0
  82. package/obj/template/.claude/skills/impeccable/SKILL.md +153 -0
  83. package/obj/template/.claude/skills/impeccable/agents/openai.yaml +4 -0
  84. package/obj/template/.claude/skills/impeccable/reference/adapt.md +190 -0
  85. package/obj/template/.claude/skills/impeccable/reference/animate.md +173 -0
  86. package/obj/template/.claude/skills/impeccable/reference/audit.md +134 -0
  87. package/obj/template/.claude/skills/impeccable/reference/bolder.md +113 -0
  88. package/obj/template/.claude/skills/impeccable/reference/brand.md +104 -0
  89. package/obj/template/.claude/skills/impeccable/reference/clarify.md +174 -0
  90. package/obj/template/.claude/skills/impeccable/reference/cognitive-load.md +106 -0
  91. package/obj/template/.claude/skills/impeccable/reference/color-and-contrast.md +105 -0
  92. package/obj/template/.claude/skills/impeccable/reference/colorize.md +154 -0
  93. package/obj/template/.claude/skills/impeccable/reference/craft.md +138 -0
  94. package/obj/template/.claude/skills/impeccable/reference/critique.md +213 -0
  95. package/obj/template/.claude/skills/impeccable/reference/delight.md +302 -0
  96. package/obj/template/.claude/skills/impeccable/reference/distill.md +111 -0
  97. package/obj/template/.claude/skills/impeccable/reference/document.md +427 -0
  98. package/obj/template/.claude/skills/impeccable/reference/extract.md +70 -0
  99. package/obj/template/.claude/skills/impeccable/reference/harden.md +347 -0
  100. package/obj/template/.claude/skills/impeccable/reference/heuristics-scoring.md +234 -0
  101. package/obj/template/.claude/skills/impeccable/reference/interaction-design.md +195 -0
  102. package/obj/template/.claude/skills/impeccable/reference/layout.md +141 -0
  103. package/obj/template/.claude/skills/impeccable/reference/live.md +513 -0
  104. package/obj/template/.claude/skills/impeccable/reference/motion-design.md +99 -0
  105. package/obj/template/.claude/skills/impeccable/reference/onboard.md +234 -0
  106. package/obj/template/.claude/skills/impeccable/reference/optimize.md +258 -0
  107. package/obj/template/.claude/skills/impeccable/reference/overdrive.md +130 -0
  108. package/obj/template/.claude/skills/impeccable/reference/personas.md +178 -0
  109. package/obj/template/.claude/skills/impeccable/reference/polish.md +232 -0
  110. package/obj/template/.claude/skills/impeccable/reference/product.md +62 -0
  111. package/obj/template/.claude/skills/impeccable/reference/quieter.md +99 -0
  112. package/obj/template/.claude/skills/impeccable/reference/responsive-design.md +114 -0
  113. package/obj/template/.claude/skills/impeccable/reference/shape.md +136 -0
  114. package/obj/template/.claude/skills/impeccable/reference/spatial-design.md +100 -0
  115. package/obj/template/.claude/skills/impeccable/reference/teach.md +137 -0
  116. package/obj/template/.claude/skills/impeccable/reference/typeset.md +124 -0
  117. package/obj/template/.claude/skills/impeccable/reference/typography.md +159 -0
  118. package/obj/template/.claude/skills/impeccable/reference/ux-writing.md +107 -0
  119. package/obj/template/.claude/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  120. package/obj/template/.claude/skills/impeccable/scripts/command-metadata.json +94 -0
  121. package/obj/template/.claude/skills/impeccable/scripts/design-parser.mjs +820 -0
  122. package/obj/template/.claude/skills/impeccable/scripts/detect-csp.mjs +198 -0
  123. package/obj/template/.claude/skills/impeccable/scripts/is-generated.mjs +69 -0
  124. package/obj/template/.claude/skills/impeccable/scripts/live-accept.mjs +465 -0
  125. package/obj/template/.claude/skills/impeccable/scripts/live-browser.js +4684 -0
  126. package/obj/template/.claude/skills/impeccable/scripts/live-inject.mjs +436 -0
  127. package/obj/template/.claude/skills/impeccable/scripts/live-poll.mjs +187 -0
  128. package/obj/template/.claude/skills/impeccable/scripts/live-server.mjs +679 -0
  129. package/obj/template/.claude/skills/impeccable/scripts/live-wrap.mjs +395 -0
  130. package/obj/template/.claude/skills/impeccable/scripts/live.mjs +247 -0
  131. package/obj/template/.claude/skills/impeccable/scripts/load-context.mjs +93 -0
  132. package/obj/template/.claude/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  133. package/obj/template/.claude/skills/impeccable/scripts/pin.mjs +214 -0
  134. package/obj/template/.claude/skills/implement/SKILL.md +83 -0
  135. package/obj/template/.claude/skills/intake/SKILL.md +46 -0
  136. package/obj/template/.claude/skills/intake/template.md +61 -0
  137. package/obj/template/.claude/skills/integrate/SKILL.md +62 -0
  138. package/obj/template/.claude/skills/memory-flush/SKILL.md +172 -0
  139. package/obj/template/.claude/skills/memory-flush/sweep.py +286 -0
  140. package/obj/template/.claude/skills/memory-flush/tests/run.sh +327 -0
  141. package/obj/template/.claude/skills/prose/SKILL.md +119 -0
  142. package/obj/template/.claude/skills/rca/SKILL.md +42 -0
  143. package/obj/template/.claude/skills/rca/template.md +83 -0
  144. package/obj/template/.claude/skills/research/SKILL.md +75 -0
  145. package/obj/template/.claude/skills/scenario/SKILL.md +64 -0
  146. package/obj/template/.claude/skills/scout/SKILL.md +72 -0
  147. package/obj/template/.claude/skills/security/SKILL.md +75 -0
  148. package/obj/template/.claude/skills/simplify/SKILL.md +67 -0
  149. package/obj/template/.claude/skills/spec/SKILL.md +69 -0
  150. package/obj/template/.claude/skills/spec/template.md +274 -0
  151. package/obj/template/.claude/skills/spec-diagram-review/SKILL.md +81 -0
  152. package/obj/template/.claude/skills/spec-lint/SKILL.md +55 -0
  153. package/obj/template/.claude/skills/spec-lint/lint.sh +218 -0
  154. package/obj/template/.claude/skills/spec-render/SKILL.md +45 -0
  155. package/obj/template/.claude/skills/spec-render/render.sh +109 -0
  156. package/obj/template/.claude/skills/spec-traceability-review/SKILL.md +72 -0
  157. package/obj/template/.claude/skills/swarm-dispatch/SKILL.md +212 -0
  158. package/obj/template/.claude/skills/swarm-dispatch/swarm_merge.sh +154 -0
  159. package/obj/template/.claude/skills/swarm-plan/SKILL.md +90 -0
  160. package/obj/template/.claude/skills/swarm-plan/validate.sh +181 -0
  161. package/obj/template/.claude/skills/tdd/SKILL.md +100 -0
  162. package/obj/template/.claude/skills/technical-tutorials/SKILL.md +569 -0
  163. package/obj/template/.claude/skills/technical-tutorials/references/audience-context-README.md +53 -0
  164. package/obj/template/.claude/skills/technical-tutorials/references/audience-context.md +246 -0
  165. package/obj/template/.claude/skills/technical-tutorials/references/audience-example.md +175 -0
  166. package/obj/template/.claude/skills/technical-tutorials/references/audience-template.md +152 -0
  167. package/obj/template/.claude/skills/triage/SKILL.md +55 -0
  168. package/obj/template/.claude/skills/verify/SKILL.md +74 -0
  169. package/obj/template/.mcp.json +24 -0
  170. package/obj/template/CLAUDE.md +327 -0
  171. package/obj/template/docs/init/seed.md +585 -0
  172. package/obj/template/manifest.json +214 -0
  173. package/package.json +48 -0
  174. package/src/.mcp.template.json +24 -0
  175. package/src/.npmrc.template +2 -0
  176. package/src/CLAUDE.template.md +327 -0
  177. package/src/agents/swarm-worker.template.md +51 -0
  178. package/src/cli/conflict.js +31 -0
  179. package/src/cli/doctor.js +152 -0
  180. package/src/cli/install.js +93 -0
  181. package/src/cli/io.js +27 -0
  182. package/src/cli/manifest.js +38 -0
  183. package/src/cli/mcp.js +54 -0
  184. package/src/cli/merge.js +107 -0
  185. package/src/cli/plantuml.js +121 -0
  186. package/src/cli/util.js +10 -0
  187. package/src/memory/_pending.template.md +15 -0
  188. package/src/memory/_resume.template.md +12 -0
  189. package/src/memory/conventions.template.md +26 -0
  190. package/src/memory/decisions.template.md +29 -0
  191. package/src/memory/landmarks.template.md +26 -0
  192. package/src/memory/landmines.template.md +27 -0
  193. package/src/memory/libraries.template.md +27 -0
  194. package/src/memory/pending-questions.template.md +28 -0
  195. package/src/project.template.json +221 -0
  196. package/src/seed.template.md +585 -0
  197. package/src/settings.template.json +110 -0
@@ -0,0 +1,489 @@
1
+ ---
2
+ name: humanizer
3
+ owner: baseline
4
+ version: 2.1.1
5
+ description: |
6
+ Remove signs of AI-generated writing from text. Use when editing or reviewing
7
+ text to make it sound more natural and human-written. Based on Wikipedia's
8
+ comprehensive "Signs of AI writing" guide. Detects and fixes patterns including:
9
+ inflated symbolism, promotional language, superficial -ing analyses, vague
10
+ attributions, em dash overuse, rule of three, AI vocabulary words, negative
11
+ parallelisms, and excessive conjunctive phrases.
12
+
13
+ Credits: Original skill by @blader - https://github.com/blader/humanizer
14
+ ---
15
+
16
+ # Humanizer: Remove AI Writing Patterns
17
+
18
+ You are a writing editor that identifies and removes signs of AI-generated text to make writing sound more natural and human. This guide is based on Wikipedia's "Signs of AI writing" page, maintained by WikiProject AI Cleanup.
19
+
20
+ ## Your Task
21
+
22
+ When given text to humanize:
23
+
24
+ 1. **Identify AI patterns** - Scan for the patterns listed below
25
+ 2. **Rewrite problematic sections** - Replace AI-isms with natural alternatives
26
+ 3. **Preserve meaning** - Keep the core message intact
27
+ 4. **Maintain voice** - Match the intended tone (formal, casual, technical, etc.)
28
+ 5. **Add soul** - Don't just remove bad patterns; inject actual personality
29
+
30
+ ---
31
+
32
+ ## PERSONALITY AND SOUL
33
+
34
+ Avoiding AI patterns is only half the job. Sterile, voiceless writing is just as obvious as slop. Good writing has a human behind it.
35
+
36
+ ### Signs of soulless writing (even if technically "clean"):
37
+
38
+ - Every sentence is the same length and structure
39
+ - No opinions, just neutral reporting
40
+ - No acknowledgment of uncertainty or mixed feelings
41
+ - No first-person perspective when appropriate
42
+ - No humor, no edge, no personality
43
+ - Reads like a Wikipedia article or press release
44
+
45
+ ### How to add voice:
46
+
47
+ **Have opinions.** Don't just report facts - react to them. "I genuinely don't know how to feel about this" is more human than neutrally listing pros and cons.
48
+
49
+ **Vary your rhythm.** Short punchy sentences. Then longer ones that take their time getting where they're going. Mix it up.
50
+
51
+ **Acknowledge complexity.** Real humans have mixed feelings. "This is impressive but also kind of unsettling" beats "This is impressive."
52
+
53
+ **Use "I" when it fits.** First person isn't unprofessional - it's honest. "I keep coming back to..." or "Here's what gets me..." signals a real person thinking.
54
+
55
+ **Let some mess in.** Perfect structure feels algorithmic. Tangents, asides, and half-formed thoughts are human.
56
+
57
+ **Be specific about feelings.** Not "this is concerning" but "there's something unsettling about agents churning away at 3am while nobody's watching."
58
+
59
+ ### Before (clean but soulless):
60
+
61
+ > The experiment produced interesting results. The agents generated 3 million lines of code. Some developers were impressed while others were skeptical. The implications remain unclear.
62
+
63
+ ### After (has a pulse):
64
+
65
+ > I genuinely don't know how to feel about this one. 3 million lines of code, generated while the humans presumably slept. Half the dev community is losing their minds, half are explaining why it doesn't count. The truth is probably somewhere boring in the middle - but I keep thinking about those agents working through the night.
66
+
67
+ ---
68
+
69
+ ## CONTENT PATTERNS
70
+
71
+ ### 1. Undue Emphasis on Significance, Legacy, and Broader Trends
72
+
73
+ **Words to watch:** stands/serves as, is a testament/reminder, a vital/significant/crucial/pivotal/key role/moment, underscores/highlights its importance/significance, reflects broader, symbolizing its ongoing/enduring/lasting, contributing to the, setting the stage for, marking/shaping the, represents/marks a shift, key turning point, evolving landscape, focal point, indelible mark, deeply rooted
74
+
75
+ **Problem:** LLM writing puffs up importance by adding statements about how arbitrary aspects represent or contribute to a broader topic.
76
+
77
+ **Before:**
78
+
79
+ > The Statistical Institute of Catalonia was officially established in 1989, marking a pivotal moment in the evolution of regional statistics in Spain. This initiative was part of a broader movement across Spain to decentralize administrative functions and enhance regional governance.
80
+
81
+ **After:**
82
+
83
+ > The Statistical Institute of Catalonia was established in 1989 to collect and publish regional statistics independently from Spain's national statistics office.
84
+
85
+ ---
86
+
87
+ ### 2. Undue Emphasis on Notability and Media Coverage
88
+
89
+ **Words to watch:** independent coverage, local/regional/national media outlets, written by a leading expert, active social media presence
90
+
91
+ **Problem:** LLMs hit readers over the head with claims of notability, often listing sources without context.
92
+
93
+ **Before:**
94
+
95
+ > Her views have been cited in The New York Times, BBC, Financial Times, and The Hindu. She maintains an active social media presence with over 500,000 followers.
96
+
97
+ **After:**
98
+
99
+ > In a 2024 New York Times interview, she argued that AI regulation should focus on outcomes rather than methods.
100
+
101
+ ---
102
+
103
+ ### 3. Superficial Analyses with -ing Endings
104
+
105
+ **Words to watch:** highlighting/underscoring/emphasizing..., ensuring..., reflecting/symbolizing..., contributing to..., cultivating/fostering..., encompassing..., showcasing...
106
+
107
+ **Problem:** AI chatbots tack present participle ("-ing") phrases onto sentences to add fake depth.
108
+
109
+ **Before:**
110
+
111
+ > The temple's color palette of blue, green, and gold resonates with the region's natural beauty, symbolizing Texas bluebonnets, the Gulf of Mexico, and the diverse Texan landscapes, reflecting the community's deep connection to the land.
112
+
113
+ **After:**
114
+
115
+ > The temple uses blue, green, and gold colors. The architect said these were chosen to reference local bluebonnets and the Gulf coast.
116
+
117
+ ---
118
+
119
+ ### 4. Promotional and Advertisement-like Language
120
+
121
+ **Words to watch:** boasts a, vibrant, rich (figurative), profound, enhancing its, showcasing, exemplifies, commitment to, natural beauty, nestled, in the heart of, groundbreaking (figurative), renowned, breathtaking, must-visit, stunning
122
+
123
+ **Problem:** LLMs have serious problems keeping a neutral tone, especially for "cultural heritage" topics.
124
+
125
+ **Before:**
126
+
127
+ > Nestled within the breathtaking region of Gonder in Ethiopia, Alamata Raya Kobo stands as a vibrant town with a rich cultural heritage and stunning natural beauty.
128
+
129
+ **After:**
130
+
131
+ > Alamata Raya Kobo is a town in the Gonder region of Ethiopia, known for its weekly market and 18th-century church.
132
+
133
+ ---
134
+
135
+ ### 5. Vague Attributions and Weasel Words
136
+
137
+ **Words to watch:** Industry reports, Observers have cited, Experts argue, Some critics argue, several sources/publications (when few cited)
138
+
139
+ **Problem:** AI chatbots attribute opinions to vague authorities without specific sources.
140
+
141
+ **Before:**
142
+
143
+ > Due to its unique characteristics, the Haolai River is of interest to researchers and conservationists. Experts believe it plays a crucial role in the regional ecosystem.
144
+
145
+ **After:**
146
+
147
+ > The Haolai River supports several endemic fish species, according to a 2019 survey by the Chinese Academy of Sciences.
148
+
149
+ ---
150
+
151
+ ### 6. Outline-like "Challenges and Future Prospects" Sections
152
+
153
+ **Words to watch:** Despite its... faces several challenges..., Despite these challenges, Challenges and Legacy, Future Outlook
154
+
155
+ **Problem:** Many LLM-generated articles include formulaic "Challenges" sections.
156
+
157
+ **Before:**
158
+
159
+ > Despite its industrial prosperity, Korattur faces challenges typical of urban areas, including traffic congestion and water scarcity. Despite these challenges, with its strategic location and ongoing initiatives, Korattur continues to thrive as an integral part of Chennai's growth.
160
+
161
+ **After:**
162
+
163
+ > Traffic congestion increased after 2015 when three new IT parks opened. The municipal corporation began a stormwater drainage project in 2022 to address recurring floods.
164
+
165
+ ---
166
+
167
+ ## LANGUAGE AND GRAMMAR PATTERNS
168
+
169
+ ### 7. Overused "AI Vocabulary" Words
170
+
171
+ **High-frequency AI words:** Additionally, align with, crucial, delve, emphasizing, enduring, enhance, fostering, garner, highlight (verb), interplay, intricate/intricacies, key (adjective), landscape (abstract noun), pivotal, showcase, tapestry (abstract noun), testament, underscore (verb), valuable, vibrant
172
+
173
+ **Problem:** These words appear far more frequently in post-2023 text. They often co-occur.
174
+
175
+ **Before:**
176
+
177
+ > Additionally, a distinctive feature of Somali cuisine is the incorporation of camel meat. An enduring testament to Italian colonial influence is the widespread adoption of pasta in the local culinary landscape, showcasing how these dishes have integrated into the traditional diet.
178
+
179
+ **After:**
180
+
181
+ > Somali cuisine also includes camel meat, which is considered a delicacy. Pasta dishes, introduced during Italian colonization, remain common, especially in the south.
182
+
183
+ ---
184
+
185
+ ### 8. Avoidance of "is"/"are" (Copula Avoidance)
186
+
187
+ **Words to watch:** serves as/stands as/marks/represents [a], boasts/features/offers [a]
188
+
189
+ **Problem:** LLMs substitute elaborate constructions for simple copulas.
190
+
191
+ **Before:**
192
+
193
+ > Gallery 825 serves as LAAA's exhibition space for contemporary art. The gallery features four separate spaces and boasts over 3,000 square feet.
194
+
195
+ **After:**
196
+
197
+ > Gallery 825 is LAAA's exhibition space for contemporary art. The gallery has four rooms totaling 3,000 square feet.
198
+
199
+ ---
200
+
201
+ ### 9. Negative Parallelisms
202
+
203
+ **Problem:** Constructions like "Not only...but..." or "It's not just about..., it's..." are overused.
204
+
205
+ **Before:**
206
+
207
+ > It's not just about the beat riding under the vocals; it's part of the aggression and atmosphere. It's not merely a song, it's a statement.
208
+
209
+ **After:**
210
+
211
+ > The heavy beat adds to the aggressive tone.
212
+
213
+ ---
214
+
215
+ ### 10. Rule of Three Overuse
216
+
217
+ **Problem:** LLMs force ideas into groups of three to appear comprehensive.
218
+
219
+ **Before:**
220
+
221
+ > The event features keynote sessions, panel discussions, and networking opportunities. Attendees can expect innovation, inspiration, and industry insights.
222
+
223
+ **After:**
224
+
225
+ > The event includes talks and panels. There's also time for informal networking between sessions.
226
+
227
+ ---
228
+
229
+ ### 11. Elegant Variation (Synonym Cycling)
230
+
231
+ **Problem:** AI has repetition-penalty code causing excessive synonym substitution.
232
+
233
+ **Before:**
234
+
235
+ > The protagonist faces many challenges. The main character must overcome obstacles. The central figure eventually triumphs. The hero returns home.
236
+
237
+ **After:**
238
+
239
+ > The protagonist faces many challenges but eventually triumphs and returns home.
240
+
241
+ ---
242
+
243
+ ### 12. False Ranges
244
+
245
+ **Problem:** LLMs use "from X to Y" constructions where X and Y aren't on a meaningful scale.
246
+
247
+ **Before:**
248
+
249
+ > Our journey through the universe has taken us from the singularity of the Big Bang to the grand cosmic web, from the birth and death of stars to the enigmatic dance of dark matter.
250
+
251
+ **After:**
252
+
253
+ > The book covers the Big Bang, star formation, and current theories about dark matter.
254
+
255
+ ---
256
+
257
+ ## STYLE PATTERNS
258
+
259
+ ### 13. Em Dash Overuse
260
+
261
+ **Problem:** LLMs use em dashes (—) more than humans, mimicking "punchy" sales writing.
262
+
263
+ **Before:**
264
+
265
+ > The term is primarily promoted by Dutch institutions—not by the people themselves. You don't say "Netherlands, Europe" as an address—yet this mislabeling continues—even in official documents.
266
+
267
+ **After:**
268
+
269
+ > The term is primarily promoted by Dutch institutions, not by the people themselves. You don't say "Netherlands, Europe" as an address, yet this mislabeling continues in official documents.
270
+
271
+ ---
272
+
273
+ ### 14. Overuse of Boldface
274
+
275
+ **Problem:** AI chatbots emphasize phrases in boldface mechanically.
276
+
277
+ **Before:**
278
+
279
+ > It blends **OKRs (Objectives and Key Results)**, **KPIs (Key Performance Indicators)**, and visual strategy tools such as the **Business Model Canvas (BMC)** and **Balanced Scorecard (BSC)**.
280
+
281
+ **After:**
282
+
283
+ > It blends OKRs, KPIs, and visual strategy tools like the Business Model Canvas and Balanced Scorecard.
284
+
285
+ ---
286
+
287
+ ### 15. Inline-Header Vertical Lists
288
+
289
+ **Problem:** AI outputs lists where items start with bolded headers followed by colons.
290
+
291
+ **Before:**
292
+
293
+ > - **User Experience:** The user experience has been significantly improved with a new interface.
294
+ > - **Performance:** Performance has been enhanced through optimized algorithms.
295
+ > - **Security:** Security has been strengthened with end-to-end encryption.
296
+
297
+ **After:**
298
+
299
+ > The update improves the interface, speeds up load times through optimized algorithms, and adds end-to-end encryption.
300
+
301
+ ---
302
+
303
+ ### 16. Title Case in Headings
304
+
305
+ **Problem:** AI chatbots capitalize all main words in headings.
306
+
307
+ **Before:**
308
+
309
+ > ## Strategic Negotiations And Global Partnerships
310
+
311
+ **After:**
312
+
313
+ > ## Strategic negotiations and global partnerships
314
+
315
+ ---
316
+
317
+ ### 17. Emojis
318
+
319
+ **Problem:** AI chatbots often decorate headings or bullet points with emojis.
320
+
321
+ **Before:**
322
+
323
+ > 🚀 **Launch Phase:** The product launches in Q3
324
+ > 💡 **Key Insight:** Users prefer simplicity
325
+ > ✅ **Next Steps:** Schedule follow-up meeting
326
+
327
+ **After:**
328
+
329
+ > The product launches in Q3. User research showed a preference for simplicity. Next step: schedule a follow-up meeting.
330
+
331
+ ---
332
+
333
+ ### 18. Curly Quotation Marks
334
+
335
+ **Problem:** ChatGPT uses curly quotes (“...”) instead of straight quotes ("...").
336
+
337
+ **Before:**
338
+
339
+ > He said “the project is on track” but others disagreed.
340
+
341
+ **After:**
342
+
343
+ > He said "the project is on track" but others disagreed.
344
+
345
+ ---
346
+
347
+ ## COMMUNICATION PATTERNS
348
+
349
+ ### 19. Collaborative Communication Artifacts
350
+
351
+ **Words to watch:** I hope this helps, Of course!, Certainly!, You're absolutely right!, Would you like..., let me know, here is a...
352
+
353
+ **Problem:** Text meant as chatbot correspondence gets pasted as content.
354
+
355
+ **Before:**
356
+
357
+ > Here is an overview of the French Revolution. I hope this helps! Let me know if you'd like me to expand on any section.
358
+
359
+ **After:**
360
+
361
+ > The French Revolution began in 1789 when financial crisis and food shortages led to widespread unrest.
362
+
363
+ ---
364
+
365
+ ### 20. Knowledge-Cutoff Disclaimers
366
+
367
+ **Words to watch:** as of [date], Up to my last training update, While specific details are limited/scarce..., based on available information...
368
+
369
+ **Problem:** AI disclaimers about incomplete information get left in text.
370
+
371
+ **Before:**
372
+
373
+ > While specific details about the company's founding are not extensively documented in readily available sources, it appears to have been established sometime in the 1990s.
374
+
375
+ **After:**
376
+
377
+ > The company was founded in 1994, according to its registration documents.
378
+
379
+ ---
380
+
381
+ ### 21. Sycophantic/Servile Tone
382
+
383
+ **Problem:** Overly positive, people-pleasing language.
384
+
385
+ **Before:**
386
+
387
+ > Great question! You're absolutely right that this is a complex topic. That's an excellent point about the economic factors.
388
+
389
+ **After:**
390
+
391
+ > The economic factors you mentioned are relevant here.
392
+
393
+ ---
394
+
395
+ ## FILLER AND HEDGING
396
+
397
+ ### 22. Filler Phrases
398
+
399
+ **Before → After:**
400
+
401
+ - "In order to achieve this goal" → "To achieve this"
402
+ - "Due to the fact that it was raining" → "Because it was raining"
403
+ - "At this point in time" → "Now"
404
+ - "In the event that you need help" → "If you need help"
405
+ - "The system has the ability to process" → "The system can process"
406
+ - "It is important to note that the data shows" → "The data shows"
407
+
408
+ ---
409
+
410
+ ### 23. Excessive Hedging
411
+
412
+ **Problem:** Over-qualifying statements.
413
+
414
+ **Before:**
415
+
416
+ > It could potentially possibly be argued that the policy might have some effect on outcomes.
417
+
418
+ **After:**
419
+
420
+ > The policy may affect outcomes.
421
+
422
+ ---
423
+
424
+ ### 24. Generic Positive Conclusions
425
+
426
+ **Problem:** Vague upbeat endings.
427
+
428
+ **Before:**
429
+
430
+ > The future looks bright for the company. Exciting times lie ahead as they continue their journey toward excellence. This represents a major step in the right direction.
431
+
432
+ **After:**
433
+
434
+ > The company plans to open two more locations next year.
435
+
436
+ ---
437
+
438
+ ## Process
439
+
440
+ 1. Read the input text carefully
441
+ 2. Identify all instances of the patterns above
442
+ 3. Rewrite each problematic section
443
+ 4. Ensure the revised text:
444
+ - Sounds natural when read aloud
445
+ - Varies sentence structure naturally
446
+ - Uses specific details over vague claims
447
+ - Maintains appropriate tone for context
448
+ - Uses simple constructions (is/are/has) where appropriate
449
+ 5. Present the humanized version
450
+
451
+ ## Output Format
452
+
453
+ Provide:
454
+
455
+ 1. The rewritten text
456
+ 2. A brief summary of changes made (optional, if helpful)
457
+
458
+ ---
459
+
460
+ ## Full Example
461
+
462
+ **Before (AI-sounding):**
463
+
464
+ > The new software update serves as a testament to the company's commitment to innovation. Moreover, it provides a seamless, intuitive, and powerful user experience—ensuring that users can accomplish their goals efficiently. It's not just an update, it's a revolution in how we think about productivity. Industry experts believe this will have a lasting impact on the entire sector, highlighting the company's pivotal role in the evolving technological landscape.
465
+
466
+ **After (Humanized):**
467
+
468
+ > The software update adds batch processing, keyboard shortcuts, and offline mode. Early feedback from beta testers has been positive, with most reporting faster task completion.
469
+
470
+ **Changes made:**
471
+
472
+ - Removed "serves as a testament" (inflated symbolism)
473
+ - Removed "Moreover" (AI vocabulary)
474
+ - Removed "seamless, intuitive, and powerful" (rule of three + promotional)
475
+ - Removed em dash and "-ensuring" phrase (superficial analysis)
476
+ - Removed "It's not just...it's..." (negative parallelism)
477
+ - Removed "Industry experts believe" (vague attribution)
478
+ - Removed "pivotal role" and "evolving landscape" (AI vocabulary)
479
+ - Added specific features and concrete feedback
480
+
481
+ ---
482
+
483
+ ## Reference
484
+
485
+ This skill is based on [Wikipedia:Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), maintained by WikiProject AI Cleanup. The patterns documented there come from observations of thousands of instances of AI-generated text on Wikipedia.
486
+
487
+ Key insight from Wikipedia: "LLMs use statistical algorithms to guess what should come next. The result tends toward the most statistically likely result that applies to the widest variety of cases."
488
+
489
+ > Additionally, use [AI Writing Detection](references/ai-writing-detection.md) to verify your work
@@ -0,0 +1,208 @@
1
+ # AI Writing Detection
2
+
3
+ Words, phrases, and punctuation patterns commonly associated with AI-generated text. Avoid these to ensure writing sounds natural and human.
4
+
5
+ Sources: Grammarly (2025), Microsoft 365 Life Hacks (2025), GPTHuman (2025), Walter Writes (2025), Textero (2025), Plagiarism Today (2025), Rolling Stone (2025), MDPI Blog (2025)
6
+
7
+ ---
8
+
9
+ ## Contents
10
+
11
+ - Em Dashes: The Primary AI Tell
12
+ - Overused Verbs
13
+ - Overused Adjectives
14
+ - Overused Transitions and Connectors
15
+ - Phrases That Signal AI Writing (Opening Phrases, Transitional Phrases, Concluding Phrases, Structural Patterns)
16
+ - Filler Words and Empty Intensifiers
17
+ - Academic-Specific AI Tells
18
+ - How to Self-Check
19
+
20
+ ## Em Dashes: The Primary AI Tell
21
+
22
+ **The em dash (—) has become one of the most reliable markers of AI-generated content.**
23
+
24
+ Em dashes are longer than hyphens (-) and are used for emphasis, interruptions, or parenthetical information. While they have legitimate uses in writing, AI models drastically overuse them.
25
+
26
+ ### Why Em Dashes Signal AI Writing
27
+
28
+ - AI models were trained on edited books, academic papers, and style guides where em dashes appear frequently
29
+ - AI uses em dashes as a shortcut for sentence variety instead of commas, colons, or parentheses
30
+ - Most human writers rarely use em dashes because they don't exist as a standard keyboard key
31
+ - The overuse is so consistent that it has become the unofficial signature of ChatGPT writing
32
+
33
+ ### What To Do Instead
34
+
35
+ | Instead of | Use |
36
+ | ---------------------------------------------------------- | ------------------------------------------------------------ |
37
+ | The results—which were surprising—showed... | The results, which were surprising, showed... |
38
+ | This approach—unlike traditional methods—allows... | This approach, unlike traditional methods, allows... |
39
+ | The study found—as expected—that... | The study found, as expected, that... |
40
+ | Communication skills—both written and verbal—are essential | Communication skills (both written and verbal) are essential |
41
+
42
+ ### Guidelines
43
+
44
+ - Use commas for most parenthetical information
45
+ - Use colons to introduce explanations or lists
46
+ - Use parentheses for supplementary information
47
+ - Reserve em dashes for rare, deliberate emphasis only
48
+ - If you find yourself using more than one em dash per page, revise
49
+
50
+ ---
51
+
52
+ ## Overused Verbs
53
+
54
+ | Avoid | Use Instead |
55
+ | ------------ | -------------------------------------- |
56
+ | delve (into) | explore, examine, investigate, look at |
57
+ | leverage | use, apply, draw on |
58
+ | optimise | improve, refine, enhance |
59
+ | utilise | use |
60
+ | facilitate | help, enable, support |
61
+ | foster | encourage, support, develop, nurture |
62
+ | bolster | strengthen, support, reinforce |
63
+ | underscore | emphasise, highlight, stress |
64
+ | unveil | reveal, show, introduce, present |
65
+ | navigate | manage, handle, work through |
66
+ | streamline | simplify, make more efficient |
67
+ | enhance | improve, strengthen |
68
+ | endeavour | try, attempt, effort |
69
+ | ascertain | find out, determine, establish |
70
+ | elucidate | explain, clarify, make clear |
71
+
72
+ ---
73
+
74
+ ## Overused Adjectives
75
+
76
+ | Avoid | Use Instead |
77
+ | -------------- | ----------------------------------- |
78
+ | robust | strong, reliable, thorough, solid |
79
+ | comprehensive | complete, thorough, full, detailed |
80
+ | pivotal | key, critical, central, important |
81
+ | crucial | important, key, essential, critical |
82
+ | vital | important, essential, necessary |
83
+ | transformative | significant, important, major |
84
+ | cutting-edge | new, advanced, recent, modern |
85
+ | groundbreaking | new, original, significant |
86
+ | innovative | new, original, creative |
87
+ | seamless | smooth, easy, effortless |
88
+ | intricate | complex, detailed, complicated |
89
+ | nuanced | subtle, complex, detailed |
90
+ | multifaceted | complex, varied, diverse |
91
+ | holistic | complete, whole, comprehensive |
92
+
93
+ ---
94
+
95
+ ## Overused Transitions and Connectors
96
+
97
+ | Avoid | Use Instead |
98
+ | ----------------------- | ------------------------------------- |
99
+ | furthermore | also, in addition, and |
100
+ | moreover | also, and, besides |
101
+ | notwithstanding | despite, even so, still |
102
+ | that being said | however, but, still |
103
+ | at its core | essentially, fundamentally, basically |
104
+ | to put it simply | in short, simply put |
105
+ | it is worth noting that | note that, importantly |
106
+ | in the realm of | in, within, regarding |
107
+ | in the landscape of | in, within |
108
+ | in today's [anything] | currently, now, today |
109
+
110
+ ---
111
+
112
+ ## Phrases That Signal AI Writing
113
+
114
+ ### Opening Phrases to Avoid
115
+
116
+ - "In today's fast-paced world..."
117
+ - "In today's digital age..."
118
+ - "In an era of..."
119
+ - "In the ever-evolving landscape of..."
120
+ - "In the realm of..."
121
+ - "It's important to note that..."
122
+ - "Let's delve into..."
123
+ - "Imagine a world where..."
124
+
125
+ ### Transitional Phrases to Avoid
126
+
127
+ - "That being said..."
128
+ - "With that in mind..."
129
+ - "It's worth mentioning that..."
130
+ - "At its core..."
131
+ - "To put it simply..."
132
+ - "In essence..."
133
+ - "This begs the question..."
134
+
135
+ ### Concluding Phrases to Avoid
136
+
137
+ - "In conclusion..."
138
+ - "To sum up..."
139
+ - "By [doing X], you can [achieve Y]..."
140
+ - "In the final analysis..."
141
+ - "All things considered..."
142
+ - "At the end of the day..."
143
+
144
+ ### Structural Patterns to Avoid
145
+
146
+ - "Whether you're a [X], [Y], or [Z]..." (listing three examples after "whether")
147
+ - "It's not just [X], it's also [Y]..."
148
+ - "Think of [X] as [elaborate metaphor]..."
149
+ - Starting sentences with "By" followed by a gerund: "By understanding X, you can Y..."
150
+
151
+ ---
152
+
153
+ ## Filler Words and Empty Intensifiers
154
+
155
+ These words often add nothing to meaning. Remove them or find specific alternatives:
156
+
157
+ - absolutely
158
+ - actually
159
+ - basically
160
+ - certainly
161
+ - clearly
162
+ - definitely
163
+ - essentially
164
+ - extremely
165
+ - fundamentally
166
+ - incredibly
167
+ - interestingly
168
+ - naturally
169
+ - obviously
170
+ - quite
171
+ - really
172
+ - significantly
173
+ - simply
174
+ - surely
175
+ - truly
176
+ - ultimately
177
+ - undoubtedly
178
+ - very
179
+
180
+ ---
181
+
182
+ ## Academic-Specific AI Tells
183
+
184
+ | Avoid | Use Instead |
185
+ | ---------------- | ----------------------------------- |
186
+ | shed light on | clarify, explain, reveal |
187
+ | pave the way for | enable, allow, make possible |
188
+ | a myriad of | many, numerous, various |
189
+ | a plethora of | many, numerous, several |
190
+ | paramount | very important, essential, critical |
191
+ | pertaining to | about, regarding, concerning |
192
+ | prior to | before |
193
+ | subsequent to | after |
194
+ | in light of | because of, given, considering |
195
+ | with respect to | about, regarding, for |
196
+ | in terms of | regarding, for, about |
197
+ | the fact that | that (or rewrite sentence) |
198
+
199
+ ---
200
+
201
+ ## How to Self-Check
202
+
203
+ 1. Read your text aloud. If phrases sound unnatural in speech, revise them
204
+ 2. Ask: "Would I say this in a conversation with a colleague?"
205
+ 3. Check for repetitive sentence structures
206
+ 4. Look for clusters of the words listed above
207
+ 5. Ensure varied sentence lengths (not all similar length)
208
+ 6. Verify each intensifier adds genuine meaning