LinkedIn Post Checklist

Linkedin post audit checklist

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

Linkedin post audit checklist cover

Run every draft through this before publishing. Any FAIL = fix before posting.

# LinkedIn Post Audit Checklist

Run every draft through this before publishing. **Any FAIL = fix before posting.**

## Hook (first 3 lines)

- [ ] Strongest insight is in line 1 (inverted pyramid structure)
- [ ] Reader would click "see more" — no throat-clearing, no "I want to share..."
- [ ] First 265 chars earn the mobile expand click (desktop gets 210 chars)
- [ ] No rhetorical question opener ("Have you ever...?")
- [ ] No "In today's fast-paced world"

## Length & format

- [ ] 300-400 words (~900-1,300 chars), 20+ short sentences
- [ ] Line breaks between every 1-2 sentences
- [ ] At least one **bold** or listed element for scanners
- [ ] If long-form (1,500-1,900): double line-breaks between ideas

Overview

Run every draft through this before publishing. Any FAIL = fix before posting.

Manual install (npx, ZIP)
Claude Codenpx skills add sergebulaev/linkedin-skills --skill linkedin-post-audit-checklist -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

  • audit-checklist.md4.1 KB
Read audit-checklist.md here
sergebulaev/main1 file
audit-checklist.md
Show the full text89 lines

LinkedIn Post Audit Checklist

Run every draft through this before publishing. Any FAIL = fix before posting.

Hook (first 3 lines)

  • Strongest insight is in line 1 (inverted pyramid structure)
  • Reader would click "see more" — no throat-clearing, no "I want to share..."
  • First 265 chars earn the mobile expand click (desktop gets 210 chars)
  • No rhetorical question opener ("Have you ever...?")
  • No "In today's fast-paced world"

Length & format

  • 300-400 words (~900-1,300 chars), 20+ short sentences
  • Line breaks between every 1-2 sentences
  • At least one bold or listed element for scanners
  • If long-form (1,500-1,900): double line-breaks between ideas

Substance

  • Contains a real, specific moment (date, number, name, failure)
  • Save-worthy element present: framework, template, checklist, or data point
  • Not a humble-brag; if celebrating, paired with what broke
  • At least 1 odd-precision number WITH a named referent (who / what / when / what it cost). A bare number does not count
  • At least 1 named entity (real person, company, date, city)
  • At least 1 first-person sensory detail

Close

  • Ends with a genuine open question (not "Comment YES")
  • No manufactured CTA bait ("tag someone who…", "drop a 🙌")
  • Specific question beats generic "Thoughts?" by 20-40%
  • Not "What do you think?" (dead prompt)

Algorithm safety

  • Zero external links in post body (move to first comment if needed)
  • Not framing LinkedIn as inferior to other platforms
  • Publishing from personal profile (not company page — 6-8x reach difference)
  • Publish time matches author's usual slot (audience training)
  • Not the 2nd post today (360Brew cannibalizes 2+/day)

Post-publish plan (first 90 min)

  • Author will engage 15-30 min before posting (warmup window)
  • Author replies to every comment within the first hour
  • No structural edits in first 60 min (typos only)
  • Author engages with 5+ other posts in the first 30 min after publishing
  • Seeding: 3-5 self-comments within 15-30 min to create thread depth

AI-tell scrub (see audit-ai-tells.md)

  • Passed audit-ai-tells.md auto-fail check (forensic leakage, reveal bridges, negative parallelism)
  • Em dash density at or under ~1 per 100 words (1-2 per post). Zero is not required; zero everywhere is its own tell
  • No paragraph with 3+ vocabulary / grammar markers (one marker per paragraph is fine)
  • No staccato stacks ("Short. Punchy. Done.", "No X. No Y. Just Z."), no one-word paragraphs, at most 2 standalone fragments in the post
  • At most one natural rule-of-three; no stacked or perfectly parallel triads
  • No sincerity announcements as opener or pivot ("let me be honest", "I'll be real", "honestly?", "to be direct")
  • Passed humanizer scrub-rules.md (V3 density rules). Detector scores are not a check: they are noise at this length

Voice match

  • Capitalizes all personal names, company names, product names
  • Matches user's established voice (lowercase sentence starts OK, .. soft pauses OK, one em dash OK)
  • One specific, dated, uncomfortable fact stated flat, with no framing sentence around it
  • Author's reactions and opinions survived the scrub (a uniformly flat tone is a humanizer fingerprint)
  • Not name-dropping own product more than once

