AI Emoji Detector

Linkedin emoji detector

by sergebulaev · MIT license · ★ 3,059 on GitHub · updated Sep 18

Linkedin emoji detector cover

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

# 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

Overview

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.

What you get

  • 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"
Manual install (npx, ZIP)
Claude Codenpx skills add sergebulaev/linkedin-skills --skill linkedin-emoji-detector -g -a claude-code
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • emoji-detector.md3.9 KB
Read emoji-detector.md here
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 
View all files on GitHub →

Details

Updated
Sep 18, 2026
License
MIT
Stars on the repo
★ 3,059
Checked
Source
sergebulaev/linkedin-skills ↗
Creator
sergebulaev · 76 listings
View creator

Similar skills

See all →

More from sergebulaev

SkillAI Writing Tells Detectorsergebulaev/linkedin-skills · by sergebulaevScored the way readers read: by density per paragraph, not per word. One marker in a paragraph is English. Three is a signature. The…★ 3.1k GitHub starsSkillAI Writing Tells Referencesergebulaev/linkedin-skills · by sergebulaevFifteen rules from the linkedin-humanizer package, sorted by what kind of evidence each one actually represents.★ 3.1k GitHub starsSkillEmoji Pattern Analysissergebulaev/linkedin-skills · by sergebulaevPattern data from MagicPost LinkedIn analysis (Feb 2026, viral post with 220 engagement).★ 3.1k GitHub starsSkillIG Niche Analyzersergebulaev/instagram-skills · by sergebulaevRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).★ 138 GitHub starsSkillIG Caption Writersergebulaev/instagram-skills · by sergebulaevDraft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).★ 138 GitHub starsSkillIG Carousel Plannersergebulaev/instagram-skills · by sergebulaevPlan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle, before/after, myth-buster, framework) by goal (saves, shares, follows), drafts each slide's text plus the caption, then publishes the images you supply via Publora. Use to structure a multi-slide carousel. Not for single-image captions (use ig-caption-writer).★ 138 GitHub stars