Social

01What is it?
Provides expert guidance for social media strategist. Its edge is a particular angle on social content, giving the agent tighter constraints than a plain social request.
02Inputs
Context for social content: your goals, audience, constraints, and any source material the skill asks for.
03Output
A ready-to-use result for social content: the analysis, copy, or recommendations the agent produces.
Install-only

Install as a package

Installs this one skill package for your coding agent, including any supporting files that skill ships with — not every skill in the repository. Read the tutorial.

Terminal
$ npx skills add coreyhaines31/marketingskills --skill social

Skill instructions

The instruction file for this skill. The skill also includes other files you need to install to use it.

SKILL.md

Social Content

You are an expert social media strategist. Your goal is to help create engaging content that builds audience, drives engagement, and supports business goals.

Before Creating Content

Check for product marketing context first: If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.

Gather this context (ask if not provided):

1. Goals

  • What's the primary objective? (Brand awareness, leads, traffic, community)
  • What action do you want people to take?
  • Are you building personal brand, company brand, or both?

2. Audience

  • Who are you trying to reach?
  • What platforms are they most active on?
  • What content do they engage with?

3. Brand Voice

  • What's your tone? (Professional, casual, witty, authoritative)
  • Any topics to avoid?
  • Any specific terminology or style guidelines?

4. Resources

  • How much time can you dedicate to social?
  • Do you have existing content to repurpose?
  • Can you create video content?

Platform Quick Reference

PlatformBest ForFrequencyKey Format
LinkedInB2B, thought leadership3-5x/weekCarousels, stories
Twitter/XTech, real-time, community3-10x/dayThreads, hot takes
InstagramVisual brands, lifestyle1-2 posts + Stories dailyReels, carousels
TikTokBrand awareness, younger audiences1-4x/dayShort-form video
FacebookCommunities, local businesses1-2x/dayGroups, native video

For detailed platform strategies: See references/platforms.md

For hashtag limits and character counts: See references/platform-limits.md


Content Pillars Framework

Build your content around 3-5 pillars that align with your expertise and audience interests.

Example for a SaaS Founder

Pillar% of ContentTopics
Industry insights30%Trends, data, predictions
Behind-the-scenes25%Building the company, lessons learned
Educational25%How-tos, frameworks, tips
Personal15%Stories, values, hot takes
Promotional5%Product updates, offers

Pillar Development Questions

For each pillar, ask:

  1. What unique perspective do you have?
  2. What questions does your audience ask?
  3. What content has performed well before?
  4. What can you create consistently?
  5. What aligns with business goals?

Hook Formulas

The first line determines whether anyone reads the rest.

Curiosity Hooks

  • "I was wrong about [common belief]."
  • "The real reason [outcome] happens isn't what you think."
  • "[Impressive result] — and it only took [surprisingly short time]."

Story Hooks

  • "Last week, [unexpected thing] happened."
  • "I almost [big mistake/failure]."
  • "3 years ago, I [past state]. Today, [current state]."

Value Hooks

  • "How to [desirable outcome] (without [common pain]):"
  • "[Number] [things] that [outcome]:"
  • "Stop [common mistake]. Do this instead:"

Contrarian Hooks

  • "Unpopular opinion: [bold statement]"
  • "[Common advice] is wrong. Here's why:"
  • "I stopped [common practice] and [positive result]."

For post templates and more hooks: See references/post-templates.md

For carousels (Instagram carousels, LinkedIn document posts): See references/carousel-frameworks.md — five slide-by-slide narrative architectures (Value-Stack, Problem-Proof, Hack List, Rant Callout, Demo Walkthrough) with framework selection guidance, per-slide copy slots, platform notes, and a production checklist. Pick the framework before writing slides.


Content Repurposing System

Turn one piece of content into many. The best social content isn't created from scratch — it's extracted from longer-form pillar content and adapted to each platform.

Blog Post → Social Content

PlatformFormat
LinkedInKey insight + link in comments
LinkedInCarousel of main points
Twitter/XThread of key takeaways
InstagramCarousel with visuals
InstagramReel summarizing the post

Podcast / Video → Social Content

Extract "content atoms" — self-contained moments from any long-form content that work on their own:

Atom TypeWhat to Look ForBest Platform
Quotable momentA bold claim, hot take, or memorable line (15-60 sec)Twitter/X, LinkedIn, TikTok
Story arcA complete mini-story with setup, conflict, resolution (60-90 sec)Instagram Reels, TikTok, YouTube Shorts
Tactical tipA specific how-to or framework explained clearly (30-60 sec)LinkedIn, YouTube Shorts
Controversial takeA contrarian opinion that sparks debateTwitter/X, LinkedIn
Data/stat calloutA surprising number or research findingLinkedIn carousel, Twitter/X
Behind-the-scenesAuthentic, unpolished momentsInstagram Stories, TikTok

Podcast repurposing workflow:

  1. Get transcript — use Whisper, Descript, or your podcast host's transcription
  2. Mark timestamps — flag the 5-10 best moments while listening or scanning transcript
  3. Extract clips — pull video/audio clips for each moment (Descript, Opus Clip, or manual)
  4. Write standalone captions — each clip needs context; don't assume the viewer heard the rest
  5. Add subtitles — most social video is watched without sound
  6. Schedule across 1-2 weeks — spread a single episode across multiple posts

Per episode, aim for:

  • 3-5 short video clips or audiograms (15-60 sec) for Reels/TikTok/Shorts
  • 1-2 LinkedIn text posts from key insights
  • 1 Twitter/X thread of takeaways
  • 1 carousel summarizing the main framework or list
  • 1 newsletter section or blog post from the best segment

Webinar / Live Event → Social Content

ExtractFormat
Key slides with commentaryLinkedIn carousel
Q&A highlightsTwitter/X thread
Speaker quotesQuote graphics for Instagram/LinkedIn
Audience reactions/poll resultsEngagement posts
Full recording → short clipsReels, TikTok, Shorts

Newsletter → Social Content

ExtractFormat
Main insightLinkedIn post
Curated links with commentaryTwitter/X thread
Data or statQuote graphic
Hot take or opinionTwitter/X post, LinkedIn

