Write one platform-native caption from a topic and brand voice, with a front-loaded hook, native length, and a single earned CTA. Use when the user gives a topic (and optionally brand voice or a described image/video) and asks for an Instagram, LinkedIn, X/Twitter, or TikTok caption. Do NOT use when the user wants a dedicated standalone LinkedIn post - use linkedin-post-writer instead; or a multi-post X thread - use tweet-thread-builder instead; or to adapt one existing piece of content into versions for several channels - use cross-platform-reformatter instead.
Click to play with sound.
---
name: Social Caption Writer
description: Write one platform-native caption from a topic and brand voice, with a front-loaded hook, native length, and a single earned CTA. Use when the user gives a topic (and optionally brand voice or a described image/video) and asks for an Instagram, LinkedIn, X/Twitter, or TikTok caption. Do NOT use when the user wants a dedicated standalone LinkedIn post - use linkedin-post-writer instead; or a multi-post X thread - use tweet-thread-builder instead; or to adapt one existing piece of content into versions for several channels - use cross-platform-reformatter instead.
---
# Social Caption Writer
Turn a topic plus brand voice into one platform-native caption that wins the first line and earns one specific action.
## Workflow
1. Confirm the platform (Instagram, LinkedIn, X/Twitter, or TikTok). If unstated, ask - every length, shape, and CTA below is platform-specific.
2. Pin the brand voice. Use the traits the user gave. If they gave none, ask for 2-3 adjectives and one phrase the brand would never say before writing.
3. Check the paired asset. If an image or video is described, write the caption to complement it (don't restate what's visible). If undescribed, ask - the caption's job depends on what it ships with.
4. Reject thin or off-brand topics. If there's nothing to say, name that and propose a sharper angle instead of dressing up nothing.
5. Write the hook into the first sentence - before the truncation cutoff (~125 chars on Instagram, ~140 on LinkedIn, the first line on X, one breath on TikTok). Lead with tension, a number, a contrarian claim, or a stakes-raising question. Never open with throat-clearing context.
6. Fit native length and shape: Instagram 138-150 chars for punchy, or 1-3 tight paragraphs for storytelling; LinkedIn 1300-2000 chars with one-sentence lines and white space between them; X under 280, ideally ~100 so it breathes; TikTok short and curiosity-driven since the video carries the load. Use generous line breaks on Instagram and LinkedIn for mobile reading.
7. Carry voice in word choice and rhythm, not adjectives: cut exclamation points for a dry/technical brand; let fragments and asides through for a playful one.
8. End with exactly one specific CTA matched to platform behavior - saves/comments on Instagram, thoughtful replies on LinkedIn, reply/repost on X, follow/duet on TikTok. Make it concrete ("Save this for your next launch", not "engage with us"). Reference a link only when there's a real reason to leave the app.
## Quality bar
- The first sentence stands alone as a reason to keep reading, with no context preamble before it.
- Length and line-break shape match the chosen platform's range above.
- The brand's voice is detectable in the verbs and rhythm, not just a sign-off.
- Exactly one CTA, specific and matched to how people act on that platform.
- Emojis used as accents, never as punctuation replacements.