Edit-safety window

  • No significant edits planned for first 3 hours (resets distribution)
  • Structural restructuring >20% of text = reset the algorithm, don't do it
  • Typo fixes safe after the 90-min momentum window

Scoring

  • Pass: all items checked, no FAIL
  • Warning: 1-3 unchecked — ship with caveats
  • Fail: 4+ unchecked OR any Algorithm Safety item fails — rewrite before posting

When to override the checklist

  • Time-critical newsjack: algorithm safety still mandatory, voice match can be looser
  • First-ever post in a pillar: warmup / seeding steps can be skipped once, not twice
  • Founder confession post: "not humble-brag" rule can stretch if the vulnerability is central to the thesis
1# LinkedIn Post Audit Checklist
2 
3Run every draft through this before publishing. **Any FAIL = fix before posting.**
4 
5## Hook (first 3 lines)
6 
7- [ ] Strongest insight is in line 1 (inverted pyramid structure)
8- [ ] Reader would click "see more" — no throat-clearing, no "I want to share..."
9- [ ] First 265 chars earn the mobile expand click (desktop gets 210 chars)
10- [ ] No rhetorical question opener ("Have you ever...?")
11- [ ] No "In today's fast-paced world"
12 
13## Length & format
14 
15- [ ] 300-400 words (~900-1,300 chars), 20+ short sentences
16- [ ] Line breaks between every 1-2 sentences
17- [ ] At least one **bold** or listed element for scanners
18- [ ] If long-form (1,500-1,900): double line-breaks between ideas
19 
20## Substance
21 
22- [ ] Contains a real, specific moment (date, number, name, failure)
23- [ ] Save-worthy element present: framework, template, checklist, or data point
24- [ ] Not a humble-brag; if celebrating, paired with what broke
25- [ ] At least 1 odd-precision number WITH a named referent (who / what / when / what it cost). A bare number does not count
26- [ ] At least 1 named entity (real person, company, date, city)
27- [ ] At least 1 first-person sensory detail
28 
29## Close
30 
31- [ ] Ends with a genuine open question (not "Comment YES")
32- [ ] No manufactured CTA bait ("tag someone who…", "drop a 🙌")
33- [ ] Specific question beats generic "Thoughts?" by 20-40%
34- [ ] Not "What do you think?" (dead prompt)
35 
36## Algorithm safety
37 
38- [ ] Zero external links in post body (move to first comment if needed)
39- [ ] Not framing LinkedIn as inferior to other platforms
40- [ ] Publishing from personal profile (not company page — 6-8x reach difference)
41- [ ] Publish time matches author's usual slot (audience training)
42- [ ] Not the 2nd post today (360Brew cannibalizes 2+/day)
43 
44## Post-publish plan (first 90 min)
45 
46- [ ] Author will engage 15-30 min **before** posting (warmup window)
47- [ ] Author replies to every comment within the first hour
48- [ ] No structural edits in first 60 min (typos only)
49- [ ] Author engages with 5+ other posts in the first 30 min after publishing
50- [ ] Seeding: 3-5 self-comments within 15-30 min to create thread depth
51 
52## AI-tell scrub (see audit-ai-tells.md)
53 
54- [ ] Passed audit-ai-tells.md auto-fail check (forensic leakage, reveal bridges, negative parallelism)
55- [ ] Em dash density at or under ~1 per 100 words (1-2 per post). Zero is not required; zero everywhere is its own tell
56- [ ] No paragraph with 3+ vocabulary / grammar markers (one marker per paragraph is fine)
57- [ ] No staccato stacks ("Short. Punchy. Done.", "No X. No Y. Just Z."), no one-word paragraphs, at most 2 standalone fragments in the post
58- [ ] At most one natural rule-of-three; no stacked or perfectly parallel triads
59- [ ] No sincerity announcements as opener or pivot ("let me be honest", "I'll be real", "honestly?", "to be direct")
60- [ ] Passed humanizer scrub-rules.md (V3 density rules). Detector scores are not a check: they are noise at this length
61 
62## Voice match
63 
64- [ ] Capitalizes all personal names, company names, product names
65- [ ] Matches user's established voice (lowercase sentence starts OK, `..` soft pauses OK, one em dash OK)
66- [ ] One specific, dated, uncomfortable fact stated flat, with no framing sentence around it
67- [ ] Author's reactions and opinions survived the scrub (a uniformly flat tone is a humanizer fingerprint)
68- [ ] Not name-dropping own product more than once
69 
70## Edit-safety window
71 
72- [ ] No significant edits planned for first 3 hours (resets distribution)
73- [ ] Structural restructuring >20% of text = reset the algorithm, don't do it
74- [ ] Typo fixes safe after the 90-min momentum window
75 
76---
77 
78## Scoring
79 
80- **Pass:** all items checked, no FAIL
81- **Warning:** 1-3 unchecked — ship with caveats
82- **Fail:** 4+ unchecked OR any Algorithm Safety item fails — rewrite before posting
83 
84## When to override the checklist
85 
86- **Time-critical newsjack:** algorithm safety still mandatory, voice match can be looser
87- **First-ever post in a pillar:** warmup / seeding steps can be skipped once, not twice
88- **Founder confession post:** "not humble-brag" rule can stretch if the vulnerability is central to the thesis
89 
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 →
SkillLast 30 Days Researchmvanhorn/last30days-skill · by mvanhornResearch what people actually say about any topic in the last 30 days. Pulls posts and engagement from Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub, and the web. Includes a doctor health check to diagnose broken or missing sources.★ 63.5k GitHub starsSkillSocial Platform Scraperdanielmiessler/LifeOS · by danielmiesslerScrapes social platforms, business data, and e-commerce via Apify actors — Instagram, LinkedIn, TikTok, YouTube, Facebook, Google Maps, Amazon, and web crawls — filtering in code. USE WHEN scrape Instagram, scrape LinkedIn, scrape TikTok, scrape YouTube, scrape Facebook, Google Maps leads, Amazon reviews, business intelligence, multi-platform social listening, competitive analysis, lead generation, social monitoring, Apify actors, web crawl, extract contacts. NOT FOR X/Twitter account operations like posting, threads, or bookmarks (those need a dedicated X API client), 4-tier progressive scraping with proxy escalation (use BrightData), or real-Chrome bot bypass and computer use (use Interceptor).★ 19.3k GitHub starsSkillWeChat Article Publishertsingyuai/growth-lab · by tsingyuai微信公众号长文增长闭环 —— 从读者问题与复刻锚选题、写出可验证的公众号长文、预览与合规检查、同步微信草稿、三重确认下受控发布,到回收阅读与转化数据并复盘。用户要求写公众号、把内容改成公众号、同步或发布微信草稿、查看公众号数据或复盘时使用。★ 2k GitHub starsSkillTwitter Content SearchReScienceLab/opc-skills · by ReScienceLabSearch and retrieve content from Twitter/X. Get user info, tweets, replies, followers, communities, spaces, and trends via twitterapi.io. Use when user mentions Twitter, X, or tweets.★ 1.8k GitHub starsSkillYouTube Script Writercwinvestments/memstack · by cwinvestmentsUse this skill when the user says 'YouTube script', 'video script', 'write script for YouTube', 'YouTube video outline', or is creating scripted content for a YouTube video with hooks, chapters, and CTAs. Do NOT use for TikTok/Reels short-form scripts or webinar presentations.★ 423 GitHub starsSkillInternet Research RouterOotto-AI/claude-content-skills · by Ootto-AIMUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g. 全网调研 X / 帮我调研一下 X / 查一下 X / 搜搜 X / 看看大家怎么评价 X / X 上有什么讨论 / research this topic。 Also MUST USE when user mentions any platform or shares any URL/链接: 小红书/xiaohongshu/xhs, Twitter/推特/X, B站/bilibili, Reddit, V2EX, LinkedIn/领英/招聘/求职/jobs, YouTube, GitHub code search, 小宇宙播客, 雪球/股票行情, RSS feeds, or any web URL. 13 platforms, multi-backend routing (OpenCLI / per-platform CLIs / APIs). Zero config for 6 channels. Run `agent-reach doctor --json` to see which backend serves each platform right now. NOT for: 写报告/数据分析/翻译等内容加工(本 skill 只负责从互联网获取内容); 发帖/评论/点赞等写操作;已有专门 skill 的平台(先用专门 skill)。 【路由方式】SKILL.md 包含路由表和常用命令,复杂场景需按需阅读对应分类的 references/*.md。 分类:search / social (小红书/推特/B站/V2EX/Reddit) / career(LinkedIn) / dev(github) / web(网页/文章/RSS) / video(YouTube/B站/播客)。★ 139 GitHub stars

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