Social Media Posts logo

Social Media Posts

CommunityPopular
jezweb
social-media-posts

Create 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-platform campaign. Produces copy-paste-ready posts. Triggers: 'social media post', 'linkedin post', 'facebook post', 'instagram caption', 'reddit post', 'social posts', 'post to social', 'repurpose for social', 'social media campaign'.

Overview

Publisherjezweb
Repositoryclaude-skills
Skill namesocial-media-posts
Stars
1K
Forks
102
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by jezweb on GitHub. Read the source before you install it.

Installation

Install the Social Media Posts AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/jezweb/claude-skills.git /tmp/claude-skills
mkdir -p .claude/skills
cp -r /tmp/claude-skills/plugins/social-media/skills/social-media-posts .claude/skills/social-media-posts
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Social Media Posts in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Social Media Posts on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Social Media Posts is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Social Media Post Generator

Create platform-specific social media posts that respect each platform's conventions, character limits, and audience expectations. Produces copy-paste-ready content.

Modes

From Scratch

User provides topic + key points. Generate posts for selected platforms.

From Content

User provides existing content (blog post, newsletter, announcement, press release). Repurpose into platform-appropriate posts.

Campaign

Generate a coordinated set of posts across all platforms for a single launch, announcement, or event. Includes posting sequence and timing suggestions.

Workflow

1. Gather Input

FieldRequiredExample
Topic or source contentYes"We just launched a new feature" or path to blog post
Target platformsYesLinkedIn, Facebook, Instagram, Reddit
ToneNoProfessional, casual, enthusiastic, educational
CTANo"Try it free", "Read more", "Comment your thoughts"
Link to includeNohttps://example.com/blog/new-feature
Image available?NoYes/no — affects post structure

If the user provides a file path or URL to existing content, read it first and extract the key messages.

2. Generate Per-Platform Posts


LinkedIn

Audience: Professionals, B2B, industry peers Tone: Authoritative but approachable, thought-leadership Optimal length: 1,200–1,500 characters (longer posts perform well)

Structure:

[Hook line — must grab attention before "see more" truncation]
[blank line]
[2-3 short paragraphs with line breaks between]
[blank line]
[CTA or question to drive comments]
[blank line]
[3-5 relevant hashtags]

