linkedin-ghostwriting
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.
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 — Six proven hook frameworks with examples
- references/example-post.md — Real example post with breakdown
More from samber/cc-skills
conventional-git
Conventional Commits v1.0.0 branch naming, worktree naming, and commit message standards for GitHub and GitLab projects. Use when creating branches, naming worktrees, writing commits, generating commit messages, reviewing branch conventions, or setting up changelog automation. Apply when your project needs consistent git history, SemVer-driven releases, parseable changelog generation, or automatic issue closing. Trigger when the user asks how to name a worktree, create a git worktree, or organize worktrees alongside branches.
70promql-cli
CLI for querying Prometheus and PromQL-compatible engines (Thanos, Cortex, VictoriaMetrics, Grafana Mimir, Grafana Tempo...) — instant queries, range queries, metric discovery (metrics/labels/meta subcommands), output formats (table/csv/json/graph). Apply when executing PromQL queries, troubleshooting performance issues on a software having observability, investigating latency/error rates/saturation, or analyzing time series data.
65substack-ghostwriting
Write, optimize, and grow Substack content — both newsletter issues (email-first) and web posts (web-first articles/essays). Covers ghostwriting with voice matching, Substack algorithm optimization, Notes strategy, email formatting, SEO, growth tactics, and monetization planning. Use when the user mentions Substack, newsletters, write a newsletter issue, Substack post, Substack article, web post on Substack, evergreen content, SEO for Substack, newsletter growth, Notes strategy, ghostwrite for, match someone's voice, write in the style of, newsletter monetization, paid subscribers, or any task involving Substack as a platform. Also trigger for general article/newsletter writing even if Substack isn't named explicitly, or when the user wants to adapt existing content (blog post, talk, thread) into newsletter or web post format. Do NOT use for generic blog post writing without a newsletter/Substack context (-> See samber/cc-skills@technical-article-writer skill).
48technical-article-writer
Write compelling technical articles and blog posts for developer audiences. Use this skill whenever the user asks to write a blog post, technical article, or any long-form technical content. Also trigger when the user says 'write about [technical topic]', 'help me draft an article', 'turn this into a blog post', 'write a post about', 'I want to publish something about', or mentions writing for a developer audience. Covers the full pipeline: idea sharpening, hook/title generation, article structure, body drafting, and editing. Even if the user just says 'I want to write about X' without specifying format, use this skill. Do NOT use for platform-specific optimization, newsletter strategy, or ghostwriting voice matching.
47press-release-writer
Write professional press releases for any occasion, media type, and country. Use when the user wants to write, draft, or improve a press release, communiqué de presse, media announcement, news release, or PR statement — including product launches, funding rounds, partnerships, crisis communications, earnings, executive hires, events, M&A, open source milestones, and media advisories. Covers all release types, media targets (print, digital/wire, broadcast, social/SMPR, trade press), and region-specific conventions (Western/Eastern Europe, Americas, Middle East, Africa, Asia, Oceania). Also trigger when the user says 'I need to announce something' or 'how do I tell the press about X.'
37crxjs
CRXJS Chrome extension development — true HMR for popup, options, content scripts, side panels, manifest-driven builds, dynamic content script imports (`?script`, `?script&module`), and `defineManifest` for type-safe manifests. Uses Vite as its build tool. Use when the user mentions CRXJS, crxjs, @crxjs/vite-plugin, 'extension with hot reload', 'HMR for chrome extension', or wants to set up a CRXJS-based Chrome extension project with any framework (React, Vue, Svelte, Solid, Vanilla). Also trigger when the user has an existing CRXJS project and wants to add features, fix HMR issues, or configure content scripts with CRXJS. For general Chrome extension architecture (messaging, CSP, storage, permissions) -> See `samber/cc-skills@chrome-extension` skill.
35