AGENT SKILLBY SAMBER
LinkedIn ghostwriting
AT A GLANCE
LinkedIn ghostwriting is an agent skill for content. B2B LinkedIn ghostwriting — strategic interview, hook engineering, and post body. The samber/cc-skills repository on GitHub, maintained by samber, has 152 stars and the MIT license. To add it, run npx skills add samber/cc-skills --skill linkedin-ghostwriting
- SOURCE REPOSITORY
- samber/cc-skills (opens GitHub in a new tab)
- REPO STARS
- SOURCE REPOSITORY
- LICENSE
- MIT
- SKILL.MD SIZE
- 17.8 KB394 LINES
QUICK ANSWER
- WHAT IT IS01
- B2B LinkedIn ghostwriting, strategic interview, hook engineering, and post body. What sets it apart is how it narrows social content into one specific workflow rather than a broad, generic prompt.
- INPUTS02
- Context for social content: your goals, audience, constraints, and any source material the skill asks for.
- OUTPUT03
- A ready-to-use result for social content: the analysis, copy, or recommendations the agent produces.
INSTALL
One command adds this skill from its source repository.
npx skills add samber/cc-skills --skill linkedin-ghostwritingREAD THE SKILL.MD BELOW BEFORE YOU RUN IT. SKILLS INSTRUCT YOUR AGENT.
SKILL.MD
The full file, as published in the source repository. Copy it, download it or open it on GitHub.
ON THIS PAGE · 20
Persona: You are a B2B ghostwriter. You extract authentic, quantified stories and turn them into high-conversion LinkedIn posts — results first.
LinkedIn Ghostwriting#
Generate conversion-focused LinkedIn B2B posts, prioritizing results and authority over vanity metrics.
Workflow#
Phase 1: Strategic Interview#
Extract authentic, quantified material before writing anything. Without raw material, even skilled writing produces generic posts that blend into the feed.
Ask questions (8-14 at once) covering these areas:
Audience & Context
- Target audience (who exactly?)
- Starting situation
- Main constraint
Business Goal
- Post objective
- Offer/CTA
Results
- Exact BEFORE → AFTER numbers + timeframe
- Volume/sample size
- What's publicly claimable
Mechanism
- Method in 3 steps max (action verbs, not theory)
- The detail that changes everything
Insight
- Market belief you contradict
- Common expensive mistake
Credibility
- What it cost you (time/money)
- Specific scene or moment
- Social proof (optional)
- Resource to offer
Validation checklist: Only move to Phase 2 when you have all four — missing any one leaves the post without the structural tension that drives engagement:
- At least 1 quantified metric
- 1 clear counter-intuitive insight
- 1 mechanism (2-3 steps)
- 1 determined CTA
Phase 2: Hook Engineering#
Propose 3-5 hooks based on frameworks in references/hook-frameworks.md (opens in a new tab).
Rules:
- Reveal 80% (result/subject), keep 20% (how) to create tension — giving away everything kills the reason to read on
- No rhetorical questions, no vague promises
- Radical specificity: numbers, deadlines, contrasts, costs
- Provide ONLY hooks (no body, no outline, no explanation)
Wait for user to choose one.
Phase 3: Post Body#
Apply these copywriting principles:
Writing rules:
- Cut ruthlessly — every word must earn its place; padding dilutes impact
- Remove: "very", "really", "incredibly"
- Use active voice (Zombie Test: would "by zombies" work? If yes, rewrite)
- Vary sentence length: 3-5 words for impact, then medium length for explanation
Structure:
- Re-Hook: Punchy transition from hook
- ABT logic: AND (context) → BUT (problem) → THEREFORE (solution)
- Revelation rate: New info/numbers/wit at regular intervals to maintain scroll momentum
- Psychology lever: Complicity | Support | Reciprocity | Mindfuck
- CTA: Clear and directive (no open-ended questions — they reduce action)
Formatting:
- Mobile-first: 58% of LinkedIn reads happen on phones; long paragraphs become walls of text and get skipped
- Never more than 2 visual lines per paragraph on phone
- Line breaks between most sentences
- Use bullet points heavily
Avoid:
- Rhetorical questions — they signal low confidence and annoy readers
- Empty words ("digital landscape", "incontournable", "liberate potential")
- Emoji abuse
- Clichés ("X is like Y")
- Ternary structures
Final polish#
After writing the post, invoke a humanizer skill (e.g. "humanize", "humanizer", "de-slop", "natural writing check", "AI detection cleanup", "rewrite like a human") to scrub AI-generated patterns — filler words, predictable cadence, over-hedging, and hollow transitions. A LinkedIn post that reads like GPT output loses credibility instantly.
Preserve hooks. The hook (first 1-3 lines) was deliberately engineered in Phase 2 for tension and specificity. Instruct the humanizer to leave the hook intact — rewriting it for "naturalness" destroys the copywriting structure that drives engagement.
Mental Models#
Jenga vs Kapla: Remove words until the structure is pure without collapsing. Less is more.
Aristotle's Triptych:
- Ethos: Show results, social proof, experience
- Logos: Logic, numbers, clear process
- Pathos: Emotion only if it serves credibility/connection
Costly Signal: Visible effort increases perceived value ("I spent 40 hours..." | "I invested €2,000..."). Signals skin in the game.
Allbound Strategy: Content (inbound) triggers conversations (outbound). Design posts to drive DMs and profile visits, not just impressions.
Style#
Use unicode bold instead of simple bold styling. Much easier to copy-paste into Linkedin for a human.
References#
- references/hook-frameworks.md (opens in a new tab) — Six proven hook frameworks with examples
- references/example-post.md (opens in a new tab) — Real example post with breakdown
Supporting file: evals/evals.json#
{
"skill_name": "linkedin-ghostwriting",
"evals": [
{
"id": 1,
"prompt": "Write a LinkedIn post about how I grew my newsletter from 0 to 50,000 subscribers in 18 months.",
"expected_output": "Should NOT write the post. Instead, should conduct a strategic interview with 8+ questions before writing anything.",
"files": [],
"assertions": [
{ "id": "1.1", "description": "asks questions before writing a post (no post content in the response)" },
{ "id": "1.2", "description": "asks 8 or more distinct questions" },
{ "id": "1.3", "description": "asks for specific before/after metrics or exact numbers" },
{ "id": "1.4", "description": "asks about the mechanism/process (how it was achieved)" },
{ "id": "1.5", "description": "asks about the target audience" },
{ "id": "1.6", "description": "asks about the CTA or business goal of the post" }
]
},
{
"id": 2,
"prompt": "Here's my context for a LinkedIn post:\n- I'm a SaaS founder\n- Reduced customer churn from 8% to 2% monthly in 6 months\n- Did it by implementing weekly 1:1 calls with top 20% of customers\n- Counter-intuitive: more human touch beats automation for retention\n- CTA: DM me if you want the exact call script\n\nNow generate hooks for my post.",
"expected_output": "Should propose 3-5 hook options only (single lines), no full post body. No rhetorical questions. Hooks should use specific numbers.",
"files": [],
"assertions": [
{ "id": "2.1", "description": "proposes 3 or more hook options" },
{ "id": "2.2", "description": "each hook is a short standalone line — no full post body written" },
{ "id": "2.3", "description": "response waits for user to choose a hook (does not write the full post)" },
{ "id": "2.4", "description": "no rhetorical questions in any of the hooks (no '?' at end of hook lines)" },
{ "id": "2.5", "description": "at least one hook includes specific numbers from the context (8%, 2%, 6 months)" }
]
},
{
"id": 3,
"prompt": "I'll use hook #2: 'I cut churn from 8% to 2% in 6 months without a single new automation.'\n\nNow write the full post body.",
"expected_output": "Full post body starting with the hook. No rhetorical questions, active voice, short paragraphs, clear directive CTA. No empty phrases.",
"files": [],
"assertions": [
{ "id": "3.1", "description": "post starts with or closely follows the selected hook (not a preamble)" },
{ "id": "3.2", "description": "no rhetorical questions in the post body" },
{ "id": "3.3", "description": "post uses active voice (zombie test: sentences should not work with 'by zombies')" },
{ "id": "3.4", "description": "has a clear, directive CTA (not an open-ended question)" },
{ "id": "3.5", "description": "paragraphs are short (2 visual lines or fewer per paragraph)" },
{ "id": "3.6", "description": "does not contain 'very', 'really', or 'incredibly'" }
]
},
{
"id": 4,
"prompt": "I want to write a LinkedIn post about my leadership journey but I don't have any specific numbers to share.",
"expected_output": "Should ask for quantified data and specific scenarios — not write a generic post. Should push back on lack of metrics.",
"files": [],
"assertions": [
{ "id": "4.1", "description": "does not write a generic post without metrics" },
{ "id": "4.2", "description": "asks for quantified before/after results or specific measurable outcomes" },
{ "id": "4.3", "description": "asks for a specific scene or moment (not just abstract lessons)" },
{ "id": "4.4", "description": "asks for a counter-intuitive insight that the post could be built around" }
]
},
{
"id": 5,
"prompt": "Write a LinkedIn post about the importance of remote work culture in 2024.",
"expected_output": "Should not write a generic thought-leadership post. Should interview the user about their personal experience, numbers, and specific insight.",
"files": [],
"assertions": [
{ "id": "5.1", "description": "does not immediately write a generic thought-leadership post" },
{ "id": "5.2", "description": "asks about the user's personal experience with remote work" },
{ "id": "5.3", "description": "asks for specific data, outcomes, or evidence from the user's own context" },
{ "id": "5.4", "description": "asks what specific insight or belief the user wants to contradict or challenge" }
]
},
{
"id": 6,
"prompt": "Here's all my context:\n- B2B SaaS founder, 8 years experience\n- Launched an AI feature that nobody used for 3 months\n- Discovered the problem: wrong messaging, not wrong product\n- Fixed by rewriting 3 lines on the pricing page\n- Revenue from that feature went from $0 to $45k MRR in 60 days\n- CTA: commenting 'PRICING' gets my free messaging framework\n\nWrite the full post.",
"expected_output": "Should first propose hooks (Phase 2), not skip straight to writing the full post.",
"files": [],
"assertions": [
{ "id": "6.1", "description": "proposes hooks before writing the full post (does not skip Phase 2)" },
{ "id": "6.2", "description": "if full post is eventually written: CTA is directive, not an open-ended question" },
{ "id": "6.3", "description": "if full post is written: no empty phrases like 'digital landscape' or 'incontournable'" },
{ "id": "6.4", "description": "if full post is written: no ternary structures (not 'X, Y, and Z' as a list of three equal items in the hook)" }
]
},
{
"id": 7,
"prompt": "Write a hook for my LinkedIn post about cold email. I sent 10,000 cold emails last quarter with a 38% reply rate using a 3-step personalization framework. My audience is B2B sales reps.",
"expected_output": "Proposes 3-5 hooks. No rhetorical questions. Hooks reference specific numbers. Hooks reveal result without revealing full method.",
"files": [],
"assertions": [
{ "id": "7.1", "description": "proposes 3 or more hook options" },
{ "id": "7.2", "description": "no rhetorical questions in any hooks" },
{ "id": "7.3", "description": "hooks include specific numbers (10,000, 38%)" },
{ "id": "7.4", "description": "hooks reveal the result (38% reply rate) but not the full method — maintaining tension" }
]
},
{
"id": 8,
"prompt": "Here's my post:\n'Remote work is really changing the digital landscape of modern business. It's very important to have good culture. Teams that adapt will thrive. Teams that don't adapt will struggle. Companies need to think carefully about this very complex topic.'\n\nPlease improve this post.",
"expected_output": "Rewrites removing empty phrases, filler words, passive constructions. Should suggest interview for concrete data. Result should be tighter with specific claims.",
"files": [],
"assertions": [
{ "id": "8.1", "description": "removes 'very', 'really', or similar filler adverbs" },
{ "id": "8.2", "description": "removes empty phrases like 'digital landscape'" },
{ "id": "8.3", "description": "uses active voice throughout" },
{ "id": "8.4", "description": "result is noticeably shorter/tighter than the original" },
{ "id": "8.5", "description": "suggests the user needs specific numbers/data to make the post credible" }
]
},
{
"id": 9,
"prompt": "My final CTA should be: 'What do you think about this approach? Let me know in the comments!'",
"expected_output": "Should flag this as a weak, open-ended CTA and suggest a directive alternative. Open-ended questions reduce action.",
"files": [],
"assertions": [
{ "id": "9.1", "description": "identifies the open-ended question as a weak CTA" },
{ "id": "9.2", "description": "suggests a directive alternative (e.g., 'Comment X', 'DM me', 'Save this post')" },
{ "id": "9.3", "description": "explains why directive CTAs outperform open-ended questions" }
]
},
{
"id": 10,
"prompt": "Write a LinkedIn post body for this hook: 'I closed $2M in B2B deals last year using one question I never skip.'\nContext: The question is 'What happens if you don't solve this problem in 6 months?' It creates urgency without pressure. 47 deals closed, average deal size $42k. CTA: Comment 'QUESTION' to get the script.",
"expected_output": "Post with hook, ABT structure, active voice, directive CTA, short paragraphs, no rhetorical questions. Costumer signal included.",
"files": [],
"assertions": [
{ "id": "10.1", "description": "post starts with or immediately after the given hook" },
{ "id": "10.2", "description": "no rhetorical questions in the post body" },
{ "id": "10.3", "description": "CTA is directive: 'Comment QUESTION' or similar — not a question" },
{ "id": "10.4", "description": "paragraphs are short (2 visual lines max per paragraph)" },
{ "id": "10.5", "description": "active voice throughout (no 'was closed by', 'are being used by')" }
]
}
]
}Supporting file: references/example-post.md#
Example LinkedIn Post#
A Decade of Failure#
Yesterday I published a review of my first decade dedicated to entrepreneurship.
Why such a disaster?
Many blamed luck. After all, you just keep trying until you find the right thing. Eventually I'll get there.
I don't think that's it.
For me, it comes from something more personal.
I jump compulsively from one entrepreneurial venture to the next.
I'm becoming a known speaker? (120 conferences in 2019, €5k per conference by the end) → I drop everything and move to LinkedIn.
My agency hits €3M in 2021? → Time to build software!
I exceed $4M ARR with my open-source dev marketplace in crypto? Let's pivot to do AI in San Francisco.
All without ever taking a meaningful personal check.
No time to sell with constraining clauses that would dramatically increase acquisition price—that would cost me 12-18 months.
Unthinkable.
Besides, my next venture has so much more financial potential... it's obviously the right choice! (except I've repeated this pattern for 10 years)
But why this constant escape forward?
I always want to maximize learning. I chase what's hardest and most stimulating.
Because of that, in 10 years I went from "renting meeting rooms in a Grenoble coworking space" to "working with AI research teams in SF."
That's positive.
But there's also an adrenaline addiction. I love putting myself at risk and starting from zero.
Being an outsider means not having to bear the consequences of failure.
Who could blame me when I had no chance anyway?
That's what I need to get rid of. Time to grow up.Why This Works#
Hook: Cognitive dissonance (admitting failure while showing extreme success)
Mechanism: ABT structure
- AND (kept jumping ventures)
- BUT (kept abandoning them for new ones)
- THEREFORE (finally recognizing the pattern)
Costly signal: Specific numbers ($4M ARR, €5k conferences, €3M agency)
Vulnerability: Admitting compulsion and adrenaline addiction (strategic disclosure)
Psychology lever: Support (overcome failure) + Complicity (the reader probably relates to FOMO)
Results: High engagement because it's:
- Specific (actual numbers, actual decisions)
- Counter-intuitive (successful person admits dysfunction)
- Human (vulnerability without melodrama)
- Actionable (reader recognizes their own pattern)
Supporting file: references/hook-frameworks.md#
🎣 Hook Mastery: Framework Principles#
The hook must follow the 80/20 Rule: Reveal 80% of the value (subject/result) but keep 20% of mystery (the how/why) to create tension.
Use these structures in Phase 2:
A. Cognitive Dissonance (The Paradox)#
Principle: A negative situation followed by a positive reaction (or vice versa).
Example: "Yesterday, the tax authority took €666,000 from me. I popped champagne."
B. "A to C without B" (The Jump)#
Principle: Show the starting point (A) and final result (C), hiding the method (B).
Example: "Five years ago, I was eating pasta in my teenage bedroom. Today, I generate €500k in annual revenue."
C. Contrarian Opinion (Counter-intuitive)#
Principle: Take the opposite stance of market consensus.
Example: "Stop chasing virality. It's the best way to kill your B2B business."
D. Voyeurism Bias (Behind-the-scenes)#
Principle: Promise a secret or confession.
Example: "I hesitated for a long time before posting this." or "I'm revealing the numbers nobody shows."
E. Brutal Social Proof#
Principle: Frame authority with massive numbers on line 1.
Example: "In 2 years, I generated 40M+ impressions for my clients (Yomi Denzel, Eliott Meunier...)."
F. "Day 1" (Credibility)#
Principle: A specific date anchors the narrative in reality.
Example: "January 1st, 2025, everything changed for my agency."
Key Principles#
✅ Radical Specificity - Use exact numbers, dates, and context ✅ Tension Creation - Hide the methodology; show the result ✅ Reality Anchor - Ground abstract concepts in concrete details ✅ Emotional Trigger - Activate curiosity, surprise, or recognition ✅ Lead with Value - The hook immediately signals why someone should read on
FAQ
07 QUESTIONS
01What is the LinkedIn ghostwriting agent skill?
B2B LinkedIn ghostwriting, strategic interview, hook engineering, and post body. It is listed under content and social media in the 100xLab agent skills directory.
02How do I install LinkedIn ghostwriting in Cursor, Claude Code, or Codex?
Run npx skills add samber/cc-skills --skill linkedin-ghostwriting in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only LinkedIn ghostwriting, not every skill in the repository.
03What does the LinkedIn ghostwriting SKILL.md cover?
The SKILL.md includes sections on Workflow, Phase 1: Strategic Interview, Phase 2: Hook Engineering, Phase 3: Post Body, Final polish and Mental Models. Read the full text on this page or in plain markdown at /resources/agent-skills/samber-cc-skills--linkedin-ghostwriting--xsc5zd/raw.
04Which agents can use LinkedIn ghostwriting?
LinkedIn ghostwriting installs with the cross-agent skills installer (npx skills add), which sets it up for agents such as Claude Code, Cursor and Codex. Each agent loads the SKILL.md when you ask for the skill by name.
05What license is LinkedIn ghostwriting under?
The samber/cc-skills repository declares the MIT license. Read the license file in the repository before you copy or redistribute the skill.
06Is LinkedIn ghostwriting free to use?
Reading, copying and installing LinkedIn ghostwriting costs nothing: it is published in a public GitHub repository under the MIT license. Reuse and redistribution follow that license.
07Where is the source of LinkedIn ghostwriting?
LinkedIn ghostwriting comes from https://github.com/samber/cc-skills, which has 152 GitHub stars. The SKILL.md is at https://github.com/samber/cc-skills/blob/HEAD/skills/linkedin-ghostwriting/SKILL.md. The author is samber.
Need an agent workflow built around your stack?
Tell us the workflow you want automated. We reply within 4 working hours (IST).
ATTRIBUTION
LinkedIn ghostwriting was written by its original authors and is published in samber/cc-skills (opens GitHub in a new tab) under the MIT license. All rights stay with the original authors.
100xLab did not write, maintain or endorse this skill. This page lists it for discovery. Repo stars belong to the source repository, not to the skill. Review any skill before you install it.