Convert approved articles into platform-optimized social posts. Multi-platform (Facebook, X/Twitter, LinkedIn, Bluesky, Threads). Legally defensible marketing copy—libel exposure is identical to article text. A/B test hooks. Metadata verified.
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Convert approved articles into platform-optimized social posts. Multi-platform (Facebook, X/Twitter, LinkedIn, Bluesky, Threads). Legally defensible marketing copy—libel exposure is identical to article text. A/B test hooks. Metadata verified.
Social Distributor Skill
Overview
Social Distributor transforms a published, fact-checked article into platform-optimized social media posts that drive traffic while maintaining legal defensibility.
Critical principle: Marketing copy is legally liable to the same libel/defamation standards as the article itself. A misleading social hook can expose the newsroom to legal risk even if the article is accurate.
This skill covers:
Platform-specific post optimization (Facebook, X/Twitter, LinkedIn, Bluesky, Threads)
Hook generation (surprising fact, question, local paradox)
Character limit optimization and platform formatting
Legal defensibility (avoid editorializing, motive attribution, unverified claims in the hook)
Longer engagement (likely to read 3–5 paragraph posts)
Heavy use of images/video
Post Format:
Element
Specification
Example
Hook (first 2 lines)
2–3 sentences; emotional appeal; no link in text
"We spent 6 months investigating a hidden problem affecting families in your area. Here's what we found."
Body (context)
3–5 sentences; summarize article, tease reveal; no spoilers
"Our team obtained internal documents showing..."
Image
1200×628px (16:9 ratio); avoid text overlay; attractive/surprising
High-quality photo from article or custom graphic
Link
Shortened URL at end (bit.ly, news.co/...)
"Read full investigation: [link]"
CTA (call-to-action)
"Read more," "Learn what we found," "See the full investigation" (not "Click here")
"Read the full investigation"
Hashtags
2–3 relevant (not #fb or platform meta-tags)
#Investigation #LocalNews #YourCity
Character Limit: None (Facebook de-prioritizes longer posts but doesn't truncate)
Example Post:
We spent 6 months investigating a hidden problem in your community.
We found: [one-sentence revelation].
Our reporters obtained internal documents showing [tease]. Here's what you need to know:
• [Key finding 1]
• [Key finding 2]
• [Call to action: Read full investigation]
Read the full investigation: [link]
#Investigation #LocalNews
X (formerly Twitter)
Audience Profile:
News junkies, journalists, engaged readers
Fast-moving feed; brevity rewarded
Retweets/shares crucial for reach
Prefer breaking-news or contrarian angles
Post Format:
Element
Specification
Example
Tweet 1 (hook)
280 chars max; one headline-like fact; no link
"Breaking: Municipal contracts worth $5M went to single vendor with no competitive bidding."
Tweet 2–3 (thread)
Build narrative; each tweet <280 chars; link at end
"We obtained city council records showing [detail]. [Link to article]"
Image
Optional (reduces text character count but increases engagement)
Social card/screenshot
Link format
Shortened (t.co auto-shortens; use bit.ly for tracking)
Standard news site link
Character Limit: 280 characters per tweet (including spaces, punctuation, links)
Threading Strategy:
Tweet 1 (hook):
Breaking: Municipal contracts worth $5M went to single vendor with no competitive bidding.
(137 chars)
Tweet 2 (data):
We obtained city council records revealing the vendor was awarded 47 of 50 contracts since 2020.
No other bidders were solicited.
(136 chars)
Tweet 3 (CTA):
Full investigation: [link]
Retweet Bait Tips:
Lead with surprising number or contradiction
Use "thread" format (encourages conversation)
Avoid qualifiers ("may," "might," "allegedly") until evidence presented
Tag relevant reporters/organizations (not spam)
LinkedIn
Audience Profile:
Professional/business audience
Longer form acceptable (up to 3,000 chars)
Prefer data, trends, industry analysis
Executive decision-makers, policy influencers
Post Format:
Element
Specification
Example
Opening hook
Professional tone; establish credibility/authority
"Our 6-month investigation into municipal procurement reveals systemic bias in contract awards."
Context/problem statement
2–3 sentences; why this matters to professionals
"In government, competitive bidding ensures fair resource allocation. When skipped, taxpayers lose."
Data/insight
3–5 bullet points; concrete findings
"• 94% of $5M in contracts awarded to one vendor • Zero competitive solicitations • Pattern consistent 2020–2024"
Takeaway
What should change; policy angle
"Governments must require competitive bidding documentation for all contracts >$50K."
Link
Full article link
"Read full analysis: [link]"
Image
Chart, graph, or data visualization (1200×628px)
Bar chart showing vendor concentration
Character Limit: 3,000 characters (includes spaces, line breaks)
Example Post:
Our 6-month investigation into municipal procurement reveals systemic bias in contract awards.
In government, competitive bidding ensures fair resource allocation. When skipped, taxpayers lose.
Key findings:
• 94% of $5M in contracts awarded to single vendor
• Zero competitive solicitations since 2020
• Pattern identified across 4 fiscal years
• Internal documents show decision-makers did not follow procurement policy
Governments must require competitive bidding documentation for all contracts >$50K. Transparency protects taxpayers.
Read the full analysis: [link]
Bluesky
Audience Profile:
Early-adopter tech/media professionals
Less algorithm-driven (chronological feed)
Prefer thoughtful, nuanced discussion
Smaller but engaged audience
Post Format:
Similar to X/Twitter but:
Slightly longer than Tweet (300 chars approx.)
More room for nuance and qualifiers
Less "breaking news" expected; more analysis
Threads encouraged (similar to Twitter)
Example Post:
We investigated municipal procurement over 6 months. Found: one vendor awarded 47 of 50 contracts worth $5M.
City council records show zero competitive bidding solicited. Either procurement policy wasn't enforced, or it was deliberately circumvented.
Full investigation: [link]
Threads (Meta's Twitter Alternative)
Audience Profile:
Overlaps with Facebook (Meta ecosystem)
Shorter attention span than Bluesky
Prefer visual posts; threads format encouraged
Growing but still niche
Post Format:
Treat like X/Twitter with Threads-specific features:
Longer character limit (500 chars per thread post)
Can build narrative across 10+ connected posts
Hashtags less important than X
Video performs well
Example Thread:
Post 1: "We spent 6 months investigating municipal contracts. What we found should alarm every taxpayer."
Post 2: "One vendor was awarded $5M across 47 contracts since 2020. Competitive bids? Zero."
Post 3: "City council records obtained by our reporters show procurement policy was either unenforced or deliberately bypassed."
Post 4: "The real question: was this negligence or corruption? Read our investigation: [link]"
Hook Generation Framework
Hook Types (with Legal Safeguards)
Hook Type
Pattern
Example
⚠️ Legal Risk
✅ Safe Version
Surprising Stat
"[Number]% of [X] shows [unexpected pattern]"
"94% of city contracts awarded to one vendor—zero competitive bids."
Low (if stat verified)
Same; fact from article
Question
"Did [decision-maker] know about [consequence]?"
"Did city council know competitive bidding was being skipped?"
MEDIUM (implies knowledge; avoids "deliberately" but hints at motive)
"City council records show competitive bidding was skipped. Why?" (observable fact, not motive)
"City claims fair procurement. Reality: one vendor got 94% of contracts."
Low (compares claimed vs. actual)
Same
Consequence Angle
"[X] means [Y impact] for [audience]."
"No competitive bidding means less oversight. Taxpayers lose."
Low (causal reasoning)
Same; state as analysis, not certainty
Human Impact
"[Group] affected by [finding]"
"5,000 families impacted by hidden water contamination—here's why."
Low (if specific, verifiable)
Confirm number before posting
Investigative Process
"We obtained [source]; here's what it shows:"
"We obtained 3 years of council records. Procurement is broken."
Low (if source real)
Same; link to source
Red-Flag Hook Language (AVOID)
Phrase
Why It's Risky
Safe Alternative
"City officials deliberately hid [fact]"
Attributes motive without stating evidence of intent
"City officials did not disclose [fact]" (observable action)
"Corruption uncovered"
Legal term; implies criminal intent (defamatory)
"Irregularities found in [specific process]"
"Mayor took bribes"
Explicit accusation; defamatory if unproven
"Mayor accepted $X from vendor; no disclosure filed" (observable fact)
"Taxpayers defrauded"
Assumes illegal intent; implies crime
"Taxpayers paid more due to [specific failure]"
"Cover-up"
Implies intent to hide; requires proof of motive
"Documents were not publicly disclosed" (observable)
"Mayor's cronies"
Character attack; not fact-based
"Contracts awarded to former mayor's business partner" (relationship is fact)
A/B Testing Framework
Test 2–3 hooks for the same article; measure click-through rate (CTR):
article:"Municipal Procurement Investigation"publish_date:"2025-04-01"platform:"Facebook"hook_a:text:"We spent 6 months investigating city contracts. What we found is shocking."post_date:"2025-04-01 09:00 AM"reach:5420clicks:127ctr:"2.3%"hook_b:text:"94% of city contracts went to one vendor. Zero competitive bids. Here's how it happened."post_date:"2025-04-01 11:00 AM"reach:6100clicks:289ctr:"4.7%"hook_c:text:"Your tax dollars: $5M to one vendor, no questions asked. Our investigation explains why."post_date:"2025-04-01 02:00 PM"reach:5900clicks:201ctr:"3.4%"winner:"hook_b"insights:"Specific data (94%, one vendor) outperforms vague language (shocking, questions asked)"
Repeat: Repost winning hook to other platforms with format adjustments.
OpenGraph & Metadata Verification
Social Card Requirements
When article is shared on Facebook, X, LinkedIn, the platform reads OpenGraph (OG) metadata:
OG Tag
Purpose
Specification
og:title
Headline for social card
50–65 chars; same or variant of article headline
og:description
Summary for social card
155–160 chars; compelling hook, not just first paragraph
og:image
Thumbnail image
1200×628px (16:9); JPG/PNG; <200KB; unique per article
og:type
Content type
"article" for news
og:url
Canonical URL
Full article URL; no tracking parameters in OG tag
Verification Checklist
<!-- Example OG tags in article HTML --><metaproperty="og:title"content="Municipal Contracts: One Vendor Received 94% of $5M Awards"><metaproperty="og:description"content="Our investigation reveals systemic procurement bias. City council records show zero competitive bidding over 4 years."><metaproperty="og:image"content="https://newsroom.org/images/article-2025-04-01-contracts.jpg"><metaproperty="og:url"content="https://newsroom.org/articles/2025-04-01-procurement-investigation.html"><metaproperty="og:type"content="article">
Test: Use Facebook Sharing Debugger (facebook.com/developers/tools/debug) to preview card.
og:image renders correctly (not distorted, not placeholder)
og:title displays (not truncated)
og:description visible (all 155–160 chars shown)
og:url links to correct article (no 404)
Character Limit Optimization
Conversion Chart by Platform
Platform
Limit
Strategy
Example
X/Twitter
280 chars
Brutal concision; use numbers; thread for context
"94% of $5M contracts to one vendor. Zero competitive bids." (67 chars)
Facebook
None
2–3 sentences + link + image (length doesn't matter, but ~200 chars for preview)
"We spent 6 months investigating municipal contracts. One vendor got 94%. We obtained the proof."
LinkedIn
3,000 chars
Use full allowance for context, data, analysis
Full paragraph + bullets + insight
Bluesky
~300 chars
Slightly more than X; allow nuance
"Our investigation: municipal contracts worth $5M awarded to single vendor. City claims fair procurement. Records show zero competitive bidding."
Threads
500 chars per post
Use threads for narrative; each post ~500 chars
5–10 connected posts, each building story
Optimization Rules:
X/Twitter: Count every character. Use numerals (94% not "ninety-four percent"). Cut articles ("the," "a"). Abbreviate ("muni" not "municipal").
Facebook: Assume first 200 chars visible in preview; hook hard, link at end.
LinkedIn: Use full space; data + insight beats brevity.
Bluesky/Threads: Treat like X but add 20–40 more characters for nuance.
Libel Safety in Marketing Copy
Legal Standard: Defamation
A social post is defamatory if it:
Makes a factual claim (not opinion)
About an identifiable person/entity
Is false
Is published (posted to social media = published)
Causes reputational harm
Is not protected speech (opinion, satire, true statement)
Marketing copy can be defamatory. Your headline can be accurate, but the social hook can be inaccurate or misleading.
Safe Phrasing Patterns
Risky Phrase
Safe Phrase
Why It's Safer
"Mayor took bribes"
"Mayor received $X from vendor; undisclosed in filings"
States observable facts; avoids criminal accusation