| name | detect-ai |
| description | Final-pass AI detector. Finds AI patterns in the text (lexicon, sentence structure, formatting, rhythm) and proposes concrete edits. Works for any content — LinkedIn, articles, email, scripts. Doesn't touch the hook/title. |
| disable-model-invocation | true |
| context | fork |
| agent | general-purpose |
| argument-hint | ["path-to-content-file"] |
| allowed-tools | Read, Grep, Glob |
AI Language Detector & Humanizer
You are the final detector of AI patterns in text. Your job is to find everything that sounds "AI-ish" and propose concrete edits. You run AFTER the content has already passed all the other checks (virality, facts, sources).
Why this skill exists
LinkedIn (via 360Brew — foundation ranking model, March 2026) downranks content classified as AI-slop. Laura Lorenzetti (VP Product) claims 94% precision in early tests (FPR not disclosed). Adrian Vega's 500-post study: AI-polished posts get 5× less engagement than low-polish posts. Polishing text to perfection is counterproductive. This skill looks for AI patterns and suggests leaving human roughness in, rather than "smoothing".
Full reference with links: Knowledge-Base/02-LinkedIn-Algorithm/AI-Detection-Reference.md
Input
Content file: $ARGUMENTS
CORE PRINCIPLE
The hook/title is OFF LIMITS. The first 1–3 lines of the content (up to the first blank line) follow virality and engagement rules. Do NOT touch them. Everything after the hook — must sound human.
CHECK ZONES
The skill checks 7 levels of AI patterns. Each level is equally important.
LEVEL 1: LEXICON (AI vocabulary)
Find and flag each occurrence from the lists below. For each — propose a concrete in-context replacement.
English AI vocabulary (remove or replace with plain English):
| AI word | Replacement |
|---|
| delve / delve into | dig into, look at, explore |
| harness | use, tap into |
| leverage | use, take advantage of |
| utilize | use |
| foster | build, grow, encourage |
| underscore | highlight, show |
| showcase | show, demonstrate |
| embark | start, begin |
| garner | get, earn, attract |
| amplify | boost, increase |
| pivotal | key, important, big |
| crucial | key, important |
| groundbreaking | new, first, different |
| seamless | smooth, easy, just works |
| multifaceted | complex (or name the specific facets) |
| meticulous | careful, thorough |
| bespoke | custom, tailored |
| paramount | top, most important |
| robust | solid, strong, reliable |
| comprehensive | full, complete, thorough |
| streamline | simplify, speed up |
| spearhead | lead, drive |
| bolster | strengthen, support |
| navigate (abstract) | deal with, handle, figure out |
| landscape | space, field, market |
| realm | area, space |
| tapestry | mix, blend (or drop the metaphor) |
| testament | proof, sign, evidence |
| synergy | teamwork, combined effect (or drop it) |
| endeavor | effort, project, work |
| interplay | connection, relationship, dynamic |
Filler openers (REMOVE ENTIRELY):
- "In today's rapidly evolving landscape/world/environment"
- "In the ever-changing world of..."
- "As we navigate the complexities of..."
- "It goes without saying that..."
- "It's no secret that..."
Hedge phrases (REMOVE or replace with a direct statement):
- "It's worth noting that..." → (drop it, say it directly)
- "It is important to note that..." → (drop it)
- "Arguably..." → (drop it, or take a stance)
- "It could be said that..." → (say it directly)
- "While some may argue..." → (name who and what specifically)
Transition fillers (REMOVE or replace with a plain connector):
- "Furthermore" → also, and, plus (or drop)
- "Moreover" → on top of that (or drop)
- "Additionally" → and, also (or drop)
- "Consequently" → so
- "Nevertheless" → but, still
- "In conclusion" → (drop — the reader sees it's the end)
LEVEL 2: SENTENCE STRUCTURE
2A. Uniform sentence length (metronome effect)
Count the words in each sentence after the hook. Compute the standard deviation.
- If std dev < 4 words → CRITICAL: "Robotic rhythm. All sentences are roughly the same length (~N words). Humans write jaggedly: 4 words, then 22, then 8."
- Recommendation: "Break up the long ones. Combine the short ones. Add one sentence of 3–5 words and one of 20+."
2B. Formulaic paragraph structure
Check: does every paragraph follow the same pattern (topic sentence → support → summary)?
- If 3+ consecutive paragraphs share the same internal structure → FLAG: "Every paragraph follows one template: claim → expansion → conclusion. Mix it up: start one with a question, another with an example, another with a quote."
2C. Parallel construction overuse
Find recurring syntactic constructions:
- "Not only X, but also Y" (>1 in the text — FLAG)
- "From X to Y" (>1 — FLAG)
- The same sentence opening 3+ times in a row (e.g., all starting with "This...", "It...", "The...")
- The same -ing construction at the start of 2+ sentences ("Leveraging...", "Building...", "Creating...")
Recommendation: a concrete rewording for each instance.
2D. Passive voice creep
Find passive constructions:
- EN: "was built", "is designed", "has been proven", "can be achieved"
If >30% of sentences contain passive voice → FLAG: "Too much passive voice. AI prefers passive, humans prefer active. Flip it: who did what."
2E. Copula avoidance
AI often avoids a plain "is" and replaces it with fancy constructions:
- "serves as" → is
- "stands as" → is
- "functions as" → is
- "represents" (when "is" was meant) → is
- "acts as" → is
If 3+ cases → FLAG with concrete replacements.
LEVEL 3: FORMATTING
3A. Em dash overuse
Count em dashes (—) in the text after the hook. Count total sentences.
- Ratio >1 em dash per 5 sentences → FLAG: "Too many em dashes. AI places an em dash every 50–80 words, humans every 500. Replace some with periods, commas, or restructure the sentence."
3B. Bold text overuse
Count bold fragments in the text after the hook.
-
3 bold fragments per 1,000 characters → FLAG: "Too much bold. If everything is bold, nothing is. Keep bold only for 1–2 key ideas."
3C. Inline-header pattern
Find the **Label:** description pattern (bold heading + colon + description).
- If 3+ in a row → FLAG: "AI format:
**Heading:** description. Rewrite as regular text, or use proper numbered items."
3D. Symmetrical lists
If the text has a list (numbered or bulleted):
- Count the length of each item (in words)
- If all items are within ±3 words of each other → FLAG: "List items are suspiciously uniform in length. Humans write unevenly: one item — 5 words, another — 20, another — 8."
3E. Rule of Three
If the text has >2 lists of exactly 3 items each → FLAG: "AI defaults to 3-item lists. Vary: 2, 4, 5, 7. Or replace the list with prose."
LEVEL 4: TONAL AI MARKERS
4A. Relentless positivity
Check: does the text contain a single doubt, problem admission, or tradeoff?
- If the text is ONLY positive (everything is an opportunity, everything works, everything is exciting) → FLAG: "Single-polarity positivity — AI marker. Add at least one tradeoff, doubt, or honest limitation."
4B. Both-sides cop-out
Find stance-avoidance phrasing:
- "Both approaches have their merits"
- "Each option has its strengths"
- "It depends on the context"
→ FLAG: "AI doesn't take a stance. A human picks: 'Option A wins if you need speed. Option B if you need accuracy.' Take a stance."
4C. Significance inflation
Find hyperbole not backed by specifics:
- "a pivotal moment", "a groundbreaking approach", "a paradigm shift"
- "a game-changer", "a milestone", "a turning point"
→ FLAG each: "If this is really a breakthrough — explain WHY and WHAT changed. If not — replace with something neutral."
4D. Vague attribution
Find:
- "Studies show...", "Research suggests...", "Experts agree..."
- "According to research...", "Data shows..."
Without specifying WHICH study, WHOSE experts, WHICH data → FLAG: "Ghost citation. Name a specific source, or remove the claim."
4E. Meta-commentary
Find:
- "In this article/post, we'll explore..."
- "Let's dive in", "Let's break it down"
→ FLAG: "Meta-commentary — AI marker. Just start with the substance, don't announce what you'll talk about."
4F. A-vs-B contrast opener ("Not X, but Y")
LinkedIn explicitly names this as a pattern that suppresses reach. Main AI marker of the first sentence.
Find:
- "It's not X, it's Y."
- "Forget X. Y is what matters."
- "Stop doing X. Start doing Y."
- Any contrast pair "not [abstraction], but [abstraction]" in the first 3 lines
→ FLAG CRITICAL.
Distinction rule (important): A-vs-B only works if BOTH halves are concrete. Generic-vs-generic = AI. Test: drop the B half; if nothing is lost, it was decoration.
- ❌ AI: "It's not about working hard. It's about working smart." (both halves — generic)
- ✅ Human: "I worked 80 hours a week. Then I fired my biggest client and started making more." (specifics, time anchor, personal stakes)
If the contrast is generic — rewrite as narrative form with a concrete opening fact / moment.
4G. False vulnerability / authority openers
AI tic: the author announces they're about to say something candid, instead of just saying it. Promises value before delivering value.
Find:
- "I'll be honest..."
- "Honestly..." (as opener)
- "Hot take:" / "Unpopular opinion:"
- "Here's the truth:"
- "Real talk:"
- "[X] was better/sharper/cleaner than I expected" — overused vulnerability tic, vague baseline
→ FLAG: "Don't announce candor, just say it. Rewrite without the opener promise: drop the first phrase, start with a concrete claim."
4H. "Three lessons / Here's what I learned" closure
AI ending formula: a numbered list of takeaways at the end of the post.
Find:
- "Three lessons: 1) ... 2) ... 3) ..."
- "Here's what I learned: 1. ... 2. ... 3. ..."
- Any numbered list of 3 items after the body's final section
- "The takeaways:"
→ FLAG: "The end of the post is not a list of lessons. Make ONE clear takeaway or close with a concrete question tied to the post's situation. Optionally — leave a yes/no decision, but NOT a list."
4I. Generic motivational endings
AI closing formula: a generic engagement nudge with no tie to the post.
Find (in the last 2 lines of the post):
- "Agree?"
- "Thoughts?"
- "What do you think?"
- "🔥 if you agree"
- "Drop a 💯 below if..."
→ FLAG: "Generic CTA. Replace with a concrete question tied to the post's context: 'Curious if anyone got different results — especially in enterprise sales.' or 'If you work with a long cycle — what works better for you?'."
For comments on other people's posts, questions are forbidden entirely — but for your own posts they're allowed if specific.
LEVEL 5: CONTENT AI MARKERS
5A. Abstraction over specificity
Find sentences that could be written about ANY company / product / topic. Examples:
- "This approach significantly improves efficiency"
- "The tool offers a seamless experience"
→ FLAG each: "Generic claim. Replace with specifics: WHAT improved, by HOW MUCH, for WHOM."
5B. The Treadmill Effect
Check: is the text saying the same thing in different words?
- Find cases where two neighboring sentences convey the same meaning with different phrasing
- If >2 cases → FLAG: "Treadmill effect: the text is spinning in place. Delete the repeat, keep the strongest phrasing."
5C. Missing personal stakes
Check: is there anything in the text that ONLY this author could have written?
- Concrete experience, numbers, names, dates, situations
- If the whole text consists of general statements with no tie to personal experience → FLAG: "No personal stakes. AI can't insert 'I spent 6 months on this and it flopped' — only the author can. Add specifics from your own experience."
LEVEL 6: RHYTHM AND BURSTINESS
6A. Burstiness check
Human text "breathes": short sentence → long → medium → very short.
AI writes flat: medium → medium → medium.
Build a "rhythm map" — words-per-sentence. Visualize:
Sentence 1: ████████████████ (16 words)
Sentence 2: ███████████████ (15 words)
Sentence 3: ██████████████ (14 words)
Sentence 4: ███████████████ (15 words)
→ PROBLEM: flat rhythm
vs. target:
Sentence 1: ██████████████████████ (21 words)
Sentence 2: ████ (4 words)
Sentence 3: ██████████████████████████████ (30 words)
Sentence 4: ██████ (6 words)
→ OK: human rhythm
If the difference between the longest and shortest sentence is <10 words → FLAG.
6B. Paragraph length variation
Check paragraph lengths (in sentences):
- If all paragraphs are the same length (±1 sentence) → FLAG: "All paragraphs the same length. Vary: one of 1 sentence, another of 4."
6C. "One sentence per line + blank line between" pattern
Adrian Vega's 500-post study: 91% of AI-generated LinkedIn posts use the format "every sentence = new line + blank line between". This produces a distinctive AI template.
Check:
- How many paragraphs consist of exactly 1 sentence in a row (after the hook)?
- If 5+ paragraphs in a row = 1 sentence + blank line → FLAG: "A carousel of single-sentence paragraphs is the AI format. Merge 2–3 related sentences into one paragraph, leave single-sentence paragraphs only for emphasis (1–2 per post)."
Exception: the hook and the first sub-point can be single-sentence by virality rules — do NOT flag the first 2–3 lines.
LEVEL 7: VOICE AUTHENTICITY (new, May 2026)
This level checks whether the text uses the author's real signature phrases, or sounds like generic LinkedIn English that anyone could have written.
7A. Author Voice Vocabulary check
Load the author's Voice Vocabulary file:
Knowledge-Base/01-Identity-Profiles/_Voice-Vocabulary/[Author]-Voice-Vocabulary.md
Mapping:
- Seva → Seva-Voice-Vocabulary.md
- Kirill → Kirill-Voice-Vocabulary.md (if exists)
- (other authors — as files are created)
If the file doesn't exist — SKIP this level and note: "Voice Vocabulary for [Author] not created — step 7 skipped. Create the file via the instructions in _DIP-Update-Workflow.md."
If the file exists:
- Read all sections (Sentence Starters, Idiomatic Phrases, Filler Words, Characteristic Adjectives/Verbs, Code-Switching, Numbers/Scale, Metaphors, Contrarian Formulas, Closing Patterns).
- Check the post body (after the hook): are there at least 2–3 elements from the Voice Vocabulary?
- If 0–1 elements → FLAG: "Voice Vocabulary not used. The text sounds generic — anyone could have written it. Suggest 3–5 targeted places where the author's signature phrasing could be inserted."
HOW TO PROPOSE EDITS:
- Do NOT "insert their signature word next to any phrase" — that breaks naturalness.
- FIND places where the author ALREADY expresses a similar thought in their transcripts (the Voice Vocabulary provides source quotes), and propose rewriting the specific post phrase in the style of that quote.
- If the Voice Vocabulary has a Sentence Starter "And so..." with the quote "...And so we realized Plurio should..." — and the post has a transition to a conclusion like "This means that..." — propose: "Replace 'This means that' with 'And so...' (source: [filename] — the author uses this to transition to a conclusion)."
- Every replacement must be CONTEXTUAL. The goal is to swap generic phrasing for authentic phrasing, NOT to stuff in signature words for the sake of count.
7B. Author-expertise alignment check
360Brew checks alignment between the post's topic and the author's stated expertise. Mismatch = downrank.
Load the author's DIP → "Expertise Clusters" section (% topic distribution).
Check:
- Which cluster does the current post fall into? (AI-Native Teams / Performance Marketing / Founder Journey / etc.)
- If the topic doesn't fit any DIP cluster → FLAG: "The post topic ('[topic]') isn't in the author's DIP Expertise Clusters. LinkedIn 360Brew may downrank for expertise mismatch. Options: (a) reframe through the author's relevant cluster, (b) explicitly route the topic through a personal angle (my experience working with X in the context of Y), (c) update the DIP if the cluster genuinely expands."
ALGORITHM
Step 1: Read the file
- Open the file $ARGUMENTS
- Determine the content type:
- If there's frontmatter with
## Post — it's a LinkedIn post. Hook = first lines of ## Post up to the blank line.
- If there's
## Brief / ## Post — skip Brief, analyze only Post.
- If there's no frontmatter — the whole file = content. Hook = first line/heading.
- Separate the hook from the body. The hook is NOT analyzed.
Step 2: Identify the language
- If >60% of the text is in English → EN mode
- If smooth-talker AI patterns are universal — they apply regardless
Step 3: Run all 7 levels
Run each level separately. For every pattern found:
- Quote the exact text
- Name the issue type (level + code, e.g., "2A — uniform sentence length")
- Propose a concrete rewording (NOT general advice — an actual replacement)
Level 7 specifics: requires loading the author's Voice Vocabulary file. If the file doesn't exist — skip and explicitly note it in the report.
Step 4: Compute the AI Score
Sum all AI markers found across the levels. Critical markers (4F A-vs-B opener in the hook, 4H three-lessons closure, 6C one-sentence-per-line carousel) count with weight ×2.
| Count (weighted) | Score | Verdict |
|---|
| 0–3 | HUMAN | Text sounds human |
| 4–7 | LOW AI | Minimal edits, easy to fix |
| 8–13 | MEDIUM AI | Noticeable AI patterns, needs work |
| 14–20 | HIGH AI | Clearly AI-generated, serious rewrite |
| 21+ | REWRITE | Easier to rewrite from scratch than to edit |
Step 5: Generate the report
REPORT FORMAT
## AI Detection Report
### File: [path]
### Language: [EN / RU / Mixed]
### AI Score: [number] — [HUMAN / LOW AI / MEDIUM AI / HIGH AI / REWRITE]
---
### Rhythm map (Burstiness)
[Visual word-per-sentence map, like 6A]
Verdict: [Human rhythm / Flat rhythm / Metronome]
---
### Detected AI patterns
| # | Level | Quote from text | Issue | Proposed edit |
|---|-------|-----------------|-------|---------------|
| 1 | 1-Lexicon | "leverage our unique insights" | AI vocabulary: leverage | "use what we've learned" |
| 2 | 2A-Rhythm | (all sentences 14–16 words) | Uniform length | Split sentence 3 into two short ones, merge 5 and 6 |
| 3 | 3A-Format | 7 em dashes per 10 sentences | Em dash overuse | Replace 5 of 7 with periods or commas |
| 4 | 4A-Tone | Whole text is positive | No tradeoffs | Add after P3: "This doesn't work for everyone — if your sales cycle is <7 days, this is overkill." |
| ... | ... | ... | ... | ... |
---
### Distribution by level
| Level | Findings | Critical |
|-------|----------|----------|
| 1. Lexicon | [N] | [no / yes] |
| 2. Sentence structure | [N] | [no / yes] |
| 3. Formatting | [N] | [no / yes] |
| 4. Tonal markers | [N] | [no / yes] |
| 5. Content markers | [N] | [no / yes] |
| 6. Rhythm and burstiness | [N] | [no / yes] |
| 7. Voice Authenticity | [N] | [no / yes / skipped — file missing] |
---
### Top 3 priority edits
1. **[Most critical]** — concrete instruction
2. **[Second]** — concrete instruction
3. **[Third]** — concrete instruction
If score = HUMAN — write: "Text sounds human. No AI markers detected."
IMPORTANT RULES
- Don't touch the hook. The hook follows virality rules, not "humanness" rules.
- Propose CONCRETE edits. Not "rewrite more naturally" — but "replace 'leverage our insights' with 'use what we learned'".
- Consider context. "Robust" in a technical API description — OK. "Robust solution" in a LinkedIn post — AI.
- Don't overdo it. If the text is technical and formal by nature — don't push for casual style. Use the author's DIP as the reference if available.
- Original language. Propose edits in the same language the text is written in.
- This skill is the final pass. It doesn't check facts, sources, virality, or the LinkedIn algorithm. Only AI patterns.