Linkedin emoji detector skill

Flags AI-pattern emoji usage in LinkedIn drafts before they ship.

by sergebulaev·MIT license·★ 3,059 Stars on the repo·GitHub ↗

Use now

Files of Linkedin emoji detector

sergebulaev/main1 file
emoji-detector.md
Show the full text105 lines

LinkedIn Emoji Detector

Flags AI-pattern emoji usage in LinkedIn drafts before they ship. Built on MagicPost frequency data (Feb 2026) showing lightbulb, rocket, sparkles, and recycling emojis appear 2-3x more often in AI-generated LinkedIn posts than in human-authored ones.

Pattern data from MagicPost LinkedIn analysis (Feb 2026, 220 engagement viral post).

When to use

  • Before publishing any AI-drafted post or comment
  • As a pre-pass before linkedin-humanizer (catches a tell humanizer doesn't fix)
  • When the audit pass flags "feels AI" without a specific reason
  • When auditing a backlog of scheduled posts for AI signature emojis

Input

Any LinkedIn text (post, comment, reply, DM). Optional: mode flag (--strict, --lenient, --score).

Output

  • AI-emoji density score (0-100, higher = more AI-like)
  • List of flagged emojis with frequency vs. AI baseline
  • Suggested human-pattern alternatives (or removal recommendation)
  • Verdict: "clean", "borderline", "AI-likely"

The three modes

Mode 1 — SCAN (default)

Walks the text, extracts every emoji, looks up each one in the frequency table at ../references/emoji-patterns.md, and returns a per-emoji report.

For each detected AI-pattern emoji:

  • Show the emoji
  • Show its AI-correlation frequency (e.g. lightbulb = 2.57%)
  • Show count in the draft
  • Suggest a human-pattern alternative or recommend deletion
Mode 2 — SCORE (--score)

Returns a single number (0-100). No rewrite, no suggestions.

Formula:

  • Each AI-pattern emoji contributes frequency_pct * count * 10
  • Cap at 100
  • Bonus +20 if 3+ distinct AI-pattern emojis present (cluster signal)
  • Bonus +15 if a single emoji appears 2+ times (repetition tell)

Verdicts:

  • 0-20: clean
  • 21-50: borderline
  • 51-100: AI-likely
Mode 3 — SUGGEST

Returns a rewritten emoji set. Keeps the post's emoji count roughly the same but swaps AI-pattern emojis for less-correlated alternatives, or recommends removal where no clean substitute exists.

Strict vs. lenient

--strict

Flag any AI-pattern emoji at all. One lightbulb = AI-likely verdict. Use when content goes out under a personal brand that has never used emoji-heavy AI patterns.

--lenient

Flag only if 3+ AI-pattern emojis appear in the same post, OR if a single AI-pattern emoji repeats 2+ times. Use for accounts where occasional emoji is fine and only the cluster pattern matters.

Default mode is between the two: flag if score >20.

Non-negotiable rules

  • Never auto-rewrite without showing the diff first
  • Preserve emoji count parity if user wants emojis (don't strip and leave nothing)
  • Capitalize all names in suggested replacements (HubSpot, Claude, etc.)
  • If the post has zero emojis, skip the skill entirely and return "n/a"
  • Don't fabricate "human" emoji frequencies — the human-pattern alternatives in ../references/emoji-patterns.md are emojis with sub-1% AI correlation, not emojis proven "more human"

Example

Input: "Excited to share our new feature 🚀 Game-changing AI ✨ Unlock your potential 💡 Let's go 🔥"

Output (default mode): Score: 78 / 100 — AI-likely

Flagged:

  • 🚀 rocket (3.28% AI freq, 1 use) → consider 📦 or remove
  • ✨ sparkles (3.11% AI freq, 1 use) → remove, no clean swap
  • 💡 lightbulb (2.57% AI freq, 1 use) → 🪛 or remove
  • 🔥 fire (1.31% AI freq, 1 use) → keep or swap to 🌶️

Cluster bonus: +20 (4 distinct AI-pattern emojis)

Suggested rewrite: "Excited to share our new feature. AI that actually works. Try it. 🌶️"

Files

  • SKILL.md — this file
  • ../references/emoji-patterns.md — full frequency table + human-pattern alternatives
  • linkedin-humanizer — runs after emoji detector to scrub AI vocabulary and rhythm
  • post-audit.md (sibling) — broader pre-publish check (calls this internally)
  • linkedin-post-writer — generates drafts that already avoid AI-pattern emojis
1# LinkedIn Emoji Detector
2 
3Flags AI-pattern emoji usage in LinkedIn drafts before they ship. Built on MagicPost frequency data (Feb 2026) showing lightbulb, rocket, sparkles, and recycling emojis appear 2-3x more often in AI-generated LinkedIn posts than in human-authored ones.
4 
5Pattern data from MagicPost LinkedIn analysis (Feb 2026, 220 engagement viral post).
6 
7## When to use
8 
9- Before publishing any AI-drafted post or comment
10- As a pre-pass before `linkedin-humanizer` (catches a tell humanizer doesn't fix)
11- When the audit pass flags "feels AI" without a specific reason
12- When auditing a backlog of scheduled posts for AI signature emojis
13 
14## Input
15 
16Any LinkedIn text (post, comment, reply, DM). Optional: mode flag (`--strict`, `--lenient`, `--score`).
17 
18## Output
19 
20- AI-emoji density score (0-100, higher = more AI-like)
21- List of flagged emojis with frequency vs. AI baseline
22- Suggested human-pattern alternatives (or removal recommendation)
23- Verdict: "clean", "borderline", "AI-likely"
24 
25## The three modes
26 
27### Mode 1 — SCAN (default)
28 
29Walks the text, extracts every emoji, looks up each one in the frequency table at `../references/emoji-patterns.md`, and returns a per-emoji report.
30 
31For each detected AI-pattern emoji:
32- Show the emoji
33- Show its AI-correlation frequency (e.g. lightbulb = 2.57%)
34- Show count in the draft
35- Suggest a human-pattern alternative or recommend deletion
36 
37### Mode 2 — SCORE (`--score`)
38 
39Returns a single number (0-100). No rewrite, no suggestions.
40 
41Formula:
42- Each AI-pattern emoji contributes `frequency_pct * count * 10`
43- Cap at 100
44- Bonus +20 if 3+ distinct AI-pattern emojis present (cluster signal)
45- Bonus +15 if a single emoji appears 2+ times (repetition tell)
46 
47Verdicts:
48- 0-20: clean
49- 21-50: borderline
50- 51-100: AI-likely
51 
52### Mode 3 — SUGGEST
53 
54Returns a rewritten emoji set. Keeps the post's emoji count roughly the same but swaps AI-pattern emojis for less-correlated alternatives, or recommends removal where no clean substitute exists.
55 
56## Strict vs. lenient
57 
58### `--strict`
59 
60Flag any AI-pattern emoji at all. One lightbulb = AI-likely verdict. Use when content goes out under a personal brand that has never used emoji-heavy AI patterns.
61 
62### `--lenient`
63 
64Flag only if 3+ AI-pattern emojis appear in the same post, OR if a single AI-pattern emoji repeats 2+ times. Use for accounts where occasional emoji is fine and only the cluster pattern matters.
65 
66Default mode is between the two: flag if score >20.
67 
68## Non-negotiable rules
69 
70- Never auto-rewrite without showing the diff first
71- Preserve emoji count parity if user wants emojis (don't strip and leave nothing)
72- Capitalize all names in suggested replacements (HubSpot, Claude, etc.)
73- If the post has zero emojis, skip the skill entirely and return "n/a"
74- Don't fabricate "human" emoji frequencies — the human-pattern alternatives in `../references/emoji-patterns.md` are emojis with sub-1% AI correlation, not emojis proven "more human"
75 
76## Example
77 
78> **Input:**
79> "Excited to share our new feature 🚀 Game-changing AI ✨ Unlock your potential 💡 Let's go 🔥"
80>
81> **Output (default mode):**
82> Score: 78 / 100 — AI-likely
83>
84> Flagged:
85> - 🚀 rocket (3.28% AI freq, 1 use) → consider 📦 or remove
86> - ✨ sparkles (3.11% AI freq, 1 use) → remove, no clean swap
87> - 💡 lightbulb (2.57% AI freq, 1 use) → 🪛 or remove
88> - 🔥 fire (1.31% AI freq, 1 use) → keep or swap to 🌶️
89>
90> Cluster bonus: +20 (4 distinct AI-pattern emojis)
91>
92> **Suggested rewrite:**
93> "Excited to share our new feature. AI that actually works. Try it. 🌶️"
94 
95## Files
96 
97- `SKILL.md` — this file
98- `../references/emoji-patterns.md` — full frequency table + human-pattern alternatives
99 
100## Related skills
101 
102- `linkedin-humanizer` — runs after emoji detector to scrub AI vocabulary and rhythm
103- `post-audit.md` (sibling) — broader pre-publish check (calls this internally)
104- `linkedin-post-writer` — generates drafts that already avoid AI-pattern emojis
105 

Discussion