Install the belt CLI skill: npx skills add belt-sh/cli
LinkedIn Content
Write high-engagement LinkedIn posts via inference.sh CLI.
Quick Start
Requires inference.sh CLI (belt). Install instructions
belt login
# Research trending LinkedIn content patterns
belt app run tavily/search-assistant --input '{
"query": "LinkedIn viral post examples 2024 high engagement patterns"
}'
# Post to X (cross-posting reference)
belt app run x/post-create --input '{
"text": "Your cross-posted version here"
}'
Post Anatomy
┌─────────────────────────────────────┐
│ HOOK (first 1-2 lines) │ ← Visible before "...see more"
│ │
│ ...see more ─────────────────────── │ ← The click gate
│ │
│ BODY (story/value) │
│ - Formatted with line breaks │
│ - Short paragraphs (1-2 sentences) │
│ - Lists or numbered points │
│ │
│ CTA (last 1-2 lines) │ ← Ask for engagement
│ │
│ #hashtags (3-5) │
└─────────────────────────────────────┘
Character Limits
| Element |
Limit |
| Post text |
3,000 characters |
| Visible before "see more" |
210 characters (2 lines on mobile) |
| Hashtags |
3-5 recommended |
| Comment |
1,250 characters |
| Article title |
100 characters |
| Article body |
125,000 characters |
The first 210 characters are everything. If the hook fails, nobody clicks "see more."
Hook Formulas
What Works
| Formula |
Example |
| Contrarian opinion |
"Unpopular opinion: code reviews are a waste of time." |
| Personal story opening |
"I got fired on a Tuesday. Best thing that ever happened." |
| Surprising stat |
"92% of startups fail. But not for the reason you think." |
| List promise |
"I've hired 200+ engineers. Here are 5 red flags I look for." |
| Bold statement |
"Your resume doesn't matter. Here's what does." |
| Before/after |
"3 years ago I couldn't get a single interview. Yesterday I turned down a FAANG offer." |
| Pattern interrupt |
"Stop. Before you send that cold email, read this." |
What Fails
❌ "Excited to announce that we are pleased to share..." (corporate speak)
❌ "In today's rapidly evolving landscape..." (cliché, says nothing)
❌ "I'd like to take a moment to..." (slow, no hook)
❌ "Just published a new blog post!" (no value proposition)
❌ Starting with a hashtag or emoji
Formatting Rules
Line Breaks Are Your Best Friend
❌ Dense paragraph:
"I learned something important about leadership last week. My team was struggling with a deadline and instead of pushing harder, I decided to remove scope. The result was incredible — we shipped faster and the quality was better. Sometimes less really is more."
✅ Formatted for LinkedIn:
"I learned something about leadership last week.
My team was struggling with a deadline.
Instead of pushing harder, I removed scope.
The result?
We shipped faster.
And the quality was BETTER.
Sometimes less really is more."
Formatting Guidelines
| Rule |
Why |
| One sentence per line |
Easier to scan on mobile |
| Blank line between paragraphs |
Visual breathing room |
| Short paragraphs (1-2 sentences) |
Mobile readability |
| Use line breaks for dramatic effect |
Creates pacing and suspense |
| Bold key phrases sparingly |
Draws eye to important points |
| Numbered lists for tips |
Scannable, shareable |
| Avoid walls of text |
Nobody reads them |
Post Types (Ranked by Engagement)
| Post Type |
Engagement |
Best For |
| Personal story + lesson |
Very High |
Building connection, authenticity |
| Contrarian take |
High |
Starting conversations, visibility |
| Carousel (document post) |
High |
Educational content, tips |
| List/tips (numbered) |
High |
Actionable value, saves |
| Poll |
Medium-High |
Easy engagement, data gathering |
| Photo + story |
Medium |
Humanizing, events |
| Video (native) |
Medium |
Demonstrations, personality |
| Link post |
Low |
Driving traffic (algorithm penalizes) |
| Reshare |
Very Low |
Don't bother — write original |
Link Posts Strategy
LinkedIn penalizes posts with links (reduces reach). Workarounds:
- Comment method: Post without link, add link as first comment, edit post to say "Link in comments"
- No-link method: Summarize the content in the post itself, mention "DM for link"
- If you must link: Put it at the very end, after strong standalone content
Content Pillars
Every LinkedIn creator should have 3-5 pillars they rotate through:
| Pillar |
What It Covers |
Example |
| Expertise |
Industry knowledge, how-tos |
"5 database patterns every engineer should know" |
| Stories |
Personal experiences, failures, wins |
"The hardest feedback I ever received" |
| Opinions |
Takes on industry trends, contrarian views |
"AI won't replace engineers. Bad managers will." |
| Behind the scenes |
Building in public, process |
"Here's our actual sprint retrospective format" |
| Curated insights |
Trends, data, research summaries |
"I analyzed 500 job postings. Here's what changed." |
Algorithm Signals
| Signal |
Impact |
How |
| Dwell time |
Very High |
Longer posts that people read fully |
| Comments |
Very High |
Ask questions, create discussion |
| Saves |
High |
Actionable, reference-worthy content |
| "See more" clicks |
High |
Strong hook that makes people expand |
| Shares |
Medium |
Relatable, quotable content |
| Reactions |
Medium |
Easy to get but weighted less |
| External links |
Negative |
Reduces reach — put links in comments |
| Editing after posting |
Negative |
Don't edit within first hour |
| Posting frequency |
3-5x/week |
Daily is fine, more than 1/day hurts |
Posting Schedule
| Day |
Best Time (your audience's timezone) |
| Tuesday-Thursday |
7-8 AM, 12 PM, 5-6 PM |
| Monday |
8 AM (people catching up) |
| Friday |
7-8 AM (before checkout) |
| Weekend |
Skip or light content |
Engage in comments for 30-60 minutes after posting — this is more important than the post itself.
Visual Content
# Generate a visual for a LinkedIn post
belt app run infsh/html-to-image --input '{
"html": "<div style=\"width:1080px;height:1080px;background:#0f172a;display:flex;align-items:center;justify-content:center;padding:80px;font-family:system-ui;color:white;text-align:center\"><div><h1 style=\"font-size:56px;font-weight:900;line-height:1.2;margin:0\">The best code is the code you don't write</h1><p style=\"font-size:22px;opacity:0.5;margin-top:24px\">— Every senior engineer</p></div></div>"
}'
# Generate a professional photo for a personal post
belt app run falai/flux-dev-lora --input '{
"prompt": "candid professional photo, person speaking at a conference podium, audience in background blurred, natural stage lighting, authentic moment, corporate event photography",
"width": 1200,
"height": 900
}'
CTA Formulas
End every post with engagement driver:
| CTA Type |
Example |
| Question |
"What's the worst career advice you've received?" |
| Agreement check |
"Agree or disagree?" |
| Share request |
"Repost if this resonates ♻️" |
| Save prompt |
"Save this for your next [situation] 🔖" |
| Recommendation ask |
"What would you add to this list?" |
| Experience ask |
"Has this happened to you?" |
Common Mistakes
| Mistake |
Problem |
Fix |
| Weak hook |
Nobody clicks "see more" |
Use hook formulas above |
| Wall of text |
Unreadable on mobile |
One sentence per line, blank lines between |
| Links in main post |
Algorithm reduces reach |
Put links in first comment |
| Too many hashtags |
Looks spammy |
3-5 relevant hashtags max |
| Corporate jargon |
"Leveraging synergies" = instant scroll past |
Write like you talk |
| Only self-promotion |
Audience stops engaging |
80% value, 20% promotion |
| No CTA |
No engagement direction |
Always end with a question or ask |
| Resharing without adding |
Near-zero reach |
Write original posts, quote instead |
| Posting and disappearing |
Kills comment momentum |
Engage for 30-60 min after posting |
| Being generic |
"Hard work pays off" = invisible |
Specific stories and data |
Related Skills
npx skills add inference-sh/skills@social-media-carousel
npx skills add inference-sh/skills@content-repurposing
npx skills add inference-sh/skills@twitter-thread-creation
Browse all apps: belt app list
1---2name: linkedin-content3description: LinkedIn post writing with hook formulas, formatting rules, and engagement patterns. Covers post types, algorithm signals, character limits, and content pillars. Use for: LinkedIn posts, professional content, thought leadership, B2B content, personal branding. Triggers: linkedin post, linkedin content, linkedin writing, linkedin strategy, linkedin engagement, linkedin algorithm, linkedin hook, linkedin formatting, thought leadership, professional content, b2b content, linkedin growth4---5
6> **Install the belt CLI skill:** `npx skills add belt-sh/cli`
7
8# LinkedIn Content
9
10Write high-engagement LinkedIn posts via [inference.sh](https://inference.sh) CLI.
11
12## Quick Start
13
14> Requires inference.sh CLI (`belt`). [Install instructions](https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md)
15
16```bash
17belt login
18
19# Research trending LinkedIn content patterns
20belt app run tavily/search-assistant --input '{
21 "query": "LinkedIn viral post examples 2024 high engagement patterns"
22}'
23
24# Post to X (cross-posting reference)
25belt app run x/post-create --input '{
26 "text": "Your cross-posted version here"
27}'
28```
29
30
31## Post Anatomy
32
33```
34┌─────────────────────────────────────┐
35│ HOOK (first 1-2 lines) │ ← Visible before "...see more"
36│ │
37│ ...see more ─────────────────────── │ ← The click gate
38│ │
39│ BODY (story/value) │
40│ - Formatted with line breaks │
41│ - Short paragraphs (1-2 sentences) │
42│ - Lists or numbered points │
43│ │
44│ CTA (last 1-2 lines) │ ← Ask for engagement
45│ │
46│ #hashtags (3-5) │
47└─────────────────────────────────────┘
48```
49
50## Character Limits
51
52| Element | Limit |
53|---------|-------|
54| Post text | 3,000 characters |
55| Visible before "see more" | ~210 characters (~2 lines on mobile) |
56| Hashtags | 3-5 recommended |
57| Comment | 1,250 characters |
58| Article title | 100 characters |
59| Article body | 125,000 characters |
60
61**The first 210 characters are everything.** If the hook fails, nobody clicks "see more."
62
63## Hook Formulas
64
65### What Works
66
67| Formula | Example |
68|---------|---------|
69| Contrarian opinion | "Unpopular opinion: code reviews are a waste of time." |
70| Personal story opening | "I got fired on a Tuesday. Best thing that ever happened." |
71| Surprising stat | "92% of startups fail. But not for the reason you think." |
72| List promise | "I've hired 200+ engineers. Here are 5 red flags I look for." |
73| Bold statement | "Your resume doesn't matter. Here's what does." |
74| Before/after | "3 years ago I couldn't get a single interview. Yesterday I turned down a FAANG offer." |
75| Pattern interrupt | "Stop. Before you send that cold email, read this." |
76
77### What Fails
78
79```
80❌ "Excited to announce that we are pleased to share..." (corporate speak)
81❌ "In today's rapidly evolving landscape..." (cliché, says nothing)
82❌ "I'd like to take a moment to..." (slow, no hook)
83❌ "Just published a new blog post!" (no value proposition)
84❌ Starting with a hashtag or emoji
85```
86
87## Formatting Rules
88
89### Line Breaks Are Your Best Friend
90
91```
92❌ Dense paragraph:
93"I learned something important about leadership last week. My team was struggling with a deadline and instead of pushing harder, I decided to remove scope. The result was incredible — we shipped faster and the quality was better. Sometimes less really is more."
94
95✅ Formatted for LinkedIn:
96"I learned something about leadership last week.
97
98My team was struggling with a deadline.
99
100Instead of pushing harder, I removed scope.
101
102The result?
103
104We shipped faster.
105And the quality was BETTER.
106
107Sometimes less really is more."
108```
109
110### Formatting Guidelines
111
112| Rule | Why |
113|------|-----|
114| One sentence per line | Easier to scan on mobile |
115| Blank line between paragraphs | Visual breathing room |
116| Short paragraphs (1-2 sentences) | Mobile readability |
117| Use line breaks for dramatic effect | Creates pacing and suspense |
118| Bold key phrases sparingly | Draws eye to important points |
119| Numbered lists for tips | Scannable, shareable |
120| Avoid walls of text | Nobody reads them |
121
122## Post Types (Ranked by Engagement)
123
124| Post Type | Engagement | Best For |
125|-----------|-----------|----------|
126| **Personal story + lesson** | Very High | Building connection, authenticity |
127| **Contrarian take** | High | Starting conversations, visibility |
128| **Carousel (document post)** | High | Educational content, tips |
129| **List/tips (numbered)** | High | Actionable value, saves |
130| **Poll** | Medium-High | Easy engagement, data gathering |
131| **Photo + story** | Medium | Humanizing, events |
132| **Video (native)** | Medium | Demonstrations, personality |
133| **Link post** | Low | Driving traffic (algorithm penalizes) |
134| **Reshare** | Very Low | Don't bother — write original |
135
136### Link Posts Strategy
137
138LinkedIn penalizes posts with links (reduces reach). Workarounds:
139
1401. **Comment method**: Post without link, add link as first comment, edit post to say "Link in comments"
1412. **No-link method**: Summarize the content in the post itself, mention "DM for link"
1423. **If you must link**: Put it at the very end, after strong standalone content
143
144## Content Pillars
145
146Every LinkedIn creator should have 3-5 pillars they rotate through:
147
148| Pillar | What It Covers | Example |
149|--------|---------------|---------|
150| **Expertise** | Industry knowledge, how-tos | "5 database patterns every engineer should know" |
151| **Stories** | Personal experiences, failures, wins | "The hardest feedback I ever received" |
152| **Opinions** | Takes on industry trends, contrarian views | "AI won't replace engineers. Bad managers will." |
153| **Behind the scenes** | Building in public, process | "Here's our actual sprint retrospective format" |
154| **Curated insights** | Trends, data, research summaries | "I analyzed 500 job postings. Here's what changed." |
155
156## Algorithm Signals
157
158| Signal | Impact | How |
159|--------|--------|-----|
160| **Dwell time** | Very High | Longer posts that people read fully |
161| **Comments** | Very High | Ask questions, create discussion |
162| **Saves** | High | Actionable, reference-worthy content |
163| **"See more" clicks** | High | Strong hook that makes people expand |
164| **Shares** | Medium | Relatable, quotable content |
165| **Reactions** | Medium | Easy to get but weighted less |
166| **External links** | Negative | Reduces reach — put links in comments |
167| **Editing after posting** | Negative | Don't edit within first hour |
168| **Posting frequency** | 3-5x/week | Daily is fine, more than 1/day hurts |
169
170## Posting Schedule
171
172| Day | Best Time (your audience's timezone) |
173|-----|------|
174| Tuesday-Thursday | 7-8 AM, 12 PM, 5-6 PM |
175| Monday | 8 AM (people catching up) |
176| Friday | 7-8 AM (before checkout) |
177| Weekend | Skip or light content |
178
179**Engage in comments for 30-60 minutes after posting** — this is more important than the post itself.
180
181## Visual Content
182
183```bash
184# Generate a visual for a LinkedIn post
185belt app run infsh/html-to-image --input '{
186 "html": "<div style=\"width:1080px;height:1080px;background:#0f172a;display:flex;align-items:center;justify-content:center;padding:80px;font-family:system-ui;color:white;text-align:center\"><div><h1 style=\"font-size:56px;font-weight:900;line-height:1.2;margin:0\">The best code is the code you don't write</h1><p style=\"font-size:22px;opacity:0.5;margin-top:24px\">— Every senior engineer</p></div></div>"
187}'
188
189# Generate a professional photo for a personal post
190belt app run falai/flux-dev-lora --input '{
191 "prompt": "candid professional photo, person speaking at a conference podium, audience in background blurred, natural stage lighting, authentic moment, corporate event photography",
192 "width": 1200,
193 "height": 900
194}'
195```
196
197## CTA Formulas
198
199End every post with engagement driver:
200
201| CTA Type | Example |
202|----------|---------|
203| Question | "What's the worst career advice you've received?" |
204| Agreement check | "Agree or disagree?" |
205| Share request | "Repost if this resonates ♻️" |
206| Save prompt | "Save this for your next [situation] 🔖" |
207| Recommendation ask | "What would you add to this list?" |
208| Experience ask | "Has this happened to you?" |
209
210## Common Mistakes
211
212| Mistake | Problem | Fix |
213|---------|---------|-----|
214| Weak hook | Nobody clicks "see more" | Use hook formulas above |
215| Wall of text | Unreadable on mobile | One sentence per line, blank lines between |
216| Links in main post | Algorithm reduces reach | Put links in first comment |
217| Too many hashtags | Looks spammy | 3-5 relevant hashtags max |
218| Corporate jargon | "Leveraging synergies" = instant scroll past | Write like you talk |
219| Only self-promotion | Audience stops engaging | 80% value, 20% promotion |
220| No CTA | No engagement direction | Always end with a question or ask |
221| Resharing without adding | Near-zero reach | Write original posts, quote instead |
222| Posting and disappearing | Kills comment momentum | Engage for 30-60 min after posting |
223| Being generic | "Hard work pays off" = invisible | Specific stories and data |
224
225## Related Skills
226
227```bash
228npx skills add inference-sh/skills@social-media-carousel
229npx skills add inference-sh/skills@content-repurposing
230npx skills add inference-sh/skills@twitter-thread-creation
231```
232
233Browse all apps: `belt app list`
234