$npx -y skills add jezweb/claude-skills --skill social-media-postsCreate platform-specific social media posts for LinkedIn, Facebook, Instagram, and Reddit. Handles character limits, hashtag strategies, hook placement, and image specs per platform. Works from scratch, from existing content (blog, newsletter, announcement), or as a multi-platfor
| 1 | # Social Media Post Generator |
| 2 | |
| 3 | Create platform-specific social media posts that respect each platform's conventions, character limits, and audience expectations. Produces copy-paste-ready content. |
| 4 | |
| 5 | ## Modes |
| 6 | |
| 7 | ### From Scratch |
| 8 | User provides topic + key points. Generate posts for selected platforms. |
| 9 | |
| 10 | ### From Content |
| 11 | User provides existing content (blog post, newsletter, announcement, press release). Repurpose into platform-appropriate posts. |
| 12 | |
| 13 | ### Campaign |
| 14 | Generate a coordinated set of posts across all platforms for a single launch, announcement, or event. Includes posting sequence and timing suggestions. |
| 15 | |
| 16 | ## Workflow |
| 17 | |
| 18 | ### 1. Gather Input |
| 19 | |
| 20 | | Field | Required | Example | |
| 21 | |-------|----------|---------| |
| 22 | | Topic or source content | Yes | "We just launched a new feature" or path to blog post | |
| 23 | | Target platforms | Yes | LinkedIn, Facebook, Instagram, Reddit | |
| 24 | | Tone | No | Professional, casual, enthusiastic, educational | |
| 25 | | CTA | No | "Try it free", "Read more", "Comment your thoughts" | |
| 26 | | Link to include | No | https://example.com/blog/new-feature | |
| 27 | | Image available? | No | Yes/no — affects post structure | |
| 28 | |
| 29 | If the user provides a file path or URL to existing content, read it first and extract the key messages. |
| 30 | |
| 31 | ### 2. Generate Per-Platform Posts |
| 32 | |
| 33 | --- |
| 34 | |
| 35 | |
| 36 | |
| 37 | **Audience**: Professionals, B2B, industry peers |
| 38 | **Tone**: Authoritative but approachable, thought-leadership |
| 39 | **Optimal length**: 1,200–1,500 characters (longer posts perform well) |
| 40 | |
| 41 | **Structure**: |
| 42 | ``` |
| 43 | [Hook line — must grab attention before "see more" truncation] |
| 44 | [blank line] |
| 45 | [2-3 short paragraphs with line breaks between] |
| 46 | [blank line] |
| 47 | [CTA or question to drive comments] |
| 48 | [blank line] |
| 49 | [3-5 relevant hashtags] |
| 50 | ``` |
| 51 | |
| 52 | **Rules**: |
| 53 | - Hook must work in first 2 lines (before "…see more" at ~210 chars) |
| 54 | - Use line breaks liberally — wall-of-text kills engagement |
| 55 | - Ask a question at the end to drive comments |
| 56 | - Hashtags: 3-5 max, mix broad (#Marketing) and niche (#CloudflareWorkers) |
| 57 | - Links in comments perform better than in post body (algorithm penalty) |
| 58 | - No emoji overload — 1-2 max, or none for serious topics |
| 59 | |
| 60 | **Image specs**: 1200×627px (1.91:1) for link preview, or 1080×1080 (1:1) for standalone |
| 61 | |
| 62 | **Example**: |
| 63 | ``` |
| 64 | We just shipped something we've been building for 6 months. |
| 65 | |
| 66 | It started as a "wouldn't it be nice if…" conversation and turned |
| 67 | into our most requested feature. Here's what we learned: |
| 68 | |
| 69 | → Users don't want more features. They want fewer clicks. |
| 70 | → The prototype we almost killed became the final product. |
| 71 | → Shipping weekly forced us to cut scope ruthlessly. |
| 72 | |
| 73 | The full story is in our latest blog post (link in comments). |
| 74 | |
| 75 | What's the hardest product decision you've made this year? |
| 76 | |
| 77 | #ProductDevelopment #StartupLife #BuildInPublic |
| 78 | ``` |
| 79 | |
| 80 | --- |
| 81 | |
| 82 | |
| 83 | |
| 84 | **Audience**: Mixed — friends, family, community, local businesses |
| 85 | **Tone**: Conversational, warm, community-focused |
| 86 | **Optimal length**: 80–150 characters for engagement, up to 500 for storytelling |
| 87 | |
| 88 | **Structure**: |
| 89 | ``` |
| 90 | [Opening hook — conversational, relatable] |
| 91 | [1-2 short paragraphs] |
| 92 | [Link (if applicable) — Facebook generates preview cards] |
| 93 | [Engagement prompt — question or poll] |
| 94 | ``` |
| 95 | |
| 96 | **Rules**: |
| 97 | - Link posts: Facebook auto-generates a preview card — don't repeat the headline in your text |
| 98 | - Short posts (under 130 chars) get larger text rendering in feed |
| 99 | - Questions and polls drive highest engagement |
| 100 | - Tag relevant pages when mentioning partners/clients |
| 101 | - Hashtags: 1-3 or none — Facebook hashtags are less effective than other platforms |
| 102 | - Emojis are welcome but don't overdo (2-3 max) |
| 103 | |
| 104 | **Image specs**: 1200×630px (1.91:1) for link preview, 1080×1080 (1:1) for photo posts |
| 105 | |
| 106 | **Example**: |
| 107 | ``` |
| 108 | 6 months ago we started building something our users kept asking for. |
| 109 | Today it's live. 🚀 |
| 110 | |
| 111 | We wrote up the full story — the pivots, the almost-killed prototype, |
| 112 | and why "fewer clicks" won over "more features." |
| 113 | |
| 114 | [link] |
| 115 | |
| 116 | What feature have you shipped that surprised you? |
| 117 | ``` |
| 118 | |
| 119 | --- |
| 120 | |
| 121 | |
| 122 | |
| 123 | **Audience**: Visual-first, younger demographic, lifestyle/brand-focused |
| 124 | **Tone**: Authentic, visual storytelling, personality-forward |
| 125 | **Optimal length**: Key message in first 125 chars (truncation point), full caption up to 2,200 |
| 126 | |
| 127 | **Structure**: |
| 128 | ``` |
| 129 | [First line — must work as standalone (before "…more")] |
| 130 | [blank line] |
| 131 | [Story or detail — 2-4 short paragraphs] |
| 132 | [blank line] |
| 133 | [CTA — save, share, comment, link in bio] |
| 134 | . |
| 135 | . |
| 136 | . |
| 137 | [Hashtags — in first commen |