Repurposing Workflow

  1. Create pillar content (blog, video, podcast, webinar, newsletter)
  2. Extract content atoms (5-10 per piece — quotes, stories, tips, data)
  3. Adapt to each platform (format, length, and tone)
  4. Write standalone captions (each post must work without context)
  5. Schedule across the week (spread distribution, don't dump all at once)
  6. Update and reshare (evergreen content can repeat every 3-6 months)

Content Calendar Structure

Weekly Planning Template

DayLinkedInTwitter/XInstagram
MonIndustry insightThreadCarousel
TueBehind-scenesEngagementStory
WedEducationalTips tweetReel
ThuStory postThreadEducational
FriHot takeEngagementStory

Batching Strategy (2-3 hours weekly)

  1. Review content pillar topics
  2. Write 5 LinkedIn posts
  3. Write 3 Twitter threads + daily tweets
  4. Create Instagram carousel + Reel ideas
  5. Schedule everything
  6. Leave room for real-time engagement

Engagement Strategy

Daily Engagement Routine (30 min)

  1. Respond to all comments on your posts (5 min)
  2. Comment on 5-10 posts from target accounts (15 min)
  3. Share/repost with added insight (5 min)
  4. Send 2-3 DMs to new connections (5 min)

For surfacing which posts to comment on (top-10 daily lists, brand/competitor monitoring, intent-signal triage), see references/listening.md. Includes a scoring rubric and curl recipes for Reddit, Hacker News, and Bluesky.

Quality Comments

  • Add new insight, not just "Great post!"
  • Share a related experience
  • Ask a thoughtful follow-up question
  • Respectfully disagree with nuance

Building Relationships

  • Identify 20-50 accounts in your space
  • Consistently engage with their content
  • Share their content with credit
  • Eventually collaborate (podcasts, co-created content)

Analytics & Optimization

Metrics That Matter

Awareness: Impressions, Reach, Follower growth rate

Engagement: Engagement rate, Comments (higher value than likes), Shares/reposts, Saves

Conversion: Link clicks, Profile visits, DMs received, Leads attributed

Weekly Review

  • Top 3 performing posts (why did they work?)
  • Bottom 3 posts (what can you learn?)
  • Follower growth trend
  • Engagement rate trend
  • Best posting times (from data)

Optimization Actions

If engagement is low:

  • Test new hooks
  • Post at different times
  • Try different formats
  • Increase engagement with others

If reach is declining:

  • Avoid external links in post body
  • Increase posting frequency
  • Engage more in comments
  • Test video/visual content

Content Ideas by Situation

When You're Starting Out

  • Document your journey
  • Share what you're learning
  • Curate and comment on industry content
  • Engage heavily with established accounts

When You're Stuck

  • Repurpose old high-performing content
  • Ask your audience what they want
  • Comment on industry news
  • Share a failure or lesson learned

Scheduling Best Practices

When to Schedule vs. Post Live

Schedule: Core content posts, Threads, Carousels, Evergreen content

Post live: Real-time commentary, Responses to news/trends, Engagement with others

Queue Management

  • Maintain 1-2 weeks of scheduled content
  • Review queue weekly for relevance
  • Leave gaps for spontaneous posts
  • Adjust timing based on performance data

Reverse Engineering Viral Content

Instead of guessing, analyze what's working for top creators in your niche:

  1. Find creators — 10-20 accounts with high engagement
  2. Collect data — 500+ posts for analysis
  3. Analyze patterns — Hooks, formats, CTAs that work
  4. Codify playbook — Document repeatable patterns
  5. Layer your voice — Apply patterns with authenticity
  6. Convert — Bridge attention to business results

For the complete framework: See references/reverse-engineering.md


Short-Form Video (TikTok, Reels, Shorts)

Short-form video is the highest-reach format on every major platform. These frameworks apply whether you're creating for TikTok, Instagram Reels, or YouTube Shorts.

Platform Specs

PlatformOptimal LengthAspect RatioKey Difference
TikTok15-60 sec9:16Trending sounds, raw/authentic feel
Reels15-30 sec9:16Polished content, rewards saves/shares
Shorts30-60 sec9:16YouTube SEO applies, searchable titles

The 3-Second Rule

You have 3 seconds to stop the scroll. Every video needs three simultaneous hooks:

[VISUAL HOOK] + [VERBAL HOOK] + [TEXT OVERLAY]

All three should hit in the first second.

Video Structures

Problem-Solution (15-30 sec):

[0-3s]  Hook: State the problem
[3-10s] Agitate: Why it matters
[10-25s] Solution: Your method/product/tip
[25-30s] CTA: What to do next

List Format (30-60 sec):

[0-3s]  Hook: "X things that [outcome]"
[3-50s] Items: One every 5-8 seconds
[50-60s] CTA

Tutorial (30-60 sec):

[0-3s]  Hook: Show the end result first
[3-8s]  Overview: "Here's how..."
[8-50s] Steps: Quick, clear instructions
[50-60s] Result + CTA

Caption & Subtitle Best Practices

Captions increase watch time by 25-40%. Most social video is watched without sound.

  • MAX 2 lines on screen at once
  • 3-5 words per line
  • Bold, sans-serif font with black outline
  • Highlight key words in a different color
  • Match timing to speech exactly

Tools: CapCut (free), Descript, Captions.ai, Premiere Pro

Content Ideas by Type

Business TypeVideo Ideas
SaaSFeature demos (show outcome first), before/after, "Watch me do X in Y seconds"
E-commerceUnboxing, comparisons, how it's made, customer reviews
ServicesProcess reveals, client transformations, myth-busting
Personal brandLessons learned, controversial takes, day-in-the-life

Common Mistakes

  1. Slow hooks — don't build up to the point
  2. No text overlay — many watch without sound
  3. Poor audio — bad audio kills retention instantly
  4. Too long — if it can be shorter, make it shorter
  5. No CTA — tell viewers what to do
  6. Ignoring comments — engagement in first hour matters

For video hook formulas and scripting templates: See references/short-form-video.md


Task-Specific Questions

  1. What platform(s) are you focusing on?
  2. What's your current posting frequency?
  3. Do you have existing content to repurpose?
  4. What content has performed well in the past?
  5. How much time can you dedicate weekly?
  6. Are you building personal brand, company brand, or both?

Related Skills

  • copywriting: For longer-form content that feeds social
  • launch: For coordinating social with launches
  • emails: For nurturing social audience via email
  • marketing-psychology: For understanding what drives engagement

Supporting file: evals/evals.json

{
  "skill_name": "social",
  "evals": [
    {
      "id": 1,
      "prompt": "Help me create a LinkedIn content strategy. I'm a SaaS founder building in public and want to grow my personal brand to drive awareness for my product. I currently have 500 followers and post maybe once a week.",
      "expected_output": "Should check for product-marketing.md first. Should establish content pillars (3-5) appropriate for a SaaS founder building in public: industry insights, behind-the-scenes, educational content, personal stories, promotional (minimal). Should apply the platform quick reference for LinkedIn (3-5x/week recommended, carousels and stories perform well). Should provide hook formulas for LinkedIn posts. Should create a weekly content calendar. Should include engagement strategy (daily 30-min routine). Should address going from 1x/week to 3-5x/week with a batching strategy.",
      "assertions": [
        "Checks for product-marketing.md",
        "Establishes 3-5 content pillars",
        "Applies LinkedIn platform guidance",
        "Provides hook formulas",
        "Creates weekly content calendar",
        "Includes engagement strategy",
        "Addresses batching strategy for consistency",
        "Recommends increasing from 1x to 3-5x per week"
      ],
      "files": []
    },
    {
      "id": 2,
      "prompt": "Write me a Twitter/X thread about the lessons I learned bootstrapping my SaaS to $10k MRR. Include hooks and a CTA at the end.",
      "expected_output": "Should apply the hook formulas for a story hook (e.g., '6 months ago, I had $0 MRR. Today, I hit $10k.'). Should structure the thread following platform best practices: strong hook in tweet 1, each tweet should stand alone but flow together, use specific numbers and stories, end with a CTA. Should reference the content pillar this fits into (behind-the-scenes / founder journey). Should provide the actual thread content with 8-12 tweets. Should include engagement prompts.",
      "assertions": [
        "Applies hook formulas from the skill",
        "Uses a story hook for the first tweet",
        "Structures thread with standalone but flowing tweets",
        "Uses specific numbers and stories",
        "Ends with clear CTA",
        "Provides 8-12 tweet thread content",
        "Includes engagement prompts"
      ],
      "files": []
    },
    {
      "id": 3,
      "prompt": "i have a blog post that did really well. how do i turn it into social media content for multiple platforms?",
      "expected_output": "Should trigger on casual phrasing. Should apply the content repurposing system. Should use the Blog Post → Social Content mapping: LinkedIn (key insight post + carousel of main points), Twitter/X (thread of key takeaways), Instagram (carousel with visuals + Reel summarizing the post). Should follow the repurposing workflow: create pillar content → extract key insights (3-5) → adapt to each platform → schedule across the week. Should provide specific format recommendations per platform.",
      "assertions": [
        "Triggers on casual phrasing",
        "Applies content repurposing system",
        "Uses Blog Post → Social Content mapping",
        "Provides format for LinkedIn, Twitter/X, and Instagram",
        "Follows the repurposing workflow",
        "Extracts 3-5 key insights to repurpose",
        "Provides platform-specific format recommendations"
      ],
      "files": []
    },
    {
      "id": 4,
      "prompt": "My LinkedIn posts get like 200 impressions and almost no engagement. What am I doing wrong?",
      "expected_output": "Should apply the analytics and optimization section, specifically the 'if engagement is low' guidance. Should diagnose potential issues: weak hooks (first line not compelling), posting at wrong times, not engaging with others' content, poor formatting (no line breaks, walls of text), content not resonating with audience. Should recommend specific fixes: test new hook formulas, post at different times, increase engagement with others (the daily engagement routine), try different formats (carousels, stories). Should provide before/after hook examples.",
      "assertions": [
        "Applies analytics and optimization guidance",
        "Diagnoses potential engagement issues",
        "Addresses hook quality",
        "Addresses posting timing",
        "Recommends daily engagement routine",
        "Suggests trying different content formats",
        "Provides specific before/after hook examples"
      ],
      "files": []
    },
    {
      "id": 5,
      "prompt": "Help me reverse-engineer what's working for top creators in the DevTools space on Twitter. I want to understand their content patterns.",
      "expected_output": "Should apply the reverse engineering viral content framework. Should walk through the process: identify 10-20 top accounts in DevTools, collect high-performing posts, analyze patterns (hooks, formats, CTAs, topics, posting times), codify a playbook of repeatable patterns, then layer the user's authentic voice. Should provide specific guidance on what to look for in the analysis. Should recommend tools or methods for collecting the data.",
      "assertions": [
        "Applies reverse engineering viral content framework",
        "Walks through the full process (find, collect, analyze, codify, apply)",
        "Recommends identifying 10-20 accounts",
        "Describes what patterns to analyze",
        "Emphasizes layering authentic voice",
        "Provides data collection guidance"
      ],
      "files": []
    },
    {
      "id": 6,
      "prompt": "Write me a 5-email welcome sequence for new email subscribers who came from my LinkedIn audience.",
      "expected_output": "Should recognize this is an email sequence task, not social content. Should defer to or cross-reference the emails skill, which handles welcome sequences, drip campaigns, and lifecycle emails. May note the social-to-email bridge context but should make clear that emails is the right skill for writing email sequences.",
      "assertions": [
        "Recognizes this as email sequence work",
        "References or defers to emails skill",
        "Does not attempt to write email sequence using social content patterns",
        "May note social-to-email bridge context"
      ],
      "files": []
    },
    {
      "id": 7,
      "prompt": "I want to turn our new pricing guide into a LinkedIn carousel. It has 9 negotiation tactics for SaaS buyers. Help me structure the slides.",
      "expected_output": "Should load references/carousel-frameworks.md and pick a framework BEFORE writing slides — a list of 9 named tactics maps to Hack List (or Value-Stack; should justify the choice), not Rant Callout or Demo Walkthrough. Should produce a slide-by-slide structure: contrarian or exact-count cover (slide 1 written as a standalone scroll-stopper), one named tactic per slide, and a synthesis + single-CTA close. Should apply LinkedIn document-post notes (PDF upload, denser text tolerated, post text written as its own hook rather than 'see attached'). Should keep any count promised on the cover exactly delivered and flag that stats/claims must be real. Should mention judging performance on saves/completion rather than likes.",
      "assertions": [
        "Loads or applies the carousel-frameworks reference",
        "Selects an appropriate framework (Hack List or Value-Stack) with a stated reason before drafting slides",
        "Slide 1 is written as a standalone scroll-stopper with the count or contrarian claim",
        "One tactic/idea per slide, each named",
        "Final slide has a synthesis and exactly one CTA",
        "Applies LinkedIn document-post guidance (PDF, post text as its own hook)",
        "Does not invent stats or pad the tactic count"
      ],
      "files": []
    }
  ]
}

Supporting file: references/carousel-frameworks.md

Carousel Frameworks

Five slide-by-slide narrative architectures for carousels — Instagram carousels and LinkedIn document posts. Each framework is a different reason to keep swiping; picking the right one for the content matters more than polishing individual slides.

A carousel is not a blog post chopped into squares. It's a swipe-through with two jobs per slide: deliver one idea, and make the next swipe irresistible. These frameworks encode structures that show up repeatedly in high-performing carousels; treat them as starting structures to adapt, not rigid formulas — and expect to validate against your own analytics.

Picking a Framework

Your content is...UseWhy
A list of resources, tools, or tipsA: Value-StackCompleteness is the promise; the count is the hook
A personal result with a system behind itB: Problem-ProofProof opens and closes the loop; the system is the meat
Several named techniques on one themeC: Hack ListEach hack re-earns the swipe independently
A strong opinion about a common practiceD: Rant CalloutConviction is the content; structure keeps it fair
A product or workflow you can showE: Demo WalkthroughSeeing the steps is more persuasive than describing them

Two cross-framework rules before the specifics:

  • Slide 1 is the thumbnail. It competes in the feed alone, before anyone knows a carousel follows. Design and write it as a standalone scroll-stopper.
  • One visual template per carousel. Same layout, type scale, and palette on every interior slide. Variety between slides reads as clutter; consistency lets the content change while the frame stays still.

Framework A: Value-Stack (4–14 slides)

The "everything you need" carousel. Works because the cover makes a completeness claim — an exact count and an exact deliverable — and every swipe pays it down.

SlideJobPattern
1 — CoverState the exact count + exact deliverable. Specificity proves scale upfront."[N] [resource type] for [role/outcome]"
2 to N−1 — Value deliveryOne item or category per slide, 3–6 concrete sub-items each. Same visual template, zero filler slides."[Category/item] — [sub-items]"
N — CloseConvert the swipe-through into an action."[Action] for [the payoff]" — comment a keyword, follow, link in bio

Why the exact count matters: "27 free tools" outperforms "the best free tools" because a number is a checkable promise — the reader can verify you delivered. Rounding up with padding breaks the trust the count created.

SaaS example: "12 ChatGPT prompts for SaaS onboarding emails" → one prompt per slide with the use case → "Comment PROMPTS and I'll send the full doc."

Failure mode: filler slides to hit a bigger number. Cut to the real count; a tight 8 beats a padded 14.


Framework B: Problem-Proof (6–10 slides)

The "I did X, here's the system" carousel. The hook is a result stated as fact, not advice — and the final slide shows the receipt, closing the loop slide 1 opened.

SlideJobPattern
1 — HookA specific personal claim with a number. A result, not a tip."[I/we did X]. [Specific result, with number]."
2 — Reframe the problemName what's actually going wrong so the reader recognizes themselves."The real problem — [named issue]"
3–4 — The mechanismShow the real system: named tools, named steps. Concrete beats vague."The system — [named tools/steps]"
5 to N−1 — The detailThe literal prompt text, template, or step-by-step. This is the save-worthy part."[The literal prompt or process detail]"
N — ProofThe actual output artifact. A screenshot, not a description."[Screenshot of output] — the receipt"

The open loop is the engine: slide 1 makes a claim, the last slide proves it, and everything between explains how. Readers swipe to see whether the receipt is real.

SaaS example: "We cut churn 22% with one onboarding email." → the real problem (activation, not price) → the sequence structure → the literal email copy → the retention chart.

Failure mode: vague mechanism slides ("optimize your workflow") — if the middle slides don't name tools and steps, the proof slide reads as luck, not system.


Framework C: Hack List (6–10 slides)

The "numbered techniques" carousel. A contrarian cover creates status anxiety — most people are doing this wrong — and each numbered hack independently re-earns the swipe.

SlideJobPattern
1 — Contrarian hookA stat or claim implying most people fail at this."[Stat implying most people fail at X]"
2 — The problemWhy the common approach fails, ideally with an analogy."The problem — [why it fails]"
3 to N−1 — Numbered hacksOne named technique per slide. Bad-vs-good contrast makes each hack land instantly."Hack #[n] — [named technique]"
N — Synthesis + closeA one-line thesis tying the hacks together, then a save/share/follow CTA."[Thesis tying hacks together]" + [CTA]

Name every technique. "The 3-second rule" is shareable and memorable; "keep it short" is neither. Named techniques travel — people repeat them and credit the source.

SaaS example: "90% of trial emails never get opened." → why (they read like receipts, not messages) → Hack #1: The founder-from line, Hack #2: The one-question subject, ... → "Trial emails are conversations, not confirmations. Save this for your next sequence."

Failure mode: hacks that are restatements of each other. Each slide must survive alone — if two hacks collapse into one idea, merge them and go shorter.


Framework D: Rant Callout (4–8 slides)

The "someone had to say it" carousel. Personality-led and polarizing by design — the structure exists to keep the heat fair so it reads as conviction, not bitterness.

SlideJobPattern
1 — Provocative claimAn unpopular opinion or direct accusation about a common practice."Unpopular opinion — [common practice]"
2 to N−2 — Escalate the argumentSensory, specific detail. Show the offense; don't gesture at it abstractly. Each slide raises the stakes."[Escalating, specific complaint]"
N−1 — Fairness pivot"Don't get me wrong…" — clarify what you're not attacking. Anti-laziness, not anti-tool; anti-practice, not anti-person."The problem isn't [X], it's [Y]"
N — CloseFirm, personality-forward sign-off. Signed rants read as owned opinions; anonymous ones read as potshots."[Firm sign-off] — signed [name/persona]"

The fairness pivot is what makes it work. Without it you're yelling; with it you're drawing a precise line, and precise lines get quoted. It also pre-empts the top hostile comment.

SaaS example: "Your AI-generated LinkedIn posts are costing you customers." → the specifics (same em-dash cadence, same 'game-changer' vocabulary, zero lived detail) → "Don't get me wrong — I use AI daily. The problem isn't the tool, it's publishing the first draft." → "Write like you talk. — [Name]"

Failure modes: skipping the pivot (reads unhinged, invites pile-ons), or ranting about something your own product/content visibly does (the comments will find it).


Framework E: Demo Walkthrough (5–11 slides)

The "watch it work" carousel for product or workflow content. Show the finished result first, then the steps — the outcome earns attention for the process.

SlideJobPattern
1 — Product + outcomeBrand/product plus the finished result. Lead with what they get."[Product] + [outcome], finished result"
2 — Problem it solvesThe specific frustration this replaces."[The specific pain this replaces]"
3 — Process overviewThe numbered step list, shown before the detail. Seeing the whole path lowers mid-swipe drop-off — readers commit when they know how long the road is."[N] steps to [outcome] in [timeframe]"
4 to N−1 — Step-by-stepOne real UI screenshot per step with a short caption. Real screenshots; mockups read as vaporware."Step [n] — [screenshot] — [caption]"
N — Result + positioningThe full-size output plus one brand-philosophy line."[Final output] + [positioning line]"

Overview-before-detail is the key move (same reason recipe sites list ingredients before instructions): a reader who's seen "4 steps, 10 minutes" on slide 3 will finish; a reader dropped straight into step 1 with no map bails at step 2.

SaaS example: "From CSV to live dashboard in 4 steps" → the pain (weekly manual reporting) → the 4-step overview → one screenshot per step → the finished dashboard + "Built for marketers, not analysts."

Failure mode: screenshots with too much UI. Crop to the action, zoom the relevant control, annotate with one arrow — each screenshot should make sense at thumbnail size.


Platform Notes

Instagram: 1080×1350 (4:5) slides; up to 20 slides but the frameworks' ranges above reflect where completion rates hold. The caption carries the searchable text — restate the hook and add context, don't just repeat slide 1. First slide doubles as the grid thumbnail.

LinkedIn (document posts): Upload as PDF. Square or 4:5. LinkedIn shows a "N pages" badge — Value-Stack's exact-count cover plays especially well here. B2B tolerates denser text per slide than Instagram, but the one-idea-per-slide rule still holds. The post text above the document is a second hook — write it as its own post, not a throwaway "see attached."

TikTok photo mode: Same frameworks work; pacing skews faster — trim each framework toward its minimum slide count.

Production Checklist

  • Slide 1 works as a standalone feed post (test: would it stop the scroll with no carousel behind it?)
  • One idea per slide — if a slide needs two sentences of setup, split it
  • Same visual template on every interior slide
  • Any count promised on the cover is exactly delivered (no filler, no rounding)
  • Claims and numbers are real and yours — no invented stats or borrowed screenshots
  • Text is legible at thumbnail size (minimum ~28pt at 1080px wide)
  • Final slide has one CTA, not three
  • Caption/post text written as its own hook, not a repeat of slide 1

Measuring What Worked

Judge carousels on saves and completion, not likes — saves signal reference value (the algorithmic win for carousels), and where per-slide analytics exist (Instagram professional insights, LinkedIn document analytics, or third-party tools), drop-off position tells you which slide broke the swipe chain. When a carousel underperforms, the fix is usually slide 1 (didn't stop the scroll) or the framework choice (list content forced into a rant structure), not the middle slides. Track per-framework performance and double down on the two that fit your audience — see reverse-engineering.md for the analysis workflow.


Supporting file: references/listening-sources-template.md

Listening Sources — Template

Copy this file to .agents/listening-sources.md in your project (or .claude/listening-sources.md) and fill in the brackets. Claude reads it when running the listening workflow (listening.md).

Delete sections you don't use. Keep this short and current — stale sources are worse than no sources.


What We're Listening For

Brand / product: [Your product name] Category: [e.g., "AI writing assistant", "Postgres GUI"] Goal: [e.g., "find people switching from Notion", "engage with B2B SaaS founders 50-200 employees"]

ICP (for scoring)

Used by the scoring rubric (listening.md#scoring-rubric) to judge ICP fit.

  • Role: [e.g., "founder, head of marketing, marketing ops lead"]
  • Company stage: [e.g., "seed to Series B SaaS, 10-200 employees"]
  • Industry: [e.g., "B2B SaaS, infra, devtools"]
  • Signals they're a fit: [e.g., "writes about GTM, runs paid ads, recently raised"]

Target Accounts

Engage with every post from these accounts when relevant. Keep this list to 20-50 max.

LinkedIn (browser-driven — use dev-browser to view feed)

  • [Name] — linkedin.com/in/handle
  • [Name] — linkedin.com/in/handle

X / Twitter (browser-driven)

  • [@handle]
  • [@handle]

Reddit

  • u/[username]
  • u/[username]

Bluesky

  • [handle.bsky.social]

Blogs / Newsletters (RSS)

  • [Name] — https://example.com/feed/
  • [Name] — https://example.substack.com/feed

YouTube channels (RSS)

  • [Name] — channel ID UCxxxxxxxx

Keywords (intent signals)

Search across all platforms. Claude runs these through Reddit, HN, Bluesky on the daily loop (listening.md#the-daily-triage-loop).

High-intent (someone shopping or switching)

  • "alternative to [competitor]"
  • "looking for a [category] tool"
  • "recommend a [category]"
  • "switching from [competitor]"
  • "frustrated with [competitor]"

Problem signals (someone in pain)

  • "[category] is so [bad/hard/expensive]"
  • "why is [category] [problem]"
  • "hate [pain point]"

Brand mentions

  • "[your brand]"
  • "[your brand misspelling]"
  • "[your domain]"

Competitor mentions (monitor for switching language)

  • "[competitor 1]"
  • "[competitor 2]"

Subreddits

Pulled via Reddit JSON API on the daily loop.

  • r/SaaS
  • r/Entrepreneur
  • r/[your niche, e.g., "marketing", "devtools"]
  • r/[adjacent community]

Saved Searches (manual / browser-driven)

URLs Claude opens via dev-browser to scan.

LinkedIn Sales Navigator

  • [Search name] — https://linkedin.com/sales/search/people?...

LinkedIn (regular)

  • Posts hashtag — https://linkedin.com/feed/hashtag/yourtopic/

X advanced search

  • [Search name] — https://x.com/search?q=...&f=live

Do Not Engage

Save yourself the regret.

  • Accounts known for bad-faith dunking: [@handle], [@handle]
  • Blocked brands / competitors who'll screenshot: [list]
  • Topics to avoid: [politics, [your founder's hot takes], etc.]

Notes for Claude


Supporting file: references/listening.md

Social Listening & Engagement Triage

How to surface the right posts to engage with each day — instead of randomly scrolling. The goal is a short, scorable list ("here are your top 10 posts to comment on") rather than an open feed.

Contents

  • When to use this
  • The daily triage loop
  • Scoring rubric
  • Comment quality tiers
  • Sources & light tooling (curl recipes)
  • Per-platform notes
  • Common workflows

When to Use This

Use listening when the goal is commenting and relationships, not posting. Typical asks:

  • "Give me the top 10 posts I should comment on today"
  • "Who's complaining about [competitor] right now?"
  • "Find people asking for a tool like mine"
  • "Surface posts from my 20 target accounts in the last 24h"
  • "What's the conversation around [topic] this week?"

If the user wants to create content, use the rest of the social skill. Listening feeds creation (it surfaces angles, language, objections), but the output is different.


The Daily Triage Loop

A repeatable 20-minute loop the user (or you, on their behalf) can run each morning.

  1. Pull — fetch new posts from defined sources (target accounts, keywords, subreddits, hashtags). See tooling (#sources--light-tooling-curl-recipes).
  2. Filter — drop anything older than 24h, low signal, or off-topic.
  3. Score — apply the rubric (#scoring-rubric). Keep top 10.
  4. Draft — for each, draft a comment matched to the post's tier.
  5. Post — user reviews, edits, posts. Mark which actually went live.
  6. Log — track what you commented on and what got replies. This is your engagement loop dataset.

Output format Claude should produce:

TOP 10 POSTS — 2026-06-05

1. [Score 9/10] @author — LinkedIn — 2h ago
   "We just rolled out X and the team is loving it…"
   Why: ICP fit (B2B SaaS, 50–200 employees), buying-intent signal
   Suggested comment: [draft]
   Link: https://…

Scoring Rubric

Score each post 1–10 across five dimensions, then sum and rank.

DimensionWhat it measuresWeight
ICP fitIs the author your target customer / influencer?2x
Intent signalAre they expressing a problem, asking, or shopping?2x
Reach potentialIs the post getting traction (likes/comments rising)?1x
Comment opportunityCan you say something genuinely useful, not generic?2x
RecencyPosted in last 1–4h (early comments win, especially on LinkedIn)1x

Intent signal examples (high-value):

  • "Looking for a tool that does X"
  • "Why is [category] so painful?"
  • "We just switched from [competitor] because…"
  • "Anyone use [competitor] — is it worth it?"
  • A complaint about a known competitor

Drop if any of these are true:

  • Author isn't ICP and isn't an influencer
  • Post is >24h old and already has 50+ comments (your comment buries)
  • Generic motivational/AI-slop post
  • Self-promotion thread where comments don't get reach
  • You can't add anything beyond "Great post!"

Comment Quality Tiers

Match the comment to the post. Don't waste a tier-1 draft on a tier-3 opportunity.

Tier 1 — Relationship builder (target accounts, ICP, high intent)

  • Add a specific insight or counter-example
  • Reference your own experience with specifics (numbers, names, outcomes)
  • Ask a thoughtful follow-up that invites a reply
  • Length: 2–4 sentences, no link

Tier 2 — Visibility play (high-reach post, adjacent topic)

  • Add one sharp insight in one sentence
  • Pattern: "Agreed — and the part most miss is [X]"
  • Length: 1–2 sentences

Tier 3 — Light touch (relationship maintenance)

  • Specific reaction, not "Love this"
  • Quote a specific line and react to it
  • Length: 1 sentence

Never: "Great post!", emoji-only, "+1", LinkedIn-isms like "This is gold 🔥"


Sources & Light Tooling (curl recipes)

These are public JSON endpoints — no auth needed. Run them from bash, pipe to jq, and Claude can parse the output to score and draft comments.

Requires: jq (most recipes) and xmllint (RSS only). Install once:

# macOS
brew install jq
# xmllint ships with macOS; on Linux: apt install libxml2-utils

Reddit (free, scriptable)

New posts in a subreddit:

curl -s -A "listening/1.0" \
  "https://www.reddit.com/r/SaaS/new.json?limit=25" \
  | jq '.data.children[].data | {title, author, url: ("https://reddit.com"+.permalink), score, num_comments, created_utc, selftext: (.selftext | .[0:300])}'

Search across Reddit by keyword (last day, sorted new):

curl -s -A "listening/1.0" \
  "https://www.reddit.com/search.json?q=KEYWORD&sort=new&t=day&limit=25" \
  | jq '.data.children[].data | {subreddit, title, url: ("https://reddit.com"+.permalink), author, score, created_utc}'

Swap KEYWORD for things like "alternative to notion", "recommend a crm", your competitor names, or your own brand for mentions. Use quotes around multi-word phrases.

Hacker News (Algolia search)

Recent stories mentioning a keyword (last 24h):

SINCE=$(($(date +%s) - 86400))
curl -s "https://hn.algolia.com/api/v1/search_by_date?query=KEYWORD&tags=story&numericFilters=created_at_i>${SINCE}" \
  | jq '.hits[] | {title, url, author, points, num_comments, created_at, story_id: .objectID, hn_url: ("https://news.ycombinator.com/item?id="+.objectID)}'

Recent comments mentioning a keyword:

curl -s "https://hn.algolia.com/api/v1/search_by_date?query=KEYWORD&tags=comment&numericFilters=created_at_i>${SINCE}" \
  | jq '.hits[] | {author, comment_text, story_title, hn_url: ("https://news.ycombinator.com/item?id="+.objectID)}'

Bluesky (free, public API)

Search posts by keyword:

curl -s "https://public.api.bsky.app/xrpc/app.bsky.feed.searchPosts?q=KEYWORD&limit=25&sort=latest" \
  | jq '.posts[] | {author: .author.handle, text: .record.text, likes: .likeCount, replies: .replyCount, url: ("https://bsky.app/profile/"+.author.handle+"/post/"+(.uri | split("/") | last))}'

RSS for blogs, podcasts, YouTube channels

For target accounts that publish to RSS (most blogs, all YouTube channels):

# YouTube channel feed (replace CHANNEL_ID)
curl -s "https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID"

# Generic blog feed
curl -s "https://example.com/feed/" | xmllint --xpath "//item[position()<6]" - 2>/dev/null

LinkedIn & X — use the browser

LinkedIn and X don't expose useful public APIs, but you can drive a real browser session. dev-browser (MCP, already in the global setup) and Playwright both maintain persistent state — log in once, the session stays alive, Claude can navigate the authenticated feed.

dev-browser workflow (preferred — already wired up):

  1. User logs into LinkedIn / X once in the dev-browser session
  2. Claude navigates to a target URL (feed, profile, saved search, hashtag)
  3. Claude reads the accessibility tree / page text, extracts posts
  4. Claude scores using the rubric (#scoring-rubric) and drafts comments
  5. User reviews and posts manually (don't auto-post — high-stakes, bot detection risk)

Useful URLs to feed dev-browser:

URL patternWhat it shows
linkedin.com/in/HANDLE/recent-activity/all/A target account's recent posts
linkedin.com/feed/hashtag/TOPIC/Hashtag feed
linkedin.com/feed/Your main feed (algorithmic — less useful for triage)
x.com/HANDLEA target account's profile
x.com/search?q=QUERY&f=liveReal-time search (use f=live for chronological)
x.com/i/lists/LIST_IDA curated list — best for target accounts

Tips:

  • On X, build a private list of target accounts and use the list URL. Far cleaner than the algorithmic feed.
  • LinkedIn's /recent-activity/all/ URL is the cleanest way to see one person's posts without the algorithm.
  • For both platforms, scroll programmatically (dev-browser supports it) to load more posts before extracting.

Paid alternatives if you don't want to drive a browser:

PlatformTools
LinkedInSales Navigator (saved searches), Taplio (engagement)
XTweetDeck/X Pro (saved columns), Typefully, Taplio, Tweet Hunter

Still closed (no good path):

  • Instagram & TikTok — closed APIs, browser automation is detectable and risky. Use native saved searches / hashtag follows.

Per-Platform Notes

LinkedIn

  • Browser-driven (dev-browser with persistent session) — see LinkedIn & X — use the browser (#linkedin--x--use-the-browser)
  • First-hour comments matter most — algorithm weights early engagement heavily. Prioritize posts <2h old from target accounts.
  • Comments with 5+ words get more reach than reactions
  • Replying to other commenters can put you in front of their network
  • Tag the author in your reply only if it adds context

Twitter/X

  • Browser-driven (dev-browser) — build a private list of target accounts and point dev-browser at the list URL
  • Reply within first 30 min for max reach on big accounts
  • Quote-tweet > reply when adding substantial value
  • Threading your reply (multi-tweet) signals effort
  • Don't pile on dunks — relationships > clout

Reddit

  • Read the subreddit rules before commenting (some ban self-promotion outright)
  • Earn karma in the sub before linking to anything you own
  • Long, specific answers win. AMAs and "help me decide" threads are gold
  • Never lead with your product — answer the question first

Hacker News

  • Comment quality bar is high; low-effort gets downvoted fast
  • Founders commenting on threads about their product is welcomed if you're transparent
  • Search for past discussions of your category — they're often dormant gold mines

Bluesky

  • Smaller volume but high engagement-to-follower ratio
  • Tech and indie-hacker communities are active
  • Custom feeds (like Bluesky's "Following" + topic feeds) replace algorithmic search

Common Workflows

"Give me my top 10 posts to comment on today"

  1. Pull from: target account RSS/saved searches + Reddit (relevant subs) + HN (last 24h)
  2. Score with the rubric (#scoring-rubric)
  3. Output top 10 with suggested comments

"Find people complaining about [competitor]"

  1. Reddit search: "competitor name" -site:competitor.com sorted by new
  2. HN comment search for competitor name
  3. Bluesky search for competitor handle/name
  4. Score by intent signal (high if switching language: "moving from", "alternatives to", "frustrated with")

"Surface brand mentions from the last week"

  1. Reddit search for brand name
  2. HN search (stories + comments) for brand name
  3. Bluesky search for brand name + handle
  4. Output as: reply needed (yes/no), tone (positive/negative/neutral), suggested response

"Find target-account posts I missed"

  1. Maintain a list of target accounts with their RSS / Reddit usernames / Bluesky handles
  2. Fetch each source's recent posts
  3. Filter to last 24h, output sorted by score

Setting Up the Source List

The user should maintain a list of sources somewhere persistent at .agents/listening-sources.md (or .claude/listening-sources.md). Claude reads it when running the daily loop.

A ready-to-fill template lives at listening-sources-template.md. Copy it into the project and edit. The source path depends on how the skill was installed:

# Plugin / marketplace install (most common):
cp .agents/skills/social/references/listening-sources-template.md .agents/listening-sources.md
# .claude/ install:
cp .claude/skills/social/references/listening-sources-template.md .agents/listening-sources.md
# Working inside the marketingskills repo:
cp skills/social/references/listening-sources-template.md .agents/listening-sources.md

The template covers: brand/category, ICP (for scoring), target accounts per platform, intent keywords, subreddits, saved-search URLs, and a do-not-engage list.


Supporting file: references/platform-limits.md

Platform Limits Reference

Quick reference for hashtag limits, character counts, and visible text thresholds on each major social platform.


Instagram

ElementLimit
Max hashtags5 (official limit)
Recommended hashtags3 – 5
Max caption chars2,200
Visible before "more"~125 chars

Facebook

ElementLimit
Max hashtagsNo official limit
Recommended hashtags1 – 2
Max post chars63,206
Ideal for engagement40 – 80 chars

TikTok

ElementLimit
Max hashtags5 (since August 2025)
Recommended hashtags3 – 5
Max caption chars4,000
Visible before "more"~150 chars

LinkedIn

ElementLimit
Max hashtagsNo official limit
Recommended hashtags3 – 5
Max post chars3,000
Visible before "more"~210 chars

Twitter/X

ElementLimit
Max hashtagsNo official limit
Recommended hashtags1 – 2
Max tweet chars280 (standard) / 25,000 (Premium+)
Visible before "more"Full tweet (280 standard)

YouTube

ElementLimit
Max hashtags15 (exceeding this causes YouTube to ignore ALL hashtags)
Recommended hashtags3 – 5
Max title chars100 (visible before truncation: ~70)
Max description chars5,000
Visible before "Show more"~100 chars

The first 3 hashtags in the description automatically appear above the title as clickable links. For Shorts, use 1 – 5 hashtags.


Pinterest

ElementLimit
Max hashtags20 per pin
Recommended hashtags2 – 5
Max pin title chars100
Max description chars500
Visible before "More"~50 chars (desktop)

Pinterest has deprioritized hashtags. Focus on keywords as natural sentences within the description for better SEO instead of relying on hashtags.


Threads (Meta)

ElementLimit
Max hashtags1 per post (topic tag)
Recommended hashtags1
Max post chars500
Max with text attachment10,500 (500 + 10,000 expandable)
Visible without expandingFirst ~1 – 2 lines

Threads limits topic tags to one per post. The platform is not hashtag-driven — the algorithm prioritizes content from followed accounts mixed with recommendations.


Usage Tips

  • Hashtags count against character limits on all platforms
  • Front-load your message before the "more" truncation point
  • On Instagram and TikTok, fewer hashtags now outperform hashtag-stuffing
  • On LinkedIn, hashtags at the end of the post perform better than inline
  • On Facebook, hashtags have minimal impact on reach — use sparingly

Supporting file: references/platforms.md

Platform-Specific Strategy Guide

Detailed strategies for each major social platform.

Contents

  • LinkedIn
  • Twitter/X
  • Instagram
  • TikTok
  • Facebook

LinkedIn

Best for: B2B, thought leadership, professional networking, recruiting Audience: Professionals, decision-makers, job seekers Posting frequency: 3-5x per week Best times: Tuesday-Thursday, 7-8am, 12pm, 5-6pm

What works:

  • Personal stories with business lessons
  • Contrarian takes on industry topics
  • Behind-the-scenes of building a company
  • Data and original insights
  • Carousel posts (document format)
  • Polls that spark discussion

What doesn't:

  • Overly promotional content
  • Generic motivational quotes
  • Links in the main post (kills reach)
  • Corporate speak without personality

Format tips:

  • First line is everything (hook before "see more")
  • Use line breaks for readability
  • 1,200-1,500 characters performs well
  • Put links in comments, not post body
  • Tag people sparingly and genuinely

Algorithm tips:

  • First hour engagement matters most
  • Comments > reactions > clicks
  • Dwell time (people reading) signals quality
  • No external links in post body
  • Document posts (carousels) get strong reach
  • Polls drive engagement but don't build authority

Twitter/X

Best for: Tech, media, real-time commentary, community building Audience: Tech-savvy, news-oriented, niche communities Posting frequency: 3-10x per day (including replies) Best times: Varies by audience; test and measure

What works:

  • Hot takes and opinions
  • Threads that teach something
  • Behind-the-scenes moments
  • Engaging with others' content
  • Memes and humor (if on-brand)
  • Real-time commentary on events

What doesn't:

  • Pure self-promotion
  • Threads without a strong hook
  • Ignoring replies and mentions
  • Scheduling everything (no real-time presence)

Format tips:

  • Tweets under 100 characters get more engagement
  • Threads: Hook in tweet 1, promise value, deliver
  • Quote tweets with added insight beat plain retweets
  • Use visuals to stop the scroll

Algorithm tips:

  • Replies and quote tweets build authority
  • Threads keep people on platform (rewarded)
  • Images and video get more reach
  • Engagement in first 30 min matters
  • Twitter Blue/Premium may boost reach

Instagram

Best for: Visual brands, lifestyle, e-commerce, younger demographics Audience: 18-44, visual-first consumers Posting frequency: 1-2 feed posts per day, 3-10 Stories per day Best times: 11am-1pm, 7-9pm

What works:

  • High-quality visuals
  • Behind-the-scenes Stories
  • Reels (short-form video)
  • Carousels with value
  • User-generated content
  • Interactive Stories (polls, questions)

What doesn't:

  • Low-quality images
  • Too much text in images
  • Ignoring Stories and Reels
  • Only promotional content

Format tips:

  • Reels get 2x reach of static posts
  • First frame of Reels must hook
  • Carousels: 10 slides with educational content
  • Use all Story features (polls, links, etc.)

Algorithm tips:

  • Reels heavily prioritized over static posts
  • Saves and shares > likes
  • Stories keep you top of feed
  • Consistency matters more than perfection
  • Use all features (polls, questions, etc.)

TikTok

Best for: Brand awareness, younger audiences, viral potential Audience: 16-34, entertainment-focused Posting frequency: 1-4x per day Best times: 7-9am, 12-3pm, 7-11pm

What works:

  • Native, unpolished content
  • Trending sounds and formats
  • Educational content in entertaining wrapper
  • POV and day-in-the-life content
  • Responding to comments with videos
  • Duets and stitches

What doesn't:

  • Overly produced content
  • Ignoring trends
  • Hard selling
  • Repurposed horizontal video

Format tips:

  • Hook in first 1-2 seconds
  • Keep it under 30 seconds to start
  • Vertical only (9:16)
  • Use trending sounds
  • Post consistently to train algorithm

Facebook

Best for: Communities, local businesses, older demographics, groups Audience: 25-55+, community-oriented Posting frequency: 1-2x per day Best times: 1-4pm weekdays

What works:

  • Facebook Groups (community)
  • Native video
  • Live video
  • Local content and events
  • Discussion-prompting questions

What doesn't:

  • Links to external sites (reach killer)
  • Pure promotional content
  • Ignoring comments
  • Cross-posting from other platforms without adaptation

Supporting file: references/post-templates.md

Post Format Templates

Ready-to-use templates for different platforms and content types.

Contents

  • LinkedIn Post Templates (The Story Post, The Contrarian Take, The List Post, The How-To)
  • Twitter/X Thread Templates (The Tutorial Thread, The Story Thread, The Breakdown Thread)
  • Instagram Templates (The Carousel Hook, The Reel Script)
  • Hook Formulas (Curiosity Hooks, Story Hooks, Value Hooks, Contrarian Hooks, Social Proof Hooks)

LinkedIn Post Templates

The Story Post

[Hook: Unexpected outcome or lesson]

[Set the scene: When/where this happened]

[The challenge you faced]

[What you tried / what happened]

[The turning point]

[The result]

[The lesson for readers]

[Question to prompt engagement]

The Contrarian Take

[Unpopular opinion stated boldly]

Here's why:

[Reason 1]
[Reason 2]
[Reason 3]

[What you recommend instead]

[Invite discussion: "Am I wrong?"]

The List Post

[X things I learned about [topic] after [credibility builder]:

1. [Point] — [Brief explanation]

2. [Point] — [Brief explanation]

3. [Point] — [Brief explanation]

[Wrap-up insight]

Which resonates most with you?

The How-To

How to [achieve outcome] in [timeframe]:

Step 1: [Action]
↳ [Why this matters]

Step 2: [Action]
↳ [Key detail]

Step 3: [Action]
↳ [Common mistake to avoid]

[Result you can expect]

[CTA or question]

Twitter/X Thread Templates

The Tutorial Thread

Tweet 1: [Hook + promise of value]

"Here's exactly how to [outcome] (step-by-step):"

Tweet 2-7: [One step per tweet with details]

Final tweet: [Summary + CTA]

"If this was helpful, follow me for more on [topic]"

The Story Thread

Tweet 1: [Intriguing hook]

"[Time] ago, [unexpected thing happened]. Here's the full story:"

Tweet 2-6: [Story beats, building tension]

Tweet 7: [Resolution and lesson]

Final tweet: [Takeaway + engagement ask]

The Breakdown Thread

Tweet 1: [Company/person] just [did thing].

Here's why it's genius (and what you can learn):

Tweet 2-6: [Analysis points]

Tweet 7: [Your key takeaway]

"[Related insight + follow CTA]"

Instagram Templates

The Carousel Hook

[Slide 1: Bold statement or question]
[Slides 2-9: One point per slide, visual + text]
[Slide 10: Summary + CTA]

Caption: [Expand on the topic, add context, include CTA]

This is the generic shape. For five full slide-by-slide narrative architectures (Value-Stack, Problem-Proof, Hack List, Rant Callout, Demo Walkthrough) with selection guidance and per-slide copy slots, see carousel-frameworks.md.

The Reel Script

Hook (0-2 sec): [Pattern interrupt or bold claim]
Setup (2-5 sec): [Context for the tip]
Value (5-25 sec): [The actual advice/content]
CTA (25-30 sec): [Follow, comment, share, link]

Hook Formulas

The first line determines whether anyone reads the rest.

Curiosity Hooks

  • "I was wrong about [common belief]."
  • "The real reason [outcome] happens isn't what you think."
  • "[Impressive result] — and it only took [surprisingly short time]."
  • "Nobody talks about [insider knowledge]."

Story Hooks

  • "Last week, [unexpected thing] happened."
  • "I almost [big mistake/failure]."
  • "3 years ago, I [past state]. Today, [current state]."
  • "[Person] told me something I'll never forget."

Value Hooks

  • "How to [desirable outcome] (without [common pain]):"
  • "[Number] [things] that [outcome]:"
  • "The simplest way to [outcome]:"
  • "Stop [common mistake]. Do this instead:"

Contrarian Hooks

  • "Unpopular opinion: [bold statement]"
  • "[Common advice] is wrong. Here's why:"
  • "I stopped [common practice] and [positive result]."
  • "Everyone says [X]. The truth is [Y]."

Social Proof Hooks

  • "We [achieved result] in [timeframe]. Here's the full story:"
  • "[Number] people asked me about [topic]. Here's my answer:"
  • "[Authority figure] taught me [lesson]."

Supporting file: references/reverse-engineering.md

Reverse Engineering Viral Content

Instead of guessing what works, systematically analyze top-performing content in your niche and extract proven patterns.

Contents

  • The 6-Step Framework (Niche ID, Scrape, Analyze, Playbook, Layer Voice, Convert)
  • The Formula
  • Reverse Engineering Checklist

The 6-Step Framework

1. NICHE ID — Find Top Creators

Identify 10-20 creators in your space who consistently get high engagement:

Selection criteria:

  • Posting consistently (3+ times/week)
  • High engagement rate relative to follower count
  • Audience overlap with your target market
  • Mix of established and rising creators

Where to find them:

  • LinkedIn: Search by industry keywords, check "People also viewed"
  • Twitter/X: Check who your target audience follows and engages with
  • Use tools like SparkToro, Followerwonk, or manual research
  • Look at who gets featured in industry newsletters

2. SCRAPE — Collect Posts at Scale

Gather 500-1000+ posts from your identified creators for analysis:

Tools:

  • Apify — LinkedIn scraper, Twitter scraper actors
  • Phantom Buster — Multi-platform automation
  • Export tools — Platform-specific export features
  • Manual collection — For smaller datasets, copy/paste into spreadsheet

Data to collect:

  • Post text/content
  • Engagement metrics (likes, comments, shares, saves)
  • Post format (text-only, carousel, video, image)
  • Posting time/day
  • Hook/first line
  • CTA used
  • Topic/theme

3. ANALYZE — Extract What Actually Works

Sort and analyze the data to find patterns:

Quantitative analysis:

  • Rank posts by engagement rate
  • Identify top 10% performers
  • Look for format patterns (do carousels outperform?)
  • Check timing patterns (best days/times)
  • Compare topic performance

Qualitative analysis:

  • What hooks do top posts use?
  • How long are high-performing posts?
  • What emotional triggers appear?
  • What formats repeat?
  • What topics consistently perform?

Questions to answer:

  • What's the average length of top posts?
  • Which hook types appear most in top 10%?
  • What CTAs drive most comments?
  • What topics get saved/shared most?

4. PLAYBOOK — Codify Patterns

Document repeatable patterns you can use:

Hook patterns to codify:

Pattern: "I [unexpected action] and [surprising result]"
Example: "I stopped posting daily and my engagement doubled"
Why it works: Curiosity gap + contrarian

Pattern: "[Specific number] [things] that [outcome]:"
Example: "7 pricing mistakes that cost me $50K:"
Why it works: Specificity + loss aversion

Pattern: "[Controversial take]"
Example: "Cold outreach is dead."
Why it works: Pattern interrupt + invites debate

Format patterns:

  • Carousel: Hook slide → Problem → Solution steps → CTA
  • Thread: Hook → Promise → Deliver → Recap → CTA
  • Story post: Hook → Setup → Conflict → Resolution → Lesson

CTA patterns:

  • Question: "What would you add?"
  • Agreement: "Agree or disagree?"
  • Share: "Tag someone who needs this"
  • Save: "Save this for later"

5. LAYER VOICE — Apply Direct Response Principles

Take proven patterns and make them yours with these voice principles:

"Smart friend who figured something out"

  • Write like you're texting advice to a friend
  • Share discoveries, not lectures
  • Use "I found that..." not "You should..."
  • Be helpful, not preachy

Specific > Vague

❌ "I made good revenue"
✅ "I made $47,329"

❌ "It took a while"
✅ "It took 47 days"

❌ "A lot of people"
✅ "2,847 people"

Short. Breathe. Land.

  • One idea per sentence
  • Use line breaks liberally
  • Let important points stand alone
  • Create rhythm: short, short, longer explanation
❌ "I spent three years building my business the wrong way before I finally realized that the key to success was focusing on fewer things and doing them exceptionally well."

✅ "I built wrong for 3 years.

Then I figured it out.

Focus on less.
Do it exceptionally well.

Everything changed."

Write from emotion

  • Start with how you felt, not what you did
  • Use emotional words: frustrated, excited, terrified, obsessed
  • Show vulnerability when authentic
  • Connect the feeling to the lesson
❌ "Here's what I learned about pricing"

✅ "I was terrified to raise my prices.

My hands were shaking when I sent the email.

Here's what happened..."

6. CONVERT — Turn Attention into Action

Bridge from engagement to business results:

Soft conversions:

  • Newsletter signups in bio/comments
  • Free resource offers in follow-up comments
  • DM triggers ("Comment X and I'll send you...")
  • Profile visits → optimized profile with clear CTA

Direct conversions:

  • Link in comments (not post body on LinkedIn)
  • Contextual product mentions within valuable content
  • Case study posts that naturally showcase your work
  • "If you want help with this, DM me" (sparingly)

The Formula

1. Find what's already working (don't guess)
2. Extract the patterns (hooks, formats, CTAs)
3. Layer your authentic voice on top
4. Test and iterate based on your own data

Reverse Engineering Checklist

  • Identified 10-20 top creators in niche
  • Collected 500+ posts for analysis
  • Ranked by engagement rate
  • Documented top 10 hook patterns
  • Documented top 5 format patterns
  • Documented top 5 CTA patterns
  • Created voice guidelines (specificity, brevity, emotion)
  • Built template library from patterns
  • Set up tracking for your own content performance

Supporting file: references/short-form-video.md

Short-Form Video: Hooks, Scripts & Strategy

Detailed reference for creating short-form video content on TikTok, Instagram Reels, and YouTube Shorts.


Video Hook Library

Curiosity Hooks (Best for engagement)

The "Secret" Formula:

  • "The secret to [outcome] that nobody talks about"
  • "I found the hidden feature in [product/platform] that changes everything"
  • "I can't believe this actually works..."

The Unexpected Discovery:

  • "I tried [thing] for 30 days and I was NOT expecting this"
  • "This completely changed how I think about [topic]"
  • "Nobody talks about this, but..."

The Question:

  • "Why does nobody talk about this?"
  • "Am I the only one who didn't know this?"
  • "The reason [common thing] doesn't work is..."

Value Hooks (Best for saves)

The Promise:

  • "How to [achieve outcome] in [specific timeframe]"
  • "[Number] [things] that will [benefit]"
  • "Everything you need to know about [topic] in 60 seconds"

The Hack/Shortcut:

  • "[Outcome] hack that actually works"
  • "The [adjective] way to [outcome]"
  • "If you're struggling with [problem], watch this"

The Warning:

  • "Stop doing [common practice] — here's why"
  • "[Number] mistakes that are killing your [results]"
  • "Why [thing you think is good] is actually hurting you"

Story Hooks (Best for watch time)

The Transformation:

  • "3 months ago, I [bad state]. Today, I [good state]."
  • "Here's how I went from [before] to [after]"
  • "I used to think [old belief]. Then [event] changed everything."

The Failure:

  • "I made a huge mistake with [topic]"
  • "Here's why I stopped [common practice]"
  • "I lost [something significant] because of this mistake"

The Journey:

  • "So this just happened..."
  • "This changed everything for me"
  • "Let me tell you about the time I [interesting situation]"

Controversial Hooks (Best for comments)

  • "Unpopular opinion: [bold statement]"
  • "[Common advice] is actually wrong"
  • "I'm going to get hate for this, but..."
  • "Most [audience] get this completely wrong"

Scripting Template

## Video: [Working Title]

**Platform:** TikTok / Reels / Shorts
**Length:** XX seconds
**Format:** [Talking head / Slideshow / Demo / Screen recording]

### Hook (0-3 sec)
- Visual: [What viewer sees]
- Audio: [What they hear]
- Text overlay: [On-screen text]

### Body (3-X sec)
- [Timestamp] - [What happens/what you say]
- [Timestamp] - [Next beat]
- [Continue...]

### CTA (final 3-5 sec)
- Verbal: [What you say]
- Text: [On-screen text]
- Action: [Follow, comment, link in bio, etc.]

### Production Notes
- Music/sound: [Trending sound or music choice]
- B-roll needed: [List any clips needed]
- Graphics: [Any text animations or overlays]

Additional Video Structures

The Story Arc (45-60 sec)

[0-3s]  Hook: Tease the outcome
[3-15s] Setup: Context and stakes
[15-45s] Journey: What happened
[45-55s] Resolution: The result
[55-60s] Lesson/CTA

Best for: Personal stories, case studies, testimonials

The POV/Skit (15-30 sec)

[0-3s]  Setup: Text overlay sets the scene
[3-25s] Performance: Act out the relatable scenario
[25-30s] Punchline or twist

Best for: Relatable content, humor, niche communities


Visual Patterns

Talking Head

  • Good lighting (ring light or window light)
  • Eye contact with camera
  • Hand gestures for emphasis
  • Interesting background (bookshelf, plants, studio setup)

Slideshow/Carousel Video

  • Strong visual on each slide (2-4 seconds per slide)
  • Text overlays with key points
  • Consistent style/branding
  • Voiceover or trending sound

Screen Recording

  • Zoom in on important areas
  • Add cursor highlight or click animations
  • Keep movements smooth and intentional
  • Overlay your face in corner (optional but boosts engagement)

B-Roll Heavy

  • Show don't tell
  • Quick cuts (1-3 seconds per shot)
  • Match cuts to voiceover beats
  • Mix wide, medium, and close-up shots

Audio Strategy

When to Use Trending Sounds

  • Entertainment/lifestyle content where the sound fits your message
  • When the trend is still rising (check platform trending pages)
  • Don't use when it distracts from your message or is already declining

When to Use Original Audio

  • Educational content where you're speaking
  • Storytimes and personal narratives
  • Product demos and tutorials
  • Building a recognizable brand voice

Voiceover Tips

  • Speak slightly faster than normal conversation
  • Vary your tone — avoid monotone delivery
  • Pause for emphasis on key points
  • Record in a quiet space, use noise removal
  • AI voices work for faceless content (ElevenLabs, etc.)

Music Selection

  • Match energy to content (upbeat for tips, emotional for stories)
  • Avoid copyrighted music on Reels/Shorts
  • Use platform music libraries for safety
  • Lower music volume under voiceover (ducking)

Posting Strategy

Optimal Posting Times (test your audience)

PlatformBest Times (local)
TikTok7-9 AM, 12-3 PM, 7-11 PM
Reels9 AM, 12 PM, 7-9 PM
Shorts12-3 PM, 7-9 PM

Frequency Recommendations

GoalMinimumOptimal
Growing1/day2-4/day
Maintaining3/week1/day
Testing2/week5/week

Batch Creation Workflow

  1. Ideate (30 min): Generate 10-20 concepts
  2. Script (1 hour): Write scripts for 5-10 videos
  3. Batch film (2 hours): Record all talking head content
  4. Edit (2-3 hours): Edit and add captions
  5. Schedule (30 min): Queue for optimal times

Analytics & Iteration

Metrics That Matter

MetricWhat It Tells You
Watch time %Is content engaging throughout?
Completion rateDid hook + content deliver?
SavesIs content valuable enough to revisit?
SharesIs content worth spreading?
CommentsDid content spark conversation?
FollowsDid viewer want more from you?

What to Test

  1. Hooks: Same content, different opening
  2. Length: 15 sec vs 30 sec vs 60 sec
  3. Format: Talking head vs slideshow vs demo
  4. Time: Morning vs afternoon vs evening
  5. CTA: Different calls to action

When to Pivot

  • 5+ videos with <1% completion rate → change hooks
  • High views but low follows → check CTA and content-audience fit
  • High saves but low shares → content is valuable but not social
  • Lots of comments but negative → lean into controversy or adjust tone

How do I install Social in Cursor, Claude Code, or Codex?

Run npx skills add coreyhaines31/marketingskills --skill social in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only Social, not every skill in the repository.

Where does Social come from and what license is it under?

Social comes from the coreyhaines31/marketingskills repository on GitHub. That repository has 35.7K GitHub stars. The skill is published under the MIT license.

Prefer plain text? Read the Social guide as markdown.