Rules:

  • Hook must work in first 2 lines (before "…see more" at ~210 chars)
  • Use line breaks liberally — wall-of-text kills engagement
  • Ask a question at the end to drive comments
  • Hashtags: 3-5 max, mix broad (#Marketing) and niche (#CloudflareWorkers)
  • Links in comments perform better than in post body (algorithm penalty)
  • No emoji overload — 1-2 max, or none for serious topics

Image specs: 1200×627px (1.91:1) for link preview, or 1080×1080 (1:1) for standalone

Example:

We just shipped something we've been building for 6 months.

It started as a "wouldn't it be nice if…" conversation and turned
into our most requested feature. Here's what we learned:

→ Users don't want more features. They want fewer clicks.
→ The prototype we almost killed became the final product.
→ Shipping weekly forced us to cut scope ruthlessly.

The full story is in our latest blog post (link in comments).

What's the hardest product decision you've made this year?

#ProductDevelopment #StartupLife #BuildInPublic

Facebook

Audience: Mixed — friends, family, community, local businesses Tone: Conversational, warm, community-focused Optimal length: 80–150 characters for engagement, up to 500 for storytelling

Structure:

[Opening hook — conversational, relatable]
[1-2 short paragraphs]
[Link (if applicable) — Facebook generates preview cards]
[Engagement prompt — question or poll]

Rules:

  • Link posts: Facebook auto-generates a preview card — don't repeat the headline in your text
  • Short posts (under 130 chars) get larger text rendering in feed
  • Questions and polls drive highest engagement
  • Tag relevant pages when mentioning partners/clients
  • Hashtags: 1-3 or none — Facebook hashtags are less effective than other platforms
  • Emojis are welcome but don't overdo (2-3 max)

Image specs: 1200×630px (1.91:1) for link preview, 1080×1080 (1:1) for photo posts

Example:

6 months ago we started building something our users kept asking for.
Today it's live. 🚀

We wrote up the full story — the pivots, the almost-killed prototype,
and why "fewer clicks" won over "more features."

[link]

What feature have you shipped that surprised you?

Instagram

Audience: Visual-first, younger demographic, lifestyle/brand-focused Tone: Authentic, visual storytelling, personality-forward Optimal length: Key message in first 125 chars (truncation point), full caption up to 2,200

Structure:

[First line — must work as standalone (before "…more")]
[blank line]
[Story or detail — 2-4 short paragraphs]
[blank line]
[CTA — save, share, comment, link in bio]
.
.
.
[Hashtags — in first comment OR separated by dots]

Rules:

  • First 125 characters must carry the message (everything after is hidden behind "…more")
  • No clickable links in captions — direct to "link in bio"
  • Hashtags: 20-30 in first comment (not in caption) for discoverability
  • Mix hashtag sizes: 5 large (1M+ posts), 10 medium (100K-1M), 10 niche (<100K)
  • Emojis are part of the language — use them naturally
  • Carousel posts: include a swipe CTA ("Swipe for the full breakdown →")
  • Stories: prompt action ("Reply with 🔥 if you relate")

Image specs: 1080×1080 (1:1) feed, 1080×1350 (4:5) portrait, 1080×1920 (9:16) stories/reels

Example:

We shipped our most requested feature today. Here's the story 👇

Six months ago, someone on our team said "wouldn't it be nice
if users could do this in one click instead of five?"

We almost killed the prototype twice. But our users kept asking
for it. So we shipped it.

The biggest lesson? Your users don't want more features.
They want fewer clicks.

Full story → link in bio

💬 What's one feature you wish was simpler in your favourite app?

First comment:

#ProductLaunch #StartupLife #BuildInPublic #TechStartup
#ProductDevelopment #UXDesign #SaaS #FeatureLaunch
[... 20-30 total hashtags]

Reddit

Audience: Community-specific, values authenticity, allergic to marketing Tone: Genuine, value-first, conversational, never salesy Optimal length: Title 100-150 chars, body varies by subreddit

Structure:

Title: [Descriptive, value-focused — NOT clickbait]

Body:
[Context — why this matters to this community]
[The substance — what you learned, built, or discovered]
[Optional: link to more detail]
[Discussion prompt — genuine question]

Rules:

  • Title is everything — Reddit lives and dies by titles
  • NO self-promotion feel — lead with value, not product
  • Each subreddit has different norms — check the rules before posting
  • Don't use hashtags (not a Reddit convention)
  • Don't use emojis in titles (feels out of place on most subreddits)
  • Share the insight, not the product. "Here's what we learned" > "Check out our new feature"
  • Cross-posting: adapt tone per subreddit (r/startups vs r/webdev vs r/smallbusiness)

Subreddit suggestions by topic:

TopicSubreddits
Product launchr/SideProject, r/startups, r/indiehackers
Web devr/webdev, r/javascript, r/reactjs
Designr/web_design, r/UI_Design
Businessr/smallbusiness, r/Entrepreneur
Techr/programming, r/technology

Example:

Title: After 6 months of building, the biggest lesson was
"users want fewer clicks, not more features"

We built a feature our users kept requesting. Halfway through
we almost killed it because the prototype felt clunky.

What saved it: we stopped adding capabilities and started
removing steps. The final version does less than the prototype
but users complete the task in 1 click instead of 5.

Three things I'd tell past-me:
1. Prototype with your heaviest users, not your most vocal ones
2. "Ship weekly" forces you to cut scope — that's a feature
3. The thing users ask for and the thing they need are different

Anyone else had a similar experience where removing features
improved the product?

3. Image Recommendations

For each platform, suggest image requirements:

PlatformFormatDimensionsNotes
LinkedInPNG/JPG1200×627Text overlay OK, keep key message in centre
FacebookPNG/JPG1200×630Minimal text (old 20% rule still affects reach)
InstagramPNG/JPG1080×1080Visual-first — image must work without caption
RedditPNG/JPGVariesOptional — text posts often perform better

If the ai-image-generator skill is available, suggest using it to generate companion images with the right aspect ratios.

4. Output Format

Present each post in a clearly labelled block:

═══ LINKEDIN ═══
[post content]

═══ FACEBOOK ═══
[post content]

═══ INSTAGRAM (Caption) ═══
[caption content]

═══ INSTAGRAM (First Comment — Hashtags) ═══
[hashtags]

═══ REDDIT (r/subreddit) ═══
Title: [title]
Body: [body]

Save to .jez/artifacts/social-posts-[topic].md if the user wants to keep them for scheduling.

Campaign Mode

For launches or announcements, generate a posting sequence:

TimingPlatformPost type
Day -1LinkedInTeaser / behind-the-scenes
Day 0 (morning)All platformsAnnouncement post
Day 0 (afternoon)Instagram StoriesQuick video/carousel
Day +1RedditValue-focused discussion
Day +3LinkedInResults/learnings follow-up
Day +7FacebookCustomer reaction / testimonial

Quality Rules

  1. Never copy-paste the same text across platforms — each platform has different conventions
  2. No corporate jargon — "leverage our synergies" belongs nowhere
  3. Front-load the value — every platform truncates. The first line must work standalone.
  4. Match the platform culture — LinkedIn is not Instagram is not Reddit
  5. Include a reason to engage — question, poll, or genuine discussion prompt
  6. Check character limits — LinkedIn (3,000), Facebook (63,206), Instagram caption (2,200), Reddit title (300)
  7. Never fake engagement — no "Drop a 🔥 if you agree" on LinkedIn, no hashtag spam on Reddit

Frequently asked questions

What does the Social Media Posts AI skill do?

Create 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-platform campaign. Produces copy-paste-ready posts. Triggers: 'social media post', 'linkedin post', 'facebook post', 'instagram caption', 'reddit post', 'social posts', 'post to social', 'repurpose for social', 'social media campaign'.

Why use Social Media Posts on TypingMind?

Because you install it once and use it with any model. Social Media Posts is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Social Media Posts in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/jezweb/claude-skills/tree/main/plugins/social-media/skills/social-media-posts. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Social Media Posts?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Social Media Posts?

As many as you like. As long as a model supports skills, you can use Social Media Posts with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Social Media Posts AI skill free?

Yes. It is published on GitHub by jezweb under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