LinkedIn Post Creator
name: linkedin-writer
description: >
Creates LinkedIn posts across all formats - event announcements, product launches,
thought leadership, and community engagement. Handles the full lifecycle from
sourcing context through drafting, review, and self-improvement.
triggers:
- linkedin post
- LN post
- write a post about
MCP connectors
| Connector |
Purpose |
| LinkedIn |
Publish posts, check engagement metrics |
When to Use
Use this skill whenever a LinkedIn post is needed:
- Sharing an article, video, or piece of content
- Announcing an event, launch, milestone, or hire
- Sharing a contrarian take or industry observation
- Community engagement (calls for help, celebrations, vulnerability posts)
- Repurposing content from other channels (blog, Substack, talks)
Quick Start
Every LinkedIn post falls into one of four categories. Route to the right sub-file:
| Category |
Sub-file |
When |
| Events |
events.md |
Announcing, recapping, or clustering around events |
| Launches |
launches.md |
Product features, milestones, version releases |
| Ideas |
ideas.md |
Contrarian takes, benchmarks, article shares, thought leadership |
| Community |
community.md |
Mobilization, vulnerability, team celebrations |
Read the relevant sub-file for format-specific templates and patterns.
Core Writing Principles
Tone
- Direct and conversational, never corporate
- First person singular ("I") unless it is a team moment ("we")
- Confident but not arrogant - share what you learned, not what you know
- Short sentences. Fragments are fine.
Opening Patterns
The first line is the post. If it does not stop the scroll, nothing else matters.
Strong openers:
- Contrarian hook: "Most [X] advice is wrong. Here's what actually works."
- Specific number: "We went from 0 to 500 users in 3 weeks. No ads."
- Question: "Why do analytics teams still spend 80% of their time on data prep?"
- Confession: "I almost shut down the company last month."
- Bold claim: "[Thing everyone assumes] is dead."
Weak openers (never use):
- "Excited to announce..."
- "Thrilled to share..."
- "I'm delighted to..."
- "Big news!"
Generic Post Structure
[Hook - 1-2 lines that stop the scroll]
[Context - why this matters, what prompted it]
[Substance - the insight, story, data, or takeaway]
[Landing - CTA, question, or forward-looking statement]
Keep posts between 150-300 words. LinkedIn truncates after ~210 characters, so the hook must land before the "see more" fold.
Voice Calibration
Structural Preferences
- Use line breaks liberally - one thought per line
- Bullet points for lists of 3+ items
- No walls of text
- Emojis: sparingly, max 1-2 per post, never as bullet markers
- Hashtags: 3-5 max, at the bottom, relevant to the topic
Punctuation Rules
- Never use em dashes (--) or en dashes (-) as punctuation. Use a hyphen (-) or colon (:) instead.
- Periods over exclamation marks. One exclamation mark per post maximum.
- No ellipsis (...) for dramatic effect
Voice Tells to Match
- Short declarative sentences
- "Here's the thing:" as a pivot phrase
- "Turns out" to introduce a surprising finding
- Direct address to the reader ("If you're a [role]...")
- Specific numbers over vague claims
Vocabulary to AVOID
These words and phrases are ghostwriter cliches. Never use them:
| Banned |
Why |
Use Instead |
| "banger" |
Cringe |
"strong post", "it performed well" |
| "game-changer" |
Overused |
Be specific about what changed |
| "nails it" |
Vague |
Explain what specifically is good |
| "had a blast" |
Generic |
Describe the actual experience |
| "incredibly" |
Filler |
Cut it or use a specific adjective |
| "leverage" |
Corporate |
"use" |
| "synergy" |
Corporate |
Describe the actual benefit |
| "ecosystem" |
Overused |
Be specific |
| "thought leader" |
Self-aggrandizing |
Never self-apply this label |
| "deep dive" |
Cliche |
"breakdown", "analysis", "walkthrough" |
| "unpack" |
Cliche |
"explain", "break down" |
| "landscape" |
Vague |
Name the specific market or space |
| "at the end of the day" |
Filler |
Cut entirely |
Sourcing Context Before You Write
Never write a post from thin air. Always fetch the source material first.
| Source Type |
How to Fetch |
| Article/blog post |
Use WebFetch to get the full text |
| YouTube video |
Use WebFetch on the video URL to get metadata; fetch transcript if available |
| GitHub repo/release |
Use gh CLI to read release notes, README, or issue |
| Internal doc |
Read the file from the repo |
| Event page |
Use WebFetch on the event URL |
| CRM context |
Use CRM tools to pull customer/deal context |
Read the source fully before drafting. Extract:
- The single most interesting claim or data point
- Why it matters to the target audience
- What is non-obvious or counterintuitive about it
Full Workflow
Step 1: Understand the Request
- What is the core message?
- Who is the audience? (founders, data teams, engineers, general tech)
- What is the goal? (awareness, engagement, traffic, hiring)
- Is there source material to fetch?
Step 2: Pick the Post Type
Route to the appropriate sub-file (events, launches, ideas, community) and select a template.
Step 3: Draft
- Read
content/linkedin/_insights.md for channel learnings
- Read
content/linkedin/_examples/ for high-performing references
- Write the draft following the template and voice rules
- Save to
content/linkedin/_drafts/YYYY-MM-DD_slug.md with frontmatter:
---
date: YYYY-MM-DD
channel: linkedin
topic: short-topic
format: post
status: draft
type: event | launch | idea | community
performance:
notes:
---
Step 4: Review Checklist
Before presenting the draft, verify:
Step 5: Self-Improvement
When moving a post from _drafts/ to _published/:
- Scan the conversation for edits the user made
- Diff what was drafted vs what the user kept
- Identify patterns: What did they cut? What did they rewrite? What did they keep?
- Add learnings to
content/linkedin/_insights.md
- If the post performs well later, promote it to
content/linkedin/_examples/
DO's and DON'Ts
DO
- Start with the most interesting thing
- Use specific numbers and evidence
- Write like you talk
- Break up long blocks of text
- End with a question or clear next step
- Fetch source material before writing
- Save drafts to
_drafts/ first
DON'T
- Start with "Excited to announce"
- Use corporate jargon or buzzwords
- Write walls of text
- Use more than 2 emojis
- Self-describe as a "thought leader"
- Write without reading
_insights.md first
- Skip the review checklist
- Publish directly without user review
Tips for Success
- The hook is 80% of the work. Spend most of your time on the first two lines.
- One post, one idea. If you have two ideas, write two posts.
- Specificity beats cleverness. "Reduced query time from 45s to 2s" beats "Made it way faster."
- Read it aloud. If it sounds like a press release, rewrite it.
- When in doubt, shorter. Cut every sentence that does not earn its place.
- Stay close to the user's voice. Improve, don't rewrite. Don't invent angles they didn't suggest.
1---2name: linkedin3description: LinkedIn Post Creator4---5# LinkedIn Post Creator67```yaml8name: linkedin-writer9description: >10 Creates LinkedIn posts across all formats - event announcements, product launches,11 thought leadership, and community engagement. Handles the full lifecycle from12 sourcing context through drafting, review, and self-improvement.13triggers:14 - linkedin post15 - LN post16 - write a post about17```1819---2021## MCP connectors2223| Connector | Purpose |24|-----------|---------|25| LinkedIn | Publish posts, check engagement metrics |2627## When to Use2829Use this skill whenever a LinkedIn post is needed:30- Sharing an article, video, or piece of content31- Announcing an event, launch, milestone, or hire32- Sharing a contrarian take or industry observation33- Community engagement (calls for help, celebrations, vulnerability posts)34- Repurposing content from other channels (blog, Substack, talks)3536---3738## Quick Start3940Every LinkedIn post falls into one of four categories. Route to the right sub-file:4142| Category | Sub-file | When |43|----------|----------|------|44| Events | `events.md` | Announcing, recapping, or clustering around events |45| Launches | `launches.md` | Product features, milestones, version releases |46| Ideas | `ideas.md` | Contrarian takes, benchmarks, article shares, thought leadership |47| Community | `community.md` | Mobilization, vulnerability, team celebrations |4849Read the relevant sub-file for format-specific templates and patterns.5051---5253## Core Writing Principles5455### Tone56- Direct and conversational, never corporate57- First person singular ("I") unless it is a team moment ("we")58- Confident but not arrogant - share what you learned, not what you know59- Short sentences. Fragments are fine.6061### Opening Patterns62The first line is the post. If it does not stop the scroll, nothing else matters.6364Strong openers:65- **Contrarian hook**: "Most [X] advice is wrong. Here's what actually works."66- **Specific number**: "We went from 0 to 500 users in 3 weeks. No ads."67- **Question**: "Why do analytics teams still spend 80% of their time on data prep?"68- **Confession**: "I almost shut down the company last month."69- **Bold claim**: "[Thing everyone assumes] is dead."7071Weak openers (never use):72- "Excited to announce..."73- "Thrilled to share..."74- "I'm delighted to..."75- "Big news!"7677### Generic Post Structure78```79[Hook - 1-2 lines that stop the scroll]8081[Context - why this matters, what prompted it]8283[Substance - the insight, story, data, or takeaway]8485[Landing - CTA, question, or forward-looking statement]86```8788Keep posts between 150-300 words. LinkedIn truncates after ~210 characters, so the hook must land before the "see more" fold.8990---9192## Voice Calibration9394### Structural Preferences95- Use line breaks liberally - one thought per line96- Bullet points for lists of 3+ items97- No walls of text98- Emojis: sparingly, max 1-2 per post, never as bullet markers99- Hashtags: 3-5 max, at the bottom, relevant to the topic100101### Punctuation Rules102- Never use em dashes (--) or en dashes (-) as punctuation. Use a hyphen (-) or colon (:) instead.103- Periods over exclamation marks. One exclamation mark per post maximum.104- No ellipsis (...) for dramatic effect105106### Voice Tells to Match107- Short declarative sentences108- "Here's the thing:" as a pivot phrase109- "Turns out" to introduce a surprising finding110- Direct address to the reader ("If you're a [role]...")111- Specific numbers over vague claims112113---114115## Vocabulary to AVOID116117These words and phrases are ghostwriter cliches. Never use them:118119| Banned | Why | Use Instead |120|--------|-----|-------------|121| "banger" | Cringe | "strong post", "it performed well" |122| "game-changer" | Overused | Be specific about what changed |123| "nails it" | Vague | Explain what specifically is good |124| "had a blast" | Generic | Describe the actual experience |125| "incredibly" | Filler | Cut it or use a specific adjective |126| "leverage" | Corporate | "use" |127| "synergy" | Corporate | Describe the actual benefit |128| "ecosystem" | Overused | Be specific |129| "thought leader" | Self-aggrandizing | Never self-apply this label |130| "deep dive" | Cliche | "breakdown", "analysis", "walkthrough" |131| "unpack" | Cliche | "explain", "break down" |132| "landscape" | Vague | Name the specific market or space |133| "at the end of the day" | Filler | Cut entirely |134135---136137## Sourcing Context Before You Write138139**Never write a post from thin air.** Always fetch the source material first.140141| Source Type | How to Fetch |142|-------------|-------------|143| Article/blog post | Use `WebFetch` to get the full text |144| YouTube video | Use `WebFetch` on the video URL to get metadata; fetch transcript if available |145| GitHub repo/release | Use `gh` CLI to read release notes, README, or issue |146| Internal doc | Read the file from the repo |147| Event page | Use `WebFetch` on the event URL |148| CRM context | Use CRM tools to pull customer/deal context |149150Read the source fully before drafting. Extract:1511. The single most interesting claim or data point1522. Why it matters to the target audience1533. What is non-obvious or counterintuitive about it154155---156157## Full Workflow158159### Step 1: Understand the Request160- What is the core message?161- Who is the audience? (founders, data teams, engineers, general tech)162- What is the goal? (awareness, engagement, traffic, hiring)163- Is there source material to fetch?164165### Step 2: Pick the Post Type166Route to the appropriate sub-file (events, launches, ideas, community) and select a template.167168### Step 3: Draft169- Read `content/linkedin/_insights.md` for channel learnings170- Read `content/linkedin/_examples/` for high-performing references171- Write the draft following the template and voice rules172- Save to `content/linkedin/_drafts/YYYY-MM-DD_slug.md` with frontmatter:173174```yaml175---176date: YYYY-MM-DD177channel: linkedin178topic: short-topic179format: post180status: draft181type: event | launch | idea | community182performance:183notes:184---185```186187### Step 4: Review Checklist188Before presenting the draft, verify:189190- [ ] Hook lands before the "see more" fold (~210 chars)191- [ ] No banned vocabulary192- [ ] No em dashes or en dashes193- [ ] No "Excited to announce" or similar weak openers194- [ ] Post is 150-300 words195- [ ] One clear CTA or question at the end196- [ ] 3-5 relevant hashtags197- [ ] Emojis used sparingly (0-2)198- [ ] First person voice throughout199- [ ] Specific numbers/evidence over vague claims200- [ ] Source material accurately represented201- [ ] No corporate jargon202203### Step 5: Self-Improvement204When moving a post from `_drafts/` to `_published/`:2052061. Scan the conversation for edits the user made2072. Diff what was drafted vs what the user kept2083. Identify patterns: What did they cut? What did they rewrite? What did they keep?2094. Add learnings to `content/linkedin/_insights.md`2105. If the post performs well later, promote it to `content/linkedin/_examples/`211212---213214## DO's and DON'Ts215216### DO217- Start with the most interesting thing218- Use specific numbers and evidence219- Write like you talk220- Break up long blocks of text221- End with a question or clear next step222- Fetch source material before writing223- Save drafts to `_drafts/` first224225### DON'T226- Start with "Excited to announce"227- Use corporate jargon or buzzwords228- Write walls of text229- Use more than 2 emojis230- Self-describe as a "thought leader"231- Write without reading `_insights.md` first232- Skip the review checklist233- Publish directly without user review234235---236237## Tips for Success2382391. **The hook is 80% of the work.** Spend most of your time on the first two lines.2402. **One post, one idea.** If you have two ideas, write two posts.2413. **Specificity beats cleverness.** "Reduced query time from 45s to 2s" beats "Made it way faster."2424. **Read it aloud.** If it sounds like a press release, rewrite it.2435. **When in doubt, shorter.** Cut every sentence that does not earn its place.2446. **Stay close to the user's voice.** Improve, don't rewrite. Don't invent angles they didn't suggest.