linkedin-ghostwriting

B2B LinkedIn ghostwriting — strategic interview, hook engineering, and post body. Use when the user wants to write LinkedIn content, create ghostwritten posts, ghostwrite for a founder or executive, develop a B2B social strategy, or needs hooks, post structures, or copywriting frameworks for LinkedIn. Apply when the user shares a story, result, or insight and wants it turned into a post.

npx skills add https://github.com/samber/cc-skills --skill 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

More skills from samber

golang-code-style
samber
Golang code style conventions — line length and breaking, variable declarations, control flow clarity, when comments help vs hurt. Use when writing or reviewing Go code, asking about style or clarity, or establishing project coding standards. Not for naming conventions (→ See `samber/cc-skills-golang@golang-naming` skill), linter configuration (→ See `samber/cc-skills-golang@golang-lint` skill), or doc comments (→ See `samber/cc-skills-golang@golang-documentation` skill).
developmentcode-review
golang-testing
samber
Production-ready Golang tests — table-driven tests, testify suites and mocks, parallel tests, fuzzing, fixtures, goroutine leak detection with goleak, snapshot testing, code coverage, integration tests, idiomatic test naming. Use when writing or reviewing Go tests, choosing a testing approach, setting up Go test CI, or debugging flaky/slow tests. For testify-specific APIs see `samber/cc-skills-golang@golang-stretchr-testify`; for measurement methodology see...
developmenttestingcode-review
golang-design-patterns
samber
Idiomatic Golang design patterns — functional options, constructors, error flow and cascading, resource management and lifecycle, graceful shutdown, resilience, architecture, dependency injection, data handling, streaming, and more. Apply when explicitly choosing between architectural patterns, implementing functional options, designing constructor APIs, setting up graceful shutdown, applying resilience patterns, or asking which idiomatic Go pattern fits a specific problem.
developmentdesigncode-review
golang-error-handling
samber
Idiomatic Golang error handling — creation, wrapping with %w, errors.Is/As, errors.Join, custom error types, sentinel errors, panic/recover, the single handling rule, structured logging with slog, HTTP request logging middleware, and samber/oops for production errors. Built to make logs usable at scale with log aggregation 3rd-party tools. Apply when creating, wrapping, inspecting, or logging errors in Go code. For samber/oops specifics → See `samber/cc-skills-golang@golang-samber-oops`...
developmentcode-review
golang-performance
samber
Golang performance optimization patterns and methodology - if X bottleneck, then apply Y. Covers allocation reduction, CPU efficiency, memory layout, GC tuning, pooling, caching, and hot-path optimization. Use when profiling or benchmarks have identified a bottleneck and you need the right optimization pattern to fix it. Also use when performing performance code review to suggest improvements or benchmarks that could help identify quick performance gains. Not for measurement methodology (→...
developmentcode-review
golang-security
samber
Security best practices and vulnerability prevention for Golang. Covers injection (SQL, command, XSS), cryptography, filesystem safety, network security, cookies, secrets management, memory safety, and logging. Apply when writing, reviewing, or auditing Go code for security, or when working on any risky code involving crypto, I/O, secrets management, user input handling, or authentication. Includes configuration of security tools.
securitycode-reviewdevelopment
golang-database
samber
Comprehensive guide for Go database access — parameterized queries, struct scanning, NULLable columns, transactions, isolation levels, SELECT FOR UPDATE, connection pool, batch processing, context propagation, and migration tooling. Use when writing, reviewing, or debugging Golang code that interacts with PostgreSQL, MariaDB, MySQL, or SQLite; for database testing; or for questions about database/sql, sqlx, or pgx. Does NOT generate database schemas or migration SQL.
developmentdatabase
golang-lint
samber
Linting best practices and golangci-lint configuration for Golang projects — running linters, configuring .golangci.yml, suppressing warnings with nolint directives, interpreting lint output, and selecting linters. Use when configuring golangci-lint, asking about lint warnings or nolint suppressions, setting up code quality tooling, or choosing linters. Also use when the user mentions golangci-lint, go vet, staticcheck, or revive.
developmentcode-reviewtesting