agentsclimarketplace

Ig caption writer

Skill sergebulaev/instagram-skills/.codex-marketplace/instagram-skills/skills/ig-caption-writer

Draft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).From its SKILL.md

Install
npx -y skills add sergebulaev/instagram-skills --skill ig-caption-writer

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.6 KB, as published. Nobody here has run it

Instagram Caption Writer

Write a caption that earns the tap and the save. Instagram hides everything after ~125 characters behind "more", so the hook does the entire job in the first line. This skill front-loads that hook, keeps the body skimmable, and lands one clear call to action.

When to use

  • User says "write me an Instagram caption about X"
  • User has a single image or a Reel and needs the caption around it
  • User wants a sharper hook for a draft they already have
  • User wants a caption that auto-publishes with their media on approval

Formulas this skill uses (caption-first shapes)

CodeFormulaPrimary goalBest for
IG1Number-First Resultsavesone odd-precision result + a "steal this" promise
IG2Contrarian Truthsharesa sharp, defensible against-the-grain claim
IG3Relatable Cold-Opencommentsa specific shared moment, no setup
IG4Mini-Story Confessioncomments, followsa real first-person story with a cost

Full skeletons in ../../references/hook-formulas.md. For carousels (IG5-IG8) use ig-carousel-planner; for Reels (IG9-IG10) the hook lives in the video, and this skill writes the supporting caption.

Pick by goal first

GoalReach for
SavesIG1
SharesIG2
CommentsIG3, IG4
FollowsIG4

Steps

Voice profile first (all drafts). If ../../references/voice-profile.md has filled: yes, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that ig-humanizer --mode profile can learn their voice from a few posts, then proceed with the generic voice rules.

  1. Gather inputs. Topic, angle, the media (single image or Reel), target audience, and the goal (saves / shares / comments / follows).
  2. Pick the formula. Use the goal table to shortlist, then suggest 2-3 that also fit the topic and let the user choose.
  3. Write the hook (first 125 chars). It must land the payoff, tension, or number before the "more" fold and make sense on its own.
  4. Write the body. Short lines, white space between beats, one idea. Teach or tell the story that the hook promised. Keep it under 2,200 chars.
  5. Write one CTA. A specific save or send prompt ("save this for your next launch", "send to the friend who keeps doing #2"), a real question, or a single next step. Never "what do you think?".
  6. Add hashtags. Hand off the topic to ig-hashtag-strategist or apply the 3-5 sized set yourself (see ../../references/hashtag-strategy.md). Put them at the end or note they go in the first comment.
  7. Humanizer pass. Strip em dashes, AI vocab, rule-of-three, generic openers. Add a specific number or named entity where the claim allows.
  8. Optional audit. Invoke ig-humanizer --mode audit for a pass-fail check.
  9. Approval card. Show: formula used, the hook (flag if over 125 chars), full caption, char count, hashtag set, primary goal, and the media the user must supply.
  10. On approval, publish with media. Call lib.publish(kind="post", draft_text=<approved caption>, target_url="https://www.instagram.com/", media=[<local file paths>], platforms=[<INSTAGRAM_PLATFORM_ID>], scheduled_time=<iso_or_None>). For a Reel pass kind="reel". The wrapper runs the Publora draft then upload then schedule flow. With no media or no Publora key it returns a copy-paste block and a reminder to attach the media.

Hard rules

Global voice rules: see root SKILL.md Voice rules. Additional skill-specific rules:

  • The first 125 characters must stop the scroll on their own. Rewrite any hook that needs the second line to make sense.
  • One idea per caption. Two ideas means two posts.
  • One specific number where the claim allows it.
  • 3-5 sized hashtags, never 30. 0-3 emoji, placed with intent.
  • Media is required. Never present a caption as publishable without reminding the user to attach the image or video.
  • Do not hard-sell. One natural mention of the next step, max.

Anti-patterns (skill will refuse)

  • A hook that only makes sense after the fold.
  • Em dashes anywhere.
  • "Let's talk about.." or "Here's the thing.." openers.
  • 20-30 hashtags stuffed at the top.
  • Engagement bait ("double tap if you agree", "comment YES").
  • Rule-of-three lists without specifics.
  • "leverage", "fundamentally", "game-changer", "level up", "dive in".
  • Padding a one-line idea to look substantial.

Resources

  • ../../references/hook-formulas.md - all 10 Instagram formulas (IG1-IG4 are caption-first)
  • ../../references/algorithm-heuristics.md - 2026 Instagram ranking rules
  • ../../references/hashtag-strategy.md - the 3-5 sized hashtag recipe
  • ../../references/media-workflow.md - the draft, upload, schedule flow
  • references/caption-checklist.md - the per-caption scrub and fit list

Related skills

  • ig-carousel-planner - when the idea is a slide-by-slide carousel
  • ig-hashtag-strategist - build the sized hashtag set
  • ig-humanizer - AI-tell scrubber, plus --mode audit for review
  • ig-hook-extractor - reverse-engineer a hook from a post you admire

What ships with it: 1 file

1.9 KB alongside SKILL.md

references/

Gives 0 of the 12 instructions most docs writing skills give

Counted across 1,951 of the 3,904 authors here whose files we hold, read 2026-09-06

  • Use third-person for skill descriptionsin 54 of 1951, across 35 files
  • Start descriptions with Use whenin 43 of 1951, across 29 files
  • Run baseline scenarios before writing any skillin 40 of 1951, across 26 files
  • Use active voicein 40 of 1951, across 36 files
  • Map file responsibilities before defining tasksin 36 of 1951, across 29 files
  • Use checkbox syntax for tracking stepsin 35 of 1951, across 27 files
  • Ask one question at a timein 35 of 1951
  • Offer execution options after saving the planin 33 of 1951, across 24 files
  • Include complete code in every stepin 33 of 1951, across 27 files
  • Design units with clear boundaries and interfacesin 31 of 1951, across 23 files
  • Announce the skill usage at the startin 30 of 1951
  • Verify agent compliance after adding the skillin 29 of 1951, across 17 files

Said here and by no other author read

  • rewrite the hook for the 125 character fold
  • present an approval card with post details
  • Gather topic, angle, media, audience, and goal
  • Suggest 2-3 formulas based on the goal
  • Keep body skimmable with short lines
  • Invoke audit mode for a pass-fail check

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.

Keep looking

Skills are one crate of 626,194. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.