Social Post Writer
Usage
Use when you have a topic and need social posts (no long-form source content required), filling gaps in a content calendar, testing messaging on a new topic, or generating variations to A/B test different angles.
Process
Step 1: Gather Inputs
Ask the user for:
- Topic or idea — what the post(s) should be about. Can be a single sentence, a specific angle, a question, or a brief with talking points.
- Template(s) to use (optional) — Story, Observation, Contrarian, Listicle, Past vs. Present, Hand-Raiser, Launch, Meme, Carousel, or "all" (default: first 5)
- Platform — LinkedIn, Twitter/X, or both (default: both)
- Voice/tone — who is the author, what's their tone (casual, professional, witty, provocative, etc.)
- Personal experience or proof points (optional) — anecdotes, numbers, or examples to weave in
- Number of posts (optional) — default: 5 (one per template)
- Constraints (optional) — things to avoid, compliance requirements
Step 2: Develop the Topic
Before writing, explore the topic to find angles:
- What's the core insight? — The one thing the audience should take away
- What problems does this solve? — Pain points the audience faces
- What's counterintuitive about this? — Any conventional wisdom that's wrong
- What's the proof? — Personal experience, data, examples, or observations
- What tools/resources relate? — Anything concrete to recommend
- What's changed over time? — How this topic has evolved
Present a brief angle summary to the user before generating posts. This ensures alignment and surfaces any personal stories or data points the user wants included.
Step 3: Generate Posts
Write one post per selected template. Each template has a distinct structure and emotional effect.
Template 1: Story
A personal narrative that leads to the topic's key insight. Highest engagement, hardest to write.
Emotional trigger: Entertains / Empathizes
Structure:
- Pain/Attention — Open with a specific, relatable moment. Not "I used to struggle with X" but the exact scene.
- Agitate — Make it worse. What happened when the problem continued?
- Intrigue — The turning point. What changed?
- Positive Future — The result. Specific outcomes — numbers, feelings, changes.
- Solution — The actionable takeaway.
Rules:
- First person. Real or realistic scenarios.
- Opening line must stop the scroll.
- Short paragraphs. One idea per line.
- The insight must feel earned through the narrative.
Template 2: Observation
A pattern or insight you've noticed, backed by specifics.
Emotional trigger: Teaches / Makes me think
Structure:
- Observation — One clear, specific thing you've noticed.
- Evidence — 3-5 specific, concrete points.
- Closer — A punchy, quotable takeaway.
Template 3: Contrarian Take
Challenge something the audience assumes is true.
Emotional trigger: Makes me think / Empathizes
Structure:
- The take — State the contrarian position in one sentence.
- Why the conventional view is wrong — 2-3 reasons.
- The reframe — A new way to think about it.
Rules:
- Must be genuinely surprising. "Work smarter not harder" is not contrarian.
- Support with logic, experience, or evidence — not just attitude.
Template 4: Listicle
A curated list of tips, tools, resources, or lessons.
Emotional trigger: Teaches
Structure:
- Frame — "X [things] every [audience] should [know/use/avoid]:"
- List — Each item: name/label + one-line description. Consistent format.
- Closer — Optional recommendation or CTA.
Rules:
- Each item scannable in under 5 seconds.
- Odd numbers (5, 7, 9) tend to outperform even.
- Put the most surprising item at #1 or last position.
Template 5: Past vs. Present
Show transformation over time.
Emotional trigger: Entertains / Teaches
Structure:
- Then — The old way. 3-5 bullet points.
- Now — The new way. 3-5 bullet points (matching structure).
- Lesson — One word or short phrase.
Rules:
- Parallel structure is critical.
- Be specific. "$2K/month" beats "less money."
- The lesson line should land like a punchline.
Template 6: Hand-Raiser
Generate comments from interested readers, then DM them a free resource.
Emotional trigger: Teaches / Empathizes
Structure:
- Personal struggle — Open with a relatable problem (2-3 short lines)
- Transformation — What changed, with specific numbers and timeframe
- The offer — A free resource that breaks down your process
- Relief statement — 3 things they WON'T have to do (lowers friction)
- Fascinations — 5-7 curiosity-gap bullets about what's inside
- CTA —
Drop "[WORD]" below and I'll DM it to you
Rules:
- Fascinations are NOT feature bullets. They are curiosity gaps.
- The relief statement matters — telling people what they won't need to do reduces perceived cost.
- One-page PDF is the ideal resource format.
Template 7: Launch / Doors Open
Promote a paid offer. Story-first, pitch-second.
Emotional trigger: Empathizes / Teaches
Structure:
- Hook (Line 1) — One short, scroll-stopping line. Never promotional.
- Curiosity inducer (Line 2) — Creates an open loop.
- Story (60-70% of the post) — Build tension, share a relatable struggle.
- Fascinations (3-5 bullets) — Curiosity-gap bullets, 10 words or fewer each.
- CTA — One clear action with the link.
Rules:
- 175-225 words total. Scannable in under 60 seconds.
- Story before pitch. The first 60-70% earns attention.
- Emoji: 0-2 max, in hook or CTA only.
Template 8: Meme
Turn a topic into a meme-format post.
Emotional trigger: Entertains
Structure:
- Choose a meme format — Match the topic's core tension to a template
- Write a 1-2 sentence caption — The meme image does the heavy lifting.
Rules:
- Standalone. Understandable without any other context.
- Use the audience's in-group language.
- Don't force it. If no natural meme angle exists, skip.
Template 9: Instagram Carousel
Multi-slide visual post optimized for swipe mechanic.
Emotional trigger: Teaches
Structure:
- Cover slide — Bold headline + subtitle (the hook)
- Content slides (5-8) — One point per slide, consistent design
- Summary slide — Recap key points
- CTA slide — Follow, save, share, or visit link
Rules:
- Square format (1080x1080).
- First slide is everything — if it doesn't hook, nobody swipes.
- Educational carousels get the highest save rates on Instagram.
Step 4: Platform Adaptation
Adapt each post for the target platform(s):
LinkedIn:
- First line shows above the fold — must earn the "see more" click
- Generous line breaks. One thought per line.
- Emojis: only if they match brand voice, sparingly
- Sweet spot: 800-1,300 characters
- End with a question to drive comments
Twitter/X:
- Single tweets: 280 characters max. Ruthlessly compress.
- Threads: first tweet stands alone. Each subsequent tweet adds one idea.
- No hashtags in the body.
- Observation and Listicle compress well into single tweets.
- Story and Contrarian Take are better as threads (3-7 tweets).
If generating for both platforms, produce separate versions — don't just trim one for the other.
Step 5: Review and Polish
For each post, check:
- Hook strength — Would you stop scrolling for the first line?
- Specificity — Replace any generic advice with concrete details.
- Voice match — Does it sound like the author, not like a template?
- Standalone test — Does the post make sense without any other context?
Output Format
# Social Posts: [Topic]
**Date:** [current date]
**Topic:** [topic or idea]
**Platform(s):** [LinkedIn / Twitter / Both]
**Templates Used:** [list]
**Posts Generated:** [count]
---
## Angle Summary
**Core insight:** [one sentence]
**Audience pain:** [what problem this addresses]
**Contrarian angle:** [if applicable]
**Proof available:** [personal story, data, examples]
---
## Post 1: Story
**Trigger:** [Entertains / Empathizes]
### LinkedIn
[Full post text]
### Twitter/X
[Full post or thread]
---
## Post 2: Observation
**Trigger:** [Teaches / Makes me think]
### LinkedIn
[Full post text]
### Twitter/X
[Full post text]
---
[Continue for all posts...]
---
## Trigger Balance
| Trigger | Count |
|---------|-------|
| Entertains | X |
| Teaches | X |
| Empathizes | X |
| Makes me think | X |
Rules
- The first line of every post is the post. If the hook doesn't work, nothing else matters.
- Specificity beats cleverness. "Save 12 hours/week on reporting" beats "Work smarter, not harder."
- Write in the audience's language. If they say "clients" not "customers," your post says "clients."
- Story posts require real (or realistic) personal experience. If the user doesn't provide anecdotes, ask for them.
- Not every template works for every topic. If there's no contrarian angle, skip Contrarian Take and generate a second Observation or Listicle instead.
- These templates are frameworks, not fill-in-the-blanks. The output should read like a human wrote it.
1---2name: social-post-writer3description: Use this skill to write platform-adapted social posts from a topic using story, observation, contrarian, listicle, past-versus-present, hand-raiser, launch, meme, and carousel templates. Trigger it when drafting new social posts without a long-form source to repurpose.4license: MIT5---67# Social Post Writer89## Usage1011Use when you have a topic and need social posts (no long-form source content required), filling gaps in a content calendar, testing messaging on a new topic, or generating variations to A/B test different angles.1213## Process1415### Step 1: Gather Inputs1617Ask the user for:181. **Topic or idea** — what the post(s) should be about. Can be a single sentence, a specific angle, a question, or a brief with talking points.192. **Template(s) to use** (optional) — Story, Observation, Contrarian, Listicle, Past vs. Present, Hand-Raiser, Launch, Meme, Carousel, or "all" (default: first 5)203. **Platform** — LinkedIn, Twitter/X, or both (default: both)214. **Voice/tone** — who is the author, what's their tone (casual, professional, witty, provocative, etc.)225. **Personal experience or proof points** (optional) — anecdotes, numbers, or examples to weave in236. **Number of posts** (optional) — default: 5 (one per template)247. **Constraints** (optional) — things to avoid, compliance requirements2526### Step 2: Develop the Topic2728Before writing, explore the topic to find angles:2930- **What's the core insight?** — The one thing the audience should take away31- **What problems does this solve?** — Pain points the audience faces32- **What's counterintuitive about this?** — Any conventional wisdom that's wrong33- **What's the proof?** — Personal experience, data, examples, or observations34- **What tools/resources relate?** — Anything concrete to recommend35- **What's changed over time?** — How this topic has evolved3637Present a brief angle summary to the user before generating posts. This ensures alignment and surfaces any personal stories or data points the user wants included.3839### Step 3: Generate Posts4041Write one post per selected template. Each template has a distinct structure and emotional effect.4243---4445#### Template 1: Story4647A personal narrative that leads to the topic's key insight. Highest engagement, hardest to write.4849**Emotional trigger:** Entertains / Empathizes5051**Structure:**521. **Pain/Attention** — Open with a specific, relatable moment. Not "I used to struggle with X" but the exact scene.532. **Agitate** — Make it worse. What happened when the problem continued?543. **Intrigue** — The turning point. What changed?554. **Positive Future** — The result. Specific outcomes — numbers, feelings, changes.565. **Solution** — The actionable takeaway.5758**Rules:**59- First person. Real or realistic scenarios.60- Opening line must stop the scroll.61- Short paragraphs. One idea per line.62- The insight must feel earned through the narrative.6364---6566#### Template 2: Observation6768A pattern or insight you've noticed, backed by specifics.6970**Emotional trigger:** Teaches / Makes me think7172**Structure:**731. **Observation** — One clear, specific thing you've noticed.742. **Evidence** — 3-5 specific, concrete points.753. **Closer** — A punchy, quotable takeaway.7677---7879#### Template 3: Contrarian Take8081Challenge something the audience assumes is true.8283**Emotional trigger:** Makes me think / Empathizes8485**Structure:**861. **The take** — State the contrarian position in one sentence.872. **Why the conventional view is wrong** — 2-3 reasons.883. **The reframe** — A new way to think about it.8990**Rules:**91- Must be genuinely surprising. "Work smarter not harder" is not contrarian.92- Support with logic, experience, or evidence — not just attitude.9394---9596#### Template 4: Listicle9798A curated list of tips, tools, resources, or lessons.99100**Emotional trigger:** Teaches101102**Structure:**1031. **Frame** — "X [things] every [audience] should [know/use/avoid]:"1042. **List** — Each item: name/label + one-line description. Consistent format.1053. **Closer** — Optional recommendation or CTA.106107**Rules:**108- Each item scannable in under 5 seconds.109- Odd numbers (5, 7, 9) tend to outperform even.110- Put the most surprising item at #1 or last position.111112---113114#### Template 5: Past vs. Present115116Show transformation over time.117118**Emotional trigger:** Entertains / Teaches119120**Structure:**1211. **Then** — The old way. 3-5 bullet points.1222. **Now** — The new way. 3-5 bullet points (matching structure).1233. **Lesson** — One word or short phrase.124125**Rules:**126- Parallel structure is critical.127- Be specific. "$2K/month" beats "less money."128- The lesson line should land like a punchline.129130---131132#### Template 6: Hand-Raiser133134Generate comments from interested readers, then DM them a free resource.135136**Emotional trigger:** Teaches / Empathizes137138**Structure:**1391. **Personal struggle** — Open with a relatable problem (2-3 short lines)1402. **Transformation** — What changed, with specific numbers and timeframe1413. **The offer** — A free resource that breaks down your process1424. **Relief statement** — 3 things they WON'T have to do (lowers friction)1435. **Fascinations** — 5-7 curiosity-gap bullets about what's inside1446. **CTA** — `Drop "[WORD]" below and I'll DM it to you`145146**Rules:**147- Fascinations are NOT feature bullets. They are curiosity gaps.148- The relief statement matters — telling people what they won't need to do reduces perceived cost.149- One-page PDF is the ideal resource format.150151---152153#### Template 7: Launch / Doors Open154155Promote a paid offer. Story-first, pitch-second.156157**Emotional trigger:** Empathizes / Teaches158159**Structure:**1601. **Hook** (Line 1) — One short, scroll-stopping line. Never promotional.1612. **Curiosity inducer** (Line 2) — Creates an open loop.1623. **Story** (60-70% of the post) — Build tension, share a relatable struggle.1634. **Fascinations** (3-5 bullets) — Curiosity-gap bullets, 10 words or fewer each.1645. **CTA** — One clear action with the link.165166**Rules:**167- 175-225 words total. Scannable in under 60 seconds.168- Story before pitch. The first 60-70% earns attention.169- Emoji: 0-2 max, in hook or CTA only.170171---172173#### Template 8: Meme174175Turn a topic into a meme-format post.176177**Emotional trigger:** Entertains178179**Structure:**1801. **Choose a meme format** — Match the topic's core tension to a template1812. **Write a 1-2 sentence caption** — The meme image does the heavy lifting.182183**Rules:**184- Standalone. Understandable without any other context.185- Use the audience's in-group language.186- Don't force it. If no natural meme angle exists, skip.187188---189190#### Template 9: Instagram Carousel191192Multi-slide visual post optimized for swipe mechanic.193194**Emotional trigger:** Teaches195196**Structure:**1971. **Cover slide** — Bold headline + subtitle (the hook)1982. **Content slides (5-8)** — One point per slide, consistent design1993. **Summary slide** — Recap key points2004. **CTA slide** — Follow, save, share, or visit link201202**Rules:**203- Square format (1080x1080).204- First slide is everything — if it doesn't hook, nobody swipes.205- Educational carousels get the highest save rates on Instagram.206207---208209### Step 4: Platform Adaptation210211Adapt each post for the target platform(s):212213**LinkedIn:**214- First line shows above the fold — must earn the "see more" click215- Generous line breaks. One thought per line.216- Emojis: only if they match brand voice, sparingly217- Sweet spot: 800-1,300 characters218- End with a question to drive comments219220**Twitter/X:**221- Single tweets: 280 characters max. Ruthlessly compress.222- Threads: first tweet stands alone. Each subsequent tweet adds one idea.223- No hashtags in the body.224- Observation and Listicle compress well into single tweets.225- Story and Contrarian Take are better as threads (3-7 tweets).226227If generating for both platforms, produce separate versions — don't just trim one for the other.228229### Step 5: Review and Polish230231For each post, check:232- **Hook strength** — Would you stop scrolling for the first line?233- **Specificity** — Replace any generic advice with concrete details.234- **Voice match** — Does it sound like the author, not like a template?235- **Standalone test** — Does the post make sense without any other context?236237## Output Format238239```240# Social Posts: [Topic]241242**Date:** [current date]243**Topic:** [topic or idea]244**Platform(s):** [LinkedIn / Twitter / Both]245**Templates Used:** [list]246**Posts Generated:** [count]247248---249250## Angle Summary251252**Core insight:** [one sentence]253**Audience pain:** [what problem this addresses]254**Contrarian angle:** [if applicable]255**Proof available:** [personal story, data, examples]256257---258259## Post 1: Story260**Trigger:** [Entertains / Empathizes]261262### LinkedIn263[Full post text]264265### Twitter/X266[Full post or thread]267268---269270## Post 2: Observation271**Trigger:** [Teaches / Makes me think]272273### LinkedIn274[Full post text]275276### Twitter/X277[Full post text]278279---280281[Continue for all posts...]282283---284285## Trigger Balance286287| Trigger | Count |288|---------|-------|289| Entertains | X |290| Teaches | X |291| Empathizes | X |292| Makes me think | X |293```294295## Rules296297- The first line of every post is the post. If the hook doesn't work, nothing else matters.298- Specificity beats cleverness. "Save 12 hours/week on reporting" beats "Work smarter, not harder."299- Write in the audience's language. If they say "clients" not "customers," your post says "clients."300- Story posts require real (or realistic) personal experience. If the user doesn't provide anecdotes, ask for them.301- Not every template works for every topic. If there's no contrarian angle, skip Contrarian Take and generate a second Observation or Listicle instead.302- These templates are frameworks, not fill-in-the-blanks. The output should read like a human wrote it.303