instagram-caption
Skill0 starsChanged 11 days agoMITView on GitHub
Write an Instagram caption that works before the "… more" cut (first line, body, one call to action, search words, up to five hashtags), often with a "Comment KEYWORD" ask that a Saypage DM automation answers; check it, and publish it with Saypage when the user asks. Use for requests like "I need text for this post", "which hashtags should I use", "help me with the description of my Reel", or when a post is ready but has no caption.
In this repository16 other files it gives its agents.
- carousel-postSkill
- comment-repliesSkill
- content-calendarSkill
- dm-writingSkill
- funnel-reviewSkill
- natural-voiceSkill
- offer-finderSkill
- opportunity-scanSkill
- performance-reviewSkill
- profile-reviewSkill
- reel-analysisSkill
- reel-funnelSkill
- reel-scriptSkill
- repurpose-contentSkill
- sales-planSkill
- saypageSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 68
Write alt text for photos and carousels: one sentence on what the image shows.
- Distinctive: line 70
Write in the audience's language.
- Distinctive: line 78
Every fact comes from the user.
- Very specific: line 94
Only when the user asks. If get_account shows can_publish_posts, the caption goes into prepare_instagram_post (photos and carousels) or …
- Very specific: line 100
After publishing, list_instagram_posts shows the post with its comment_keyword: if an automation was meant to answer it, make sure it is …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Instagram caption
A caption has one moment that matters: the line people see before "… more". Everything else is for the few who tap, and for Instagram search.
1. Decide who speaks first
- Video-led (a Reel that opens on a spoken or on-screen hook): people read the caption after the video caught them, so it adds rather than repeats: the context, the details, the ask, the words people search for.
- Caption-led (a photo, a carousel, a product shot): the image cannot say much on its own, so the caption's first line does the catching.
Tell the user which case this is.
2. The first line
The feed shows about the first 125 characters (two lines on a phone) before "… more". Make them stand alone, and end on something that makes people tap, not in the middle of a word. Count the characters. Never open on a greeting, a hashtag, an @mention, "New post!" or the brand name alone.
3. The body
- Short paragraphs, a blank line between them.
- Two or three phrases people would type into Instagram search, inside normal sentences ("sourdough for beginners", "brunch in Lyon"). Search reads the caption's words, which now do more than hashtags.
- The useful details: quantities, timings, prices, address, opening hours, dates. Only facts the user gave you.
- Rarely more than about 1,000 characters. Instagram stops at 2,200.
4. One ask
Pick one: save it, send it to someone, follow, open the link in bio, or comment a keyword. Two asks split the response.
The keyword ask is the strongest when there is something to send (a recipe, a menu, a guide, a price list, a booking link): links in captions are not clickable, and "link in bio" loses people on the way. With Saypage, a comment-to-DM automation answers it:
- The keyword: one short word, no spaces, no accents, no emoji (Saypage matches
accents and emoji exactly, so
RESAis safer thanRÉSA), different from the post's other keywords. Write it in capitals: "Comment GUIDE and I'll send you the guide by DM." Say it in the video too. - Check that something answers it:
list_automations. If no automation covers this post and keyword, offer to set one up (see "Automations" in thesaypageskill), best with a page made for this post that delivers what the caption promises. Ask before creating it. On the Free plan it is built as a draft and goes live with a plan that includes automations ("Plans" in thesaypageskill). - Promise only what the DM delivers.
5. Hashtags
Up to five: Instagram has capped posts at five hashtags since December 2025. They label
the topic for Instagram, they do not buy reach. Specific beats broad (#sourdoughbaking
over #food); local businesses add a place (#lyonfood). Skip #explore, #reels,
#viral and #fyp. Put them at the end, or use none.
6. Mentions, alt text, language
- @mention only people or brands that are in the post (a collaborator, a supplier).
- Write alt text for photos and carousels: one sentence on what the image shows. Saypage
takes it as
alt_textsinprepare_instagram_post. - Write in the audience's language. For a bilingual audience, ask whether they want one language per post or both (the main one first).
7. Check before you show it
- The first 125 characters make sense alone.
- One ask, and a keyword that an automation answers (or the user knows it needs one).
- Five hashtags at most, no URL in the caption.
- Every fact comes from the user.
- The
natural-voicepass is done.
Output
The caption in a code block, ready to copy, then a short check:
First line 112 characters, ends before the cut
Ask Comment GUIDE (no automation on this post yet: set one up?)
Search words "sourdough starter", "beginner bread"
Hashtags 3Publishing it
Only when the user asks. If get_account shows can_publish_posts, the caption goes into
prepare_instagram_post (photos and carousels) or publish_instagram_video (Reels), as
the saypage skill describes: show the final caption, wait for the go-ahead, publish once.
Otherwise the user pastes it in the Instagram app. Saypage cannot change a caption after
publishing or delete a post: the user does both in the app.
After publishing, list_instagram_posts shows the post with its comment_keyword: if an
automation was meant to answer it, make sure it is active.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

