ai-image-editing
The AI image-editing router — inpainting/object removal, background removal, upscaling, outpainting, old-photo restoration, and retouch, routed task-first to…
Use to write platform-native social media captions (post copy) in the brand's voice — the words that accompany a post on Instagram, LinkedIn, TikTok, Facebook, X/Twitter, Threads, Pinterest, YouTube, or Bluesky. Run when the user says "write a caption," "caption this," "post
$ npx -y skills add social-media-skills/skills --skill caption-writer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/caption-writerContext preview
The summary Claude sees to decide when to auto-load this skill.
Use to write platform-native social media captions (post copy) in the brand's voice — the words that accompany a post on Instagram, LinkedIn, TikTok, Facebook, X/Twitter, Threads, Pinterest, YouTube, or Bluesky. Run when the user says "write a caption," "caption this," "post
name: caption-writer description: >- Use to write platform-native social media captions (post copy) in the brand's voice — the words that accompany a post on Instagram, LinkedIn, TikTok, Facebook, X/Twitter, Threads, Pinterest, YouTube, or Bluesky. Run when the user says "write a caption," "caption this," "post copy," "write the copy for this photo/video/Reel," "IG caption," "what should I write for this post," or needs the words to go with a visual. Reads brand-profile and voice first so captions sound like the brand, not generic AI. For long-form LinkedIn thought-leadership posts use linkedin-post-writer; for X/Threads multi-post threads use thread-writer; for video scripts use the video skills. This skill writes the caption itself. metadata: version: 1.0.0 license: MIT
A caption is not a description of the post. It's the part of the post that does the *work* — it stops the scroll, earns attention, and drives one action. Done well it carries the post; done generically it sinks even great visuals under emoji and hashtag noise.
Two principles run through everything here:
1. **The first line is the whole game.** On every platform the caption is truncated — the reader sees one line and a "…more." If that line doesn't earn the tap, the rest is never read. Write the first line like its only job is to win the second line. 2. **Every caption serves one goal.** Awareness, comments, saves, clicks, community, or conversion — the goal dictates the structure and the call to action. A caption "to get engagement" is a caption with no goal.
Load `brand-profile.md` and `voice.md` before writing a word. The voice fingerprint, the "never" list, and the brand guardrails are non-negotiable. A caption that doesn't sound like them is a failure even if it's clever. If neither exists, run `brand-profile` (and `voice-builder` if samples exist) first.
Don't write until you know these. Infer what you can; ask only what you can't:
shouldn't narrate what the eye already sees.
If the user gives you only "write a caption for this," ask at most one or two questions (usually platform + goal) and proceed.
Pick the caption **format** that fits the asset and point — story, value/how-to, hot take, question, behind-the-scenes, social proof, announcement, relatable (see `references/formats.md`). Then shape it with the **goal-driven structure** and CTA from `references/frameworks.md`. Format gives it a recognizable shape; goal gives it a job.
Spend disproportionate effort here. Draft 3–5 candidate opening lines and pick the one that most makes a stranger need the next line — within the platform's preview cutoff. Never waste the first line on a greeting, a hashtag, "Happy Monday!", or a restatement of the image. See `references/first-line.md`.
right length for the platform and goal (short isn't always better — match it). Use line breaks and whitespace where the platform rewards scannability.
add?", "link in bio"). Two CTAs split the action and kill both. Respect any "never hard-sell here" guardrails from the brand profile.
Apply the platform's current norms from `references/platforms.md`: how many hashtags (and whether to use any), where links go and whether they hurt reach, line-break rendering, and the ideal length. Getting mechanics wrong makes a good caption underperform.
Give the user **2–3 distinct caption options** (genuinely different angles or formats, not the same caption reworded), then recommend one with a one-line rationale tied to the goal. People choose faster from real alternatives than from a single take.
If the first line is weak, rewrite it before anything else. It's 80% of the result.
and flag that the first line may need tuning to the visual.
length, hashtags, and CTA to each platform's mechanics (see `cross-platform-repurposing` for doing this at scale).
forbidden claims, required disclaimers, careful CTAs.
people *into* slide 1; consider a "keep reading / swipe" nudge only if it fits the voice.
and say so; don't write a clickable-link CTA where links aren't clickable.
Give your AI agent the skills of a top-1% social media team. 106 of them, free.
The AI image-editing router — inpainting/object removal, background removal, upscaling, outpainting, old-photo restoration, and retouch, routed task-first to…
The AI music + sound-design skill for social -- original/licensed audio beds and sound design for Reels/TikToks/Shorts/videos. Use when someone needs…
Use to get a brand and its content CITED and RECOMMENDED by AI answer engines — the GEO (Generative Engine Optimization) / AI-search-visibility skill. Run when…
The model-agnostic AI-video router and brief — the counterpart to image-prompt. Use when someone asks "which AI video tool should I use," "make an AI video,"…
The AI narration / voiceover mini-skill (ElevenLabs-led). Use when someone wants an "AI voiceover," "narration," "text-to-speech for a video," "voice for my…
Social media analytics and reporting — read native platform data honestly and turn it into next actions. Use when someone wants to "check my analytics," "see…