LinkedIn Post Audit
Run any post draft through the 2026 heuristic checklist. Catches AI tells, timing/format issues, length violations, and structural weaknesses before publishing.
When to use
- Before publishing a hand-written or AI-drafted post
- When
linkedin-post-writer finishes a draft (auto-invoked) - When a recent post didn't land and the user wants a post-mortem
Input
- A post draft (plain text)
- Optional: target audience, scheduled time, format (text / carousel / video / image)
Output
- Pass/Fail header
- Blockers (must fix before publishing): em dashes, AI vocab, external links in body
- Warnings (ship-risky): uniform sentence rhythm, missing numbers, generic close
- Score estimates: OriginalityAI AI-likelihood, approximate first-hour reach fit
- Suggested fixes: inline rewrites for each issue
- Timing recommendation: best window given audience
Checks
Blockers (auto-fail)
- Em dash / en dash / double dash present
- External link in body (not in first comment)
- Post exceeds 3,000 chars (LinkedIn hard limit)
- Opens with "In today's fast-paced world..." or similar
- Ends with "What do you think?" or "Thoughts?"
- Contains AI vocabulary blacklist words (see
references/ai-tells.md) - Frames LinkedIn as inferior in a LinkedIn post (algo penalty)
Warnings (flag with suggested fix)
- Hook doesn't fit in first 210 chars (mobile
…see more cutoff) - Length outside 900-1,300 sweet spot (or 1,500-1,900 for long-form with breaks)
- Uniform sentence length (all 15-22 words)
- No specific number per 100 words
- No named entity
- No first-person sensory detail
- Rule-of-three list without receipts
- More than 2 hashtags
- User's own product named more than once
- Missing reaction-prompting moment (vulnerability, stakes, question)
- Passive voice >10%
Info (neutral notes)
- Suggested posting time given audience
- Format recommendation (text / carousel / video) given topic
- Similar-hook detection: if this post's first 100 chars match a recent post
Steps
- Parse draft into sentences, paragraphs, first-210-char hook.
- Run each blocker check; collect failures.
- If any blockers, return FAIL with specific fix suggestions; optionally offer auto-rewrite.
- If no blockers, run warnings.
- Estimate OriginalityAI score (heuristic proxy: avg sentence length variance, unique 3-gram ratio, passive voice ratio).
- Return structured report.
Example
> Input: "In today's fast-paced world, businesses are fundamentally leveraging AI to unlock massive ROI — here's what I learned..."
> Output:
> - FAIL (3 blockers)
> - L1 "In today's fast-paced world" (filler opener)
> - L1 "fundamentally" (AI vocab)
> - L1 "leveraging" (AI vocab)
> - L1 em dash —
> - Suggested rewrite: "Businesses are using AI to cut costs 40%. Here's what I learned."
Files
SKILL.md — this filereferences/ai-tells.md — complete blacklist + regex patternsreferences/audit-checklist.md — full 20-point checklist with thresholds
Related skills
linkedin-humanizer — aggressive rewrite if audit failslinkedin-post-writer — regenerate draft using a proven formula