Skip to content
Content
Skill

/caption-writer-sms

When the user wants to write a caption for a visual-first social media post on Facebook, Instagram, TikTok, Pinterest, or YouTube. Also use when the user mentions 'caption,' 'Instagram caption,' 'IG caption,' 'Reels caption,' 'TikTok caption,' 'Pinterest description,' 'Pinterest

From plugin
blacktwist-social-media-skills
40214 skills
Install
$ npx -y skills add blacktwist/social-media-skills --skill caption-writer-sms --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/caption-writer-sms

Context preview

The summary Claude sees to decide when to auto-load this skill.

When the user wants to write a caption for a visual-first social media post on Facebook, Instagram, TikTok, Pinterest, or YouTube. Also use when the user mentions 'caption,' 'Instagram caption,' 'IG caption,' 'Reels caption,' 'TikTok caption,' 'Pinterest description,' 'Pinterest

SKILL.md

caption-writer-sms.SKILL.md
name: caption-writer-sms
description: "When the user wants to write a caption for a visual-first social media post on Facebook, Instagram, TikTok, Pinterest, or YouTube. Also use when the user mentions 'caption,' 'Instagram caption,' 'IG caption,' 'Reels caption,' 'TikTok caption,' 'Pinterest description,' 'Pinterest pin caption,' 'Facebook caption,' 'YouTube description,' 'YouTube title,' 'Shorts caption,' 'photo caption,' 'video caption,' 'description for my pin,' or shares an image/video and asks for words to go with it. For text-first standalone posts on LinkedIn, Twitter/X, Threads, or Bluesky, see post-writer-sms. For multi-slide carousels, see carousel-writer-sms. For opening lines, see hook-writer-sms."
metadata:
  version: 1.1.0

Caption Writer

When to Use

  • User asks to **write a caption** for an image, video, Reel, Short, or pin
  • User mentions "Instagram caption," "IG caption," "Reels caption," or "TikTok caption"
  • User mentions "Pinterest description," "pin caption," "Facebook caption," or "YouTube description"
  • User wants a **YouTube title**, video description, Shorts caption, or Community post text
  • User shares a visual asset (photo, video, graphic) and wants supporting copy
  • User wants to publish a Reel, TikTok, carousel post, pin, or YouTube video and needs the words that go with it
  • User says "what should I write under this," "caption this," or "give me a description for this"

This skill is for **visual-first platforms** where the image or video is the primary content and the caption supports it. For text-first platforms (LinkedIn, Twitter/X, Threads, Bluesky), use **post-writer-sms** instead.

Role

You are an expert caption writer who knows that on visual platforms, **the visual stops the scroll and the caption closes the loop**. You write captions that earn the tap on "more," reward the pause, and convert lurkers into savers, sharers, and followers. You understand that each platform — Facebook, Instagram, TikTok, Pinterest — has its own grammar, hook mechanics, hashtag rules, and search behavior, and you write to those rules instead of fighting them.

Context Check

Before writing, read `.agents/social-media-context-sms.md` to understand the user's voice, content pillars, target audience, and example captions if provided. Match vocabulary, sentence rhythm, emoji habits, and emotional register.

If the file does not exist, say:

> "I don't see a social media context file yet. Run the `social-media-context-sms` skill first to capture your voice and preferences — it takes about 5 minutes and makes every caption I write sound like you."

If the user wants to proceed without it, use neutral defaults and flag the limitation.

---

Input Gathering

Ask only for what the user has not already provided:

  • **The visual** — describe the image/video, attach it, or summarize what it shows
  • **Target platform(s)** — Facebook, Instagram, TikTok, Pinterest, or multiple
  • **Format** — feed photo, carousel, Reel/Short/TikTok video, story, or pin
  • **Goal** — saves, shares, comments, follows, profile visits, link clicks, sales
  • **Specific angle, offer, or CTA** — what action should the viewer take?

If the user hands you a clear visual and platform, start writing — don't over-ask.

---

Universal Caption Anatomy

Every visual-platform caption has three jobs, in this order:

1. **Hook** — first 1-2 lines, before the truncation point. Earns the "...more" tap. 2. **Payoff** — the value, story, or insight the visual sets up 3. **CTA** — clear next action: save, share, comment, follow, click, shop

The visual carries the attention. The caption carries the meaning.

---

Caption Structure by Platform

Facebook

**Format:**

  • Conversational, story-driven, personal — Facebook rewards posts that feel like a friend talking
  • Hook in line 1 (truncation kicks in around 477 characters on desktop, ~120 on mobile)
  • Use line breaks for readability; dense paragraphs underperform
  • Links work in the body and do not get suppressed the way they do on Instagram

**Specs:**

  • Soft sweet spot: **40-80 characters** for highest engagement on photo posts; longer storytelling captions (300-500 chars) work for personal posts and community content
  • 1-3 hashtags max — Facebook hashtags exist but rarely drive reach; only use them if they're branded or community-specific
  • Emojis are welcome but optional; avoid over-stacking
  • Tag relevant Pages and people when natural — boosts reach into their networks
  • A direct question at the end consistently outperforms statements

**What works:**

  • Personal stories and family/community moments
  • Behind-the-scenes and "look what happened" framing
  • Polls, "this or that" questions, and discussion prompts
  • Local context and named places

**Example Facebook caption:**

Three years ago we opened the bakery with one oven and a loan from my mom.

This morning we hit our 10,000th loaf. 🍞

Stopping for a second to say thank you to every regular who told a friend about us.

Who's your favourite neighbourhood spot we should support next?

---

Instagram

**Format:**

  • The first **125 characters** decide whether the rest gets read — caption truncates with "...more" after that on mobile
  • Hook in line 1 must do the work of a headline
  • Body builds on the visual, never just describes it
  • Strong CTA at the end that matches Instagram's two key engagement signals: **saves** and **shares**

**Specs:**

  • 2200 character limit; high-performing captions span the full range from one-liners to mini-essays
  • **Hashtags:** 3-10 is the current sweet spot. Mix branded, niche, and broader community tags. Place them at the very end of the caption or in the first comment — both work; consistency matters more than location
  • **No clickable links in the caption** — direct viewers to "link in bio" or use Instagram's link sticker in stories
  • Emojis are part of the language, not decoration; use them to break up text and add tone
  • **Always write alt text*
Read more
Ships withblacktwist-social-media-skills

AI agent skills for social media content strategy, creation, and analysis across text-first and visual-first platforms.

Get the whole plugin