Ship long-form LinkedIn posts using hook formulas that actually performed in 2025-2026 (verified engagement multipliers).
CodeFormulaReference engBest forF1Platform Risk Anaphora4,240Category/platform posts, product-as-fixF2R.I.P. Obituary3,822Era-ending claims, industry pivotsF3Year-over-Year Pivot494, 3.74xIdentity shifts, founder reflectionF4Time-Anchor Confession1,519+Vulnerability, voice reset, ICP re-targetingF5Self-Proving Meta1,082 / 435 commentsCommitment-based posts, tests in publicF6Comment-Gate Lead Magnet717-3,008List building (use sparingly, capped reach)F7Odd-Precision Money Ledger1,755, 9.4xFounder build-log, cost breakdownsF8Paid-vs-Free Reversal550, 19.64xFree framework give-awayF9Curiosity-Gap Teaser306, 4.25xEmergent behavior, behind-the-scenesF10Contrarian + Historical Receipts3,083Sacred-cow takes, AI/tech cyclesF11Emotional Cold-Openhigh-reach*Real story with emotional stakes (likes)F12Permission Slipcomment-heavy*Encouragement, reassurance (comments)F13Bait-and-Switch Reversalhigh-reach*Policy/process change that's an upgrade (likes)F14Named Gratitude / Tributerepost-heavy*Thanking mentors / team / departing colleague (reposts)F15Explain-to-Kidssave-heavy*Demystifying jargon (saves)F16Status-Strip Humilitylike-heavy*Senior voice wanting warmth not distance (likes)
\* F11-F16 reach is absolute 2026-corpus reach (often source-driven: a reshare or a famous author), NOT a baseline multiplier like the F1-F10 numbers. The two columns measure different things and are not comparable: F11's "256k" is raw reach, F8's "550, 19.64x" is a format multiplier. Do not rank formulas by putting these side by side. See ../../references/hook-formulas.md for each formula's real reference and caveats.
Full skeletons in ../../references/hook-formulas.md. F1-F10 are the long-form thought-leadership set; F11-F16 (validated against a 2026 corpus of above-average performers) skew shorter and emotional and each carries a primary engagement goal.
If the user knows what they want the post to earn, start here, then narrow by topic. Canonical mapping: ../../references/hook-formulas.md → Engagement-goal split.
GoalReach forCommentsF4, F10, F12, F9RepostsF14, F2, F8LikesF11, F13, F16SavesF15, F7, F8
Gather inputs. Topic, angle, draft ideas if the user has them, target audience (founders / operators / marketers), desired length (short 300-500 / medium 900-1300 / long 1500-1900 chars).
Pick the formula. First ask (or infer) the goal: comments, reposts, likes, or saves. Use the "Pick by goal first" table to shortlist, then suggest 2-3 formulas that also fit the topic and let the user pick. Show the reference engagement number next to each.
Draft the post. Fill the formula skeleton with user voice. Respect the 2026 algorithm rules:
Humanizer pass. Strip em dashes, AI vocab, rule-of-three, generic openers. Add at least 1 specific number, 1 named entity, 1 first-person concrete detail per 100 words.
Run audit. Optionally invoke linkedin-humanizer --mode audit for algorithm + voice checks before showing to user.
Approval card. Show: formula used, full draft, char count, suggested posting window (Tue/Wed/Thu 7:30-9:00 AM local), reaction targets from likely commenters.
On approval. Call lib.publish(kind="post", draft_text=<approved>, target_url="https://www.linkedin.com/post/new/", platforms=[{"platform":"linkedin","platformId":<id>}], scheduled_time=<iso_or_None>, media_urls=<list_or_None>). The wrapper handles Publora / manual / diy routing.
Global voice rules: see root SKILL.md §Voice rules. Additional skill-specific rules:
../../references/hook-formulas.md — all 16 formula skeletons with worked examples../../references/algorithm-heuristics.md — 2026 posting rules (timing, format, length)references/humanizer-checklist.md — the full scrub listlinkedin-humanizer — aggressive AI-tell scrubber, plus --mode audit for pre-publish reviewlinkedin-hook-extractor — reverse-engineer a hook from a viral post you